270 Commits

Author SHA1 Message Date
DracoRPG
58dcd187b0 Mapcache update, should polish off remaining bugs
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13 20:24:08 +00:00
skotlex
7691130732 - cbasetypes now assumes that Mingwin does defines ssize_t
- Modified the guild master change ack packet to return the aid/cid of the new guild master instead of the index where it was, the previous method could cause problems in situations where the order of guild members would not match exactly between char/map servers.
- Updated the Soul Linker's Rogue Spirit Stealth's speed bonus to +60%, according to forum infor from ragnagate.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9985 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 16:11:20 +00:00
FlavioJS
2b42ec13cf - Added info on packet 0x86 (simple move packet). Not usable until a clear separation between entering sight/leaving sight/walking in sight is done.
- Propagating const char* from the script engine.
- ".gat" is appended to the map name before sending the changemapserver packet to the client.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09 01:49:50 +00:00
skotlex
9387ff566b - Made conv_str return const char* since the script engine screws up if you mess with the position of the terminator on the received string.
- Because of this, many functions that handled the return of conv_str need to be changed, I haven't finished doing the conversion process because I must go already, if someone else can continue, please do so (I will resume work on this in ~5 hours


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9978 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09 00:10:06 +00:00
DracoRPG
deb34a8ae5 New mapcache system :x
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9971 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-07 02:02:32 +00:00
skotlex
a0bfff19a1 - Removed delete_session from socket.h since it shouldn't be used by them.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04 22:51:22 +00:00
ultramage
5625383530 More tweaks to socket.c to simplify the code
- many generic cleanups - reformatting, useless code removal, etc
- made the mode_neg setting a compile-time decision, not a run-time one
- removed the silly frame_size setting (there since r1)
- added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9954 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04 21:06:28 +00:00
skotlex
c6d349bcee - Made it possible to modify the server packet version from the Makefile.
- Merged packet 2b22 (from my server) to handle quick fame updates whenever someone's fame in the ranking changes, but no position swaps take place (prevents having to resend the whole fame list in such events, you lazy Draco <.<)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9936 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28 16:42:34 +00:00
ultramage
49096125fb Applied a consistent look to all header files (copyright, ifdefs)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9891 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-21 15:09:20 +00:00
ultramage
84cb63e650 Minor stuff (typos, socket.c, junk in login reply packet)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9886 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-21 13:09:22 +00:00
skotlex
dabaf379a9 - The default packet version is now 8. Clients from November2006 and before can no longer get past the char-server unless you change it back to 7.
- Fixed Storm Gust counter freezing on fourth hit instead of third.
- Fixed @homstats not taking into consideration that the stat growth decimals get discarded on level up (so the real minimum/maximum displayed was off).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9868 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-15 18:22:56 +00:00
ultramage
1aa9c5ceca - Fixed the new socket code, which was triggering the inactivity timeout on the servers' listening sockets
- Fixed the TURBO code not working since r4468 (parse func never called)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9826 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-08 16:36:48 +00:00
ultramage
0729d61b56 * More aggressive cleaning up of the socket code
- removed unused session_data2 entry in sd
- added a new create_session() function, helps keep things cleaner (although it's ad-hoc and not perfect, since this is C)
- undid r4978 since it was getting in the way (re-add it if you need it)
- added defines for the recv, send and parse func pointers
- added null functions for the three actions, and made create_session() calls use those instead of NULL pointers; insignificant penalty and now:
- since all three funcs are always initialized, removed all those NULL checks 
- removed the efd set, since as the people from the developernet forums pointed out, it's only for out-of-band data and NOT for error checking (in fact, select() bails out without giving any info if it errors out)
- reorganized the randomly placed socket.c contents somewhat

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9822 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-08 01:33:40 +00:00
ultramage
3e4bef37b7 Wiped out the poorly written parse code from r2211
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9819 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07 20:30:22 +00:00
ultramage
148f3fca88 Cleaning up of the socket code
- Shuffled includes around for files that were leeching off of socket.h
- Added code that enforces standard shutdown behavior for sockets

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07 19:34:54 +00:00
FlavioJS
c46f3cf135 - Removed deprecated console code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9815 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07 06:25:00 +00:00
ultramage
a6f1e4972e Added string function strnlen
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9761 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01 19:19:26 +00:00
ultramage
7390d2d950 Removed graph, httpd and webserver
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9757 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01 01:33:37 +00:00
ultramage
d241d16d2a Some misc cleanups (typos, formatting, forgotten changelog entry etc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9733 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-28 01:30:15 +00:00
skotlex
d65e051707 - Added a wrapper to delete_timer so it prints out from where the invocation was done.
- Fixed some unsigned warnings.
- Fixed Splash attacks consuming 2 ammo on each attack.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9718 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-26 18:49:46 +00:00
skotlex
da11e41ed4 - Added view_data support to mercenary.*, so that the Homunculus entries are no longer required on the mob_db.
- Removed homunculus entries from mob_db.
- Added the status icon to NPC_CHANGEUNDEAD and the Flee/Hit foods
- Corrected the check that lets you walk when vending/chatting/etc.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9697 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-23 14:08:34 +00:00
ultramage
e034ce07bb Typo hunt
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9684 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-21 12:12:04 +00:00
FlavioJS
78ec0c3b38 yup, i need to rest... (also, copy-paste is eeeevil)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9649 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-12 20:28:11 +00:00
FlavioJS
fa8de3cb7e ups
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9648 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-12 17:15:53 +00:00
FlavioJS
a7ee9a9961 - Cleaned up the ip rules/DDoS section of the code. (the allow,deny and deny,allow cases were switched)
- Updated the information about ip rules and DDoS protection in packet_athena.conf and commented out the line "allow: all" so connections are rejected when a DDoS is detected.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-12 13:51:38 +00:00
FlavioJS
4b78fc3c9f - Changes to script buildin functions:
* functions checking if a player is attached as soon as possible.
  * functions that required a player attached and would crash if none was 
    there terminate the script now. (others keep the current behaviour to 
    maintain full backward compatibility)
  * removed the unused flag argument in guildskill.
  * bonus,bonus2,bonus3,bonus4 use the same function now (remains the same 
    script-wise)
  * added an optional parameter to setcart,setfalcon,setriding so it's 
    possible to remove the cart/falcon/mount or select a specific cart
  * other cleanups

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9636 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-09 17:31:13 +00:00
ultramage
b0aa97039b Unimportant cleanups
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-08 16:50:54 +00:00
ultramage
284b66e65c * Silenced the plugin export messages during startup [ultramage]
* Fixed an old debug message displaying %d instead of a number
* Commented out a login_log call (sql doesn't implement that function!)
* Found the reason why the console didn't want to run on windows
* Moved the plugin.def file to the plugins dir and added console.def

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9632 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-08 15:40:41 +00:00
FlavioJS
0129172c63 - Added a precompiler error when the shutdown defines are not found.
- Added parse_console to the plugin API.
- Added plugin for parsing the console. (working with cygwin)
- Added the console plugin to plugin_athena.conf commented out.
- Copied the parse_console code form login txt to login sql and char.
- Added propper plugin version compatibility tests.
- Better output when a plugin fails to load.

-----

The console plugin (at it's 3rd version) uses two pipes and another thread.
- the other thread reads data from stdin and sends it through one of the pipes
- the other pipe serves as semaphore (and terminator) to that thread
- the normal thread checks if the pipe has data once every timer cycle, if data is found it invokes parse_console with that data

Worth noting: the first version didn't use another thread and just checked if data was available on the input stream, but apparently that can't be done to standard input in windows

It's only been tested on cygwin (and should work on most *nix systems), can't test native windows right now because I'm having trouble exporting the required plugin variables in VS8
src/plugins/Makefile hasn't been updated because it's not working properly for me

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-08 08:35:32 +00:00
FlavioJS
da5d22b67f - Fixed the sleep timers not being removed when the an npc was being unloaded and when reloading scripts.
Ref: http://www.eathena.ws/board/index.php?showtopic=131464

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9629 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 17:59:25 +00:00
ultramage
fbe23f27a2 Undid the memset->malloc_set replacement
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 16:49:03 +00:00
FlavioJS
db02576357 - Now winsock 2 is required.
- Cleaned up do_close and socket_init a bit.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-06 12:11:50 +00:00
ultramage
59b38494b7 - Major reconfiguration of the trunk VS8 project files, read the changelog for details
- Also removed some deprecated code that was causing linking conflicts
- And fixed a missing md5calc reference in stable's VS8 files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9619 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-05 15:57:01 +00:00
ultramage
851a1e259a - Updated /doc from jAthena
- Completed adding of the new cities to @go
  > that function is ugly and needs a complete rewrite, asap
- Updated thor volcano warps

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9615 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-04 18:33:53 +00:00
ultramage
e46b9e7d41 - Now the server will by default perform symmetric adding of friends
- > TODO - symmetric deletion (http://www.eathena.ws/board/index.php?showtopic=130749)
- Added a first approximation of warps for the new maps (by $ephiroth)
- Added Rachel and Veins to the list of @go destinations

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 18:18:50 +00:00
FlavioJS
63c6008744 ups... forgot to remove this before committing
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9612 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 12:03:22 +00:00
FlavioJS
129bff5fb6 - Fixed FIFO defines in TURBO mode.
Ref: http://www.eathena.ws/board/index.php?showtopic=129766
  The rest of the TURBO related errors are about the HEAD defines having to be at the start of a block because they contain a variable declaration. (i won't fix these)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9611 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 12:01:43 +00:00
ultramage
215762fe8c - Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements.
- Re-applied change r9593 that got accidentally reverted by r9595.
- Added the official behavior of monsters regaining full hp when they morph.
- Added support for text/comments at the end of monster spawn lines (<tab> required)
- Silenced the debug message in socket.c that's been freaking people out.
- Modified the useless error message in atcommand_effect.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 03:05:43 +00:00
FlavioJS
0cf60d9ca1 - Updated getitem and guardian entries in script_commands.txt.
- Fixed getitem trying to get <character ID> from the wrong argument.
- Now getitem can be run on scripts without a player attached if <character ID> is specified.
- Now the two last arguments of guardian are optional and independant of each other ("<event label>" and <guardian index>). This way the previous implementation and script_commands definition are still valid code.
- Now buildin function names and argument definitions are checked for validity before adding the function to the script engine.
  Argument definitions follow the pattern:
    (v|s|i|l)*\?*\*?
    v - value (string or int)
    s - string
    i - int
    l - label
    ? - one optional parameter
    * - unknown number of optional parameters

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-31 09:22:25 +00:00
skotlex
678096381e - Skill use is now cancelled when you use it while cloaking, and the uncloaking process warps you.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9591 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-29 14:21:09 +00:00
FlavioJS
6a7bdd6ffe - Reapplied Skotlex's socket.c changes from r9587 and r9582. :S (sorry)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28 19:42:59 +00:00
FlavioJS
f863581174 - Part 3 of TheUltraMage's socket cleanup.
- Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- Removed search_str from add_str (add_str already searches for the string).
- Native script words like do,while,for,... are case insensitive now.
- Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better distributions).
- Added alternative hash implementations to the script engine (to try out later).

removed int_homun.c from header section of the VS8 map project files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28 19:11:40 +00:00
skotlex
807acd0aac - Added a func_parse invocation when an invalid socket is found, so that the underlying code (char/map/login) can handle it and free any related resources.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9587 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28 18:02:14 +00:00
skotlex
8bcc26d8dd - Some cleaning in do_sendrecv, added error messages when handling an incorrect socket.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9582 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28 14:03:39 +00:00
skotlex
58bb9be68a - Cleaned up some more the code so it works for -DTURBO
- Cleaned the pvpoff @ and script commands.
- mob_get_random_id now has two additional flags to specify that the monster to acquire should not be a boss type (4) or that it should give exp (8).
- TK_MISSION will now pick any mob from the DB as long as it is not a boss type and it gives base exp.
- Fixed the double-stone issue when hitting a petrified character.
- Minor cleanups


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-26 15:07:18 +00:00
FlavioJS
60e3d1b499 - Applied part 1 of TheUltraMage's socket cleanup.
"Basically what I did was perform simple one-liner substitutions for ugly repetitive blocks of code. The most apparent are the send/recv code and the other basic socket calls."
- flush_fifo is non-blocking now. I guess best effort is good enough...
- Copied header files from vcproj-7.1 files to vcproj-8 files.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9570 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-25 06:59:25 +00:00
FlavioJS
52245f90b9 - Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before checking if UINT_MAX has been defined.
- Minor changes in pc_readdb related to max_level being unsigned.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23 03:24:32 +00:00
FlavioJS
e75a8eca56 - Change strncpy to memcpy when parsing switches in the script engine since it's guaranteed to be a word of that size (skip_word).
- Made scriptlabel_db duplicate the key. When str_buf is reallocated, the keys in scriptlabel_db could become invalid, causing a crash in npc_convertlabel_db.
( removed the readded >=0x81 equivalent )
- Now npc_convertlabel_db clears scriptlabel_db after using it.
- parse_script has an extra parameter options. At the moment it only indicates if scriptlabel_db should be used or not.
- Fixed "UINT_MAX undeclared" on systems that don't declare it in limits.h

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-22 05:27:03 +00:00
FlavioJS
a2021e550b - Added a 1-node cache to db. Removed party_cache and guild_cache since now the database has a cache.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9545 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21 02:32:51 +00:00
FlavioJS
15258dfdb0 - Moved md5calc to common
- Answered Skotlex's question and fixed "warning: comparison is always false due to limited range of data type" by restricting script words to ASCII characters only.
- Applied "svn:eol-style native" to makefiles and project files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21 01:16:30 +00:00