summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)AuthorFilesLines
2007-01-03- Fixed FIFO defines in TURBO mode.FlavioJS2-5/+8
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9611 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03- Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements.ultramage1-2/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-31- Updated getitem and guardian entries in script_commands.txt.FlavioJS1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-29- Skill use is now cancelled when you use it while cloaking, and the ↵skotlex1-1/+1
uncloaking process warps you. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9591 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28- Reapplied Skotlex's socket.c changes from r9587 and r9582. :S (sorry)FlavioJS1-7/+19
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28- Part 3 of TheUltraMage's socket cleanup.FlavioJS1-46/+36
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28- Added a func_parse invocation when an invalid socket is found, so that the ↵skotlex1-0/+4
underlying code (char/map/login) can handle it and free any related resources. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9587 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28- Some cleaning in do_sendrecv, added error messages when handling an ↵skotlex1-9/+17
incorrect socket. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9582 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-26- Cleaned up some more the code so it works for -DTURBOskotlex1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-25- Applied part 1 of TheUltraMage's socket cleanup.FlavioJS2-216/+76
"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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9570 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23- Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before ↵FlavioJS2-6/+6
checking if UINT_MAX has been defined. - Minor changes in pc_readdb related to max_level being unsigned. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-22- Change strncpy to memcpy when parsing switches in the script engine since ↵FlavioJS3-3/+9
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21- Added a 1-node cache to db. Removed party_cache and guild_cache since now ↵FlavioJS1-79/+85
the database has a cache. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9545 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21- Moved md5calc to commonFlavioJS4-60/+305
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Moved PACKETVER to mmo.h, and added support for the expanded character ↵skotlex1-0/+3
info window on the char-server when PACKETVER is above 7. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9539 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Fixed ISSPACE and ISALPHA casting their returned value to a char. These ↵skotlex1-2/+2
are "bool" functions, and as such return an non-zero int as result, casting them to char just... really messes things up when the returned value is out of the CHAR_MAX/CHAR_MIN range! git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9538 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Changed the script source from unsigned char* to const char*.FlavioJS1-0/+6
- Updated plugins Makefile. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9532 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Fixed the meaning of stdout_with_ansisequence and changed the default ↵FlavioJS1-3/+4
value to no. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9531 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-19- Added missing include of system header limits.h to timer.cskotlex1-2/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9523 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-19- Reverted the mob ThinkTime update, that field is again aDelay as it ↵skotlex1-1/+1
apparently should be. - Fixed one small compilation error. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9522 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-19- Cleanups or minor changes.FlavioJS4-162/+191
- Now addtick_timer invokes settick_timer, so keep an eye for whatever timer issues it's supposed to have. - Removed the flush_fifo from clif_parse_TickSend until the socket problems are fixed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9521 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-18- Cosmetic changes to db.FlavioJS4-511/+409
- Fixed the unused MAPINDEX_AUTOADD section in mapindex.c (mapindex.h wasn't being included) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9515 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-15- There will be now warnings printed when a shop sells an item which's buy ↵skotlex1-0/+1
price is 20z, since those usually are "rare" items with no buyying price set. Note that this reports one fake, and that is the selling of a certain shuriken that indeed costs 20z. - Most likely fixed client crash when xmas/wedding status runs out. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-13Modified flush_fifo so the code do what is written in the commenttoms1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9489 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-13- Modified flush_fifo so you can decide whether to block the current thread ↵skotlex2-4/+9
or not until the data is sent. The server-tick reply no longer blocks the current thread. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9486 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Minor changes to ers.FlavioJS6-150/+68
- Removed unused/hardly used cbasetypes typedefs. - Updated txt-converter's makefile to include utils.o git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-10- Added more helpfull error messages when packet_ver=-1. (no more ↵FlavioJS1-38/+27
"clif_parse: Disconnecting session #XX for not having latest client version (has version -1)." messages) - Joined normal and MINICORE's main function. - Put malloc_init() first and malloc_final() last as it's needed for Show* in display_title(). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-09- Reversed revision #9415 (messages with server_tick field being sent as ↵FlavioJS3-14/+4
soon as possible) since it didn't fix the client synchronization issue. - clif_parse_TickSend is sent immediately so the client gets accurate "pings" Note: in Changelog, for my changes, if they're grouped together and in the same day I'm only gonna "sign" the bottom line. All unsigned lines are assumed to be from the same person of the previous line (below). (easier searches =P) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9443 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-07- Fixed ladmin's linux compilation and moved some platform specific defines ↵FlavioJS4-30/+52
to cbasetypes.h git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9435 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Fixing a compilation error caused by me in rev 9414: -.-;FlavioJS1-0/+1
utils.h:35: error: syntax error before "va_list" git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9416 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Messages with server_tick field are sent as soon as possible now.FlavioJS3-5/+15
This might fix client synchronization issues. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9415 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Added StringBuf_Vprintf to utils.c and changed the showmsg.c buffer.FlavioJS3-27/+69
Now it uses a static buffer and a StringBuf when needed (a debug message indicating the static buffer needs to be increased is shown). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Fixed sc data load failing when using charsave_method: 1skotlex1-2/+2
- Fixed the interserver link reserve size being 8 times instead of 1/8th the default size. Changed it to be 1/4th as well. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9411 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Massive EOL normalization & 'svn:eol-style native' flag setting for all ↵FlavioJS26-8812/+8812
txt/conf/h/c files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Moved START_ACCOUNT_NUM and END_ACCOUNT_NUM from login.h to mmo.h and ↵FlavioJS1-531/+535
changed clif_guess_PacketVer to use that. - Made the script engine big-endian compatible. (i know it's pointless because of the move to eApp, but just couldn't resist :S) - Commented out the remnants of ladmin packet parsing in map-server. - Added a warning when a player has an invalid packet version (shouldn't happen) PS- also added info on clif_guild_basicinfo packet fields, if anyone is interested git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9408 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03- Made ers double frees report as missing entries on destruction.FlavioJS1-532/+532
- Only one swap function (in cbasetypes.h) is used. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02- Added missing min/max definitions to cbasetypes.h, needed for the @send ↵FlavioJS1-266/+274
change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9388 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02- Replaced @send with the version I use for testing packets.FlavioJS1-0/+4
Can display the packet length. Supports dynamic packets, quoted strings with escaped characters and fixed/variable length, and normal/hex byte/word/long data types. The number of fields is not limited, but it automatically stops parsing when the packet is full. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9387 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Probably fixed the Segmentation Faults we've been having.FlavioJS3-1730/+1730
Description: A player quits and it's session is freed and set to NULL, but the char server already sent a packet with player information (registers, storage, ...). If a message is sent in consequence of updating that info, a segmentation fault happens because session[sd->fd] is already NULL. Fix: make shure the session of the target player is valid before processing the rest of the char server's message. - Some minor cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9366 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Fixed a possible crash due to the recent core.c upgrade.skotlex1-3/+7
- Changing setting the Guild Master from pc_authok to clif_parse_LoadEndAck so that it will not fail to set the gmaster flag when the first person of a guild to log on is the guild master. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9347 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Changed write to send as suggested by TheUltraMage in:FlavioJS4-119/+94
http://www.eathena.ws/board/index.php?showtopic=105417 Hopefully that will take care of the SIGPIPE problem in Debian and cygwin. - Server name in core.c skipping '\\' characters. - Memory allocation functions using file,line,func from the invoking functions. - Other minor changes in malloc git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9344 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Updated the status change field "option" to an int rather than short. This ↵skotlex1-1/+1
fixes the option values for xmas/sightblaster not getting set, which could explain why some people crash when equipping weapons while in xmas suit. - Also did the same to opt3 since the new packet version uses LONG to store the opt3 values. - Made the clif weapon view function use the EQI constants instead of ints. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Added all the missing FIFOHEADs in the login/sql servers (required for ↵skotlex2-5/+4
TURBO support) - Fixed the fact that the TURBO code breaks when you attempt to handle more than one connection at a time within the same function. However this broke map-server compilation, therefore, don't use TURBO yet! It needs more fixing (and I need more time to fix it) - While at it, cleaned a few packet implementations in the char/login servers which were not only ugly, but had some really stupid flaws within (stuff like escaping a string, and then using the non-escaped variable to insert to SQL? T_T) And will someone explain me why the TXT servers are coded much more cleanly, and without such horribly broken code as I find in the SQL ones? T_T; git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-23- Made WFIFOHEAD() check for available buffer size remaining on the ↵skotlex2-2/+4
connection, and when there's not enough space, it will increase it. - Added define TURBO to the Makefile. It enables MouseJstr's socket access optimization which should speed up the code when accessing the write/read buffers repeatedly within a function. - Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used incorrectly (prevents TURBO enabled compilations from finishing) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9297 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- Removed grfio include from core.c as it's totally unneededskotlex1-1/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9264 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-17- Corrected use of the party invitation reply packet, thanks to FlavioJS.skotlex1-1/+1
- Removed requirement of "Changelog-Trunk" in the common/Makefile, why was it even there?? - Minor cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9251 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- Applied FlavioJs's patch which enables colored console output for Windows ↵skotlex2-109/+724
systems. It also includes a config setting called "stdout_with_ansisequence" with which you can turn off the color codes (in case you are logging all output) - Added error reporting when the max number of ground unit cells has been reached (this may be the reason why sometimes it fails to recognize when you step out of a song/dance/encore) - Added passing the Endure effect to other devoted people. Note that the "hit count" is individual for each character, and only when it ends on the Crusader himself will that force it to end on everyone else. It also will not transfer on gvg grounds, but it does transfer in pvp. - Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-06- Ganbantein's delay is now 2 secs.skotlex1-1/+1
- Removed the time2 value of NJ_NEN since it has no use. - Removed the return code entry when logging GM reload-GM requests (login-sql),it'll just be stored as zero. - Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP. - Applied the correction on maprespawnguildid so that it parses ALL players and not just those on a map. - TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched ones) and Preserve will be unable to block this. - Soul Linkers are now inmune to SA_DISPEL - You can now place everything (except magic skills) on top of LPs. - Corrected Ganbantein to not touch song/dance/ensembles. - Status_calc_pc will refuse to execute if the player is still tagged as a "new connection" and the invocation is not meant to be the first one. - Swapped the order of checks in status_isimmune so that Wand of Hermod skill blocking takes precedence over GTB's - Client packets will all be ignored while a player is not on a map until the LoadEndAck packet is received. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9152 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-30- Rewrote the txt->sql converter. It now links directly to the char server ↵skotlex1-0/+7
files so that it should get auto-updated with any code changes in the later. - The converter will now also convert: account-wide variables, parties, guilds, guild storage and guild castles. At this point the only two things not converted are login-server-wide account variables (##, they belong to the login converter) and homunculus (the SQL save function is messy and doesn't lends itself to be integrated with the converter the way all the other functions are). - Modified the char servers so they are compatible with the converter, the define TXT_SQL_CONVERT identifies sections unique to each char-server mode (this would had been a hella lot easier if both char servers where the same code-base instead of duplicated code <.<) - Updated the Makefiles as per the new compiling requirements for the converter. - misceffect2 will no longer cause the effect on top of the source object when it is the fake npc. - Added check so that Frost Nova doesn't hides hitting animation on targets. - Added the missing brackets around the trade logs condition check, thanks to Coltaro. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-22- Probably fixed a signed/unsigned mismatch warning on the new socket code.skotlex1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8848 54d463be-8e91-2dee-dedb-b68131a5f0ec