320 Commits

Author SHA1 Message Date
FlavioJS
f3bb9a322d * RFIFOREST returns 0 when the session is eof (input data is implicitly discarted).
* Reworked the player fame update:
- would crash if an invalid pos was received
- the wrong player could be updated on certain conditions

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-28 18:25:32 +00:00
ultramage
dfdb5368c7 Corrected some weird fgets() statements, plus reformatted them
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25 15:21:53 +00:00
ultramage
9e7eb8804f - Removed the TURBO socket mechanism - it was in fact just using a variable to cache a few arithmetic operations (premature optimization)
- Since the fifohead mess is gone, fixed leftover bad code structuring

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-21 18:40:29 +00:00
ultramage
4228b025e7 - Fixed one missed malloc->aMallocA typo, causing memory deallocation problems
- Some small trunk-stable formatting synchronization

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20 20:40:34 +00:00
ultramage
711d01a128 Reformatting @_@
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 15:50:41 +00:00
ultramage
6e24df08ec Removed the wtf-y mmo_char_fromsql_short() from r2527
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10578 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 11:19:35 +00:00
ultramage
10ae1963d8 Removed the vsnprintf->_vsnprintf define for VS9. Ea compiles even without it (vs6, vs7, vs8).
In VS9 this and similar functions were replaced by templates that instantiate using the output array's length.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10574 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 08:05:02 +00:00
FlavioJS
82b3153800 * Adapted the shortlist to use a static array instead of a linked list and enabled it.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-09 04:24:33 +00:00
FlavioJS
71f29c0445 * Added Buuyo-Tama's shortlist for send/eof sockets (defined out for now).
* Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines.

Shortlist:
It's a list of sockets that have data to send and/or are ready for eof processing.
It aims to reduce the amount of time spent on do_sendrecv, where it was spending ~13.5% of execution time on a server with 1k users at WoE.
thanks to Buuyo-tama for the profile info and code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10506 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-09 03:18:16 +00:00
FlavioJS
bc088a5ad8 * Removed the dependency on winsock.h for definitions, it's all winsock2.h now.
* Minor documentation/re-coding in chat.c.
* More work on ticket #41.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10471 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05 14:50:07 +00:00
ultramage
3206b83c1c Missed a few occurences of strdup (followup to r10468)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10469 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05 14:01:06 +00:00
ultramage
cce7ebedf4 - imported the latest working grfio code from stable
- re-added usage of managed allocation routines in grfio
- eol-styled some new files
- some cosmetic fixes here and there

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10468 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05 13:57:07 +00:00
blackhole89
66fa77c5f6 adding read-from-GRF/GAT back in. Read Changelog-Trunk.txt for more details.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10455 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-04 17:31:41 +00:00
ultramage
f94d4fc532 * Ladmin fixes
- Added vs8 project file for ladmin
- Replaced all occurences of printf in ladmin.c with ShowMessage
- Fixed ladmin working with ips using the wrong byte orer
* Fixed @jumpto displaying the incorrect player name
* Added more safeguards to socket.c against socket ids out of range

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10409 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-29 14:34:02 +00:00
ultramage
a6e61e1d2f Gave each file an empty last line, to make svn happier
Added svn:eol-style native where missing
Removed remaining .gats

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10401 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-29 08:17:53 +00:00
ultramage
2b251df80a 'minor' details
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10389 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-28 16:25:04 +00:00
ultramage
833fd942a4 * Tried and fixed md5 password encryption
- login_sql was doing stupid things like re-using one pre-generated key for all connections, and escaping binary md5 data (destroying it)
- added missing code to login_txt when creating new accounts, showing that storing passwords as md5 hashes never really worked for txt
- removed PASSWORDENC's conditional compilation effect, now just a flag
- greatly simplified md5 password checking code, credits to eapp
* login server will now bind only after finishing the init phase

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-28 14:34:58 +00:00
FlavioJS
f4907979c1 * Extended the functionality of StringBuf - length and appending a string.
* menu/select/prompt script functions support grouped and empty options.
  The selected option number is consistent with them.
* More work on ticket #41.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10316 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22 15:45:37 +00:00
ultramage
d220dde7c0 - Removed the +25% mdef, -50% def effect from Freeze status
- Changed autocast skills, they now only work with normal attacks
- Fixed a few spots where the attack_type flag was getting truncated
- Hopefully fixed the cygwin + size_t problem (using stddef.h as source)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10298 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-21 17:08:08 +00:00
ultramage
b1ccbcdba7 - Added ntows() to properly handle that client port number deficiency
- Adjusted the packet_db array for a more consistent look
- Reorganized some entries in packet_db.txt
- Fixed a small scripts_custom.conf typo

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10296 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-20 21:57:33 +00:00
ultramage
74295231e6 * Discarded extra deflate function needed for afm reading
- as a result, discarded the whole chain of support functions, .c files and includes needed to make that one function run
- also removed zlib compile/link dependencies where they are not needed
- reduced the whole zlib package into two core include files
- adjusted makefiles / project files to reflect this change 

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10273 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 10:03:30 +00:00
ultramage
2216188890 * Finally fixed mingw problems, managed to build both TXT and SQL
* Fixed the uint32 platform problem (Microsoft failed so I removed it :)
* Removed the cbasetypes.h dependency from the mapcache generator
* Removed some random compilation warnings

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10270 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-16 20:44:44 +00:00
ultramage
53823c3e67 Fixed TXT char creation blocking characters with nonstandard names
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10257 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-14 12:12:27 +00:00
ultramage
cf77f95ed1 fixed makefile typo, maps_athena typo, svn:eol-style native for some files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10238 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-12 17:37:38 +00:00
toms
9f6d32d8de Removed an ugly cast in socket.c
Fixed Makefile (-Wno-unused-parameter was added twice with gcc4)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10205 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10 14:34:04 +00:00
FlavioJS
a91b77d781 * Recoded and renamed the trim function in strlib to normalize_name. (didn't behave like a standard trim function, see function comment for what it does)
* Added a proper trim function to strlib.

* Other minor cleanups.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 20:21:17 +00:00
skotlex
8e93386102 - Fixed some compiling warnings.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10196 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 19:09:30 +00:00
FlavioJS
cc893dbaab * Changed db key from 'unsigned char*' to 'const char*'.
* Defined out the dump function in util.h/c.

Notes: saw some suspicious code in npc.c so kept the 'const char*' propagation to a minimum for now

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10193 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 13:03:34 +00:00
ultramage
5d3ea3da27 * Played around with MinGW a bit today...
- adjusted code so that it handles mingw-specific compatibility problems
- adjusted the makefile, mingw is not a subset of cygwin
* As an experiment Corrected many /W4 warnings on the txt login server

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 00:46:55 +00:00
skotlex
87ac06f325 - Fixed sometimes retrieving the svn-version with fopen not doing a fclose afterwards.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10191 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-08 23:13:29 +00:00
skotlex
7f98907fa9 - Made the return code \n for Apple systems (it was \r before), this still needs fixing, since it should be /r only for pre OSX systems.
- status_change_start will no longer abort if the duration is less than 0 if the status is Ankle Snare (since this stat has it's own minimum)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10185 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-08 14:51:36 +00:00
ultramage
75da66f876 - Fixed the platform-specific stricmp compilation problem
- Fixed inverted vending tax equation (venders getting only 2% zeny instead of 98%), and made it more precise

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10182 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 21:15:34 +00:00
ultramage
24db1473f4 - Added function str2ip() to do platform-safe conversions
- Removed a bunch of unused stuff
- Moved SIGILL to unix-only defines since tests and docs show that Windows doesn't issue SIGILL
- Fixed several annoying compilation warnings

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10177 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 12:06:25 +00:00
ultramage
6aa16e2f75 Fixed showmsg causing silent access violation exceptions on Windows (WinAPI function used does not accept NULL)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10176 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 09:11:11 +00:00
ultramage
87c0efdc89 - Moved e_mail_check() and config_switch() to strlib.h
- Synchronized the login servers a bit

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10174 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 04:21:29 +00:00
ultramage
bb934dd59e - Disabled the exception handler on windows debug builds
- Fixed Devotion using WE_BABY's status icon (now uses no icon); if you have a way to determine the correct number, give feedback

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10173 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 00:43:46 +00:00
ultramage
7d46c4c259 - Fixed the start_point setting smashing t3h stack in some situations
- Fixed some over/under-dimensioned arrays (the map length defines already reserve space for the string terminator)
- Fixed an unupdated define making Warp Portal fail with an error
- Fixed some skill entries of the Galion mob

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-06 21:43:22 +00:00
DracoRPG
7c8f12ccd5 I'm still here!
Rewrote fame ranking lists- changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
	  uses where there is / may be the .gat extension, code adjusted accordingly
- moved map_normalize_name to mapindex_normalize_name so that everything
	  handling map names uses the same extension-removing function
- greatly enhanced the map cache generator, complete documentation on the
	  tool and the map cache format can be found in doc/
- the map cache format changed a bit as a consequence, but of course a new
	  valid one is included (contains latest Nameless Island maps)
- fixed a duplicate entry in map index


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-06 17:22:40 +00:00
ultramage
8dc1b77f03 * Made a crazy attempt to at least partially synchronize login&char code
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule
- hopefully covered all entry- and exit-points for IP address data
- discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that
- other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order)
- tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-05 18:49:57 +00:00
ultramage
a167b6ae62 * Some source code cleaning
- Fixed the badly worded messages during mapserver startup
- Cleaned up socket config reading
- Split resolve_hostbyname() into 2 separate functions for clarity
- Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
- Moved the badly placed compare_item() function to storage.c (see r779)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10119 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-02 13:46:11 +00:00
skotlex
258746a5f9 - Modified waiting_disconnect on the login server to hold the timer id of the 'set offline' timer.
- connect_client will no longer accept connections when their number is greater than FD_SETSIZE to prevent crashes on packet parsing.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01 16:25:34 +00:00
ultramage
478b4b58e8 Fixed typos from previous revisions :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 17:01:53 +00:00
FlavioJS
43a375ad89 * Added all the missing defines for ctype.h functions and converted all the direct uses to the defines.
Ref: http://www.eathena.ws/board/index.php?showtopic=145235

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 06:16:08 +00:00
skotlex
47ab9dbbf8 - Added "do_abort" function to the core. It is invoked when the server has received a Segmentation Fault or Floating Point Exception signal. Currently the only one that uses it is the map-server, which then attempts to save all online characters before aborting.
- Note that due to the current coding of the sig plugin, do_abort will not be invoked if you use it! This plugin needs to be updated...
- Cleaned up a bit the change element code. val1 is the elemental level, val2 is the element now.
- Hardcoded the element and elemental level of SC_CHANGEUNDEAD.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10089 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-29 20:34:17 +00:00
FlavioJS
4ba355e389 git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10087 54d463be-8e91-2dee-dedb-b68131a5f0ec 2007-03-29 13:51:20 +00:00
ultramage
06f0d60116 Some generic typo fixes (src and npc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22 21:03:19 +00:00
skotlex
cc6a222a11 - Added define MAX_CHARS so you can easily mod the server to support a different amount of characters per account (however, there is still the issue of hexing the client to support this change)
- Updated msg_athena.conf so it no longer uses broken english on several entries. Thanks to Scerez for the updated file.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10044 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21 14:52:23 +00:00
toms
3d83f71043 Modified swap #define to avoid 'value computed is not used' warning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20 14:24:41 +00:00
ultramage
2a7f5aeb7f committing my work on the login server (mostly SQL)
- removed the check_ip_flag from login&char (there since r1)
- removed the CMP_AUTHFIFO_IP and CMP_AUTHFIFO_LOGIN2 defines (also r1)
- removed dynamic_account_ban, gm_db settings, weren't doing anything at all
- modified the date_format setting to take the format string directly
- removed overly verbose config loading messages
- removed/simplified many more useless actions
- renamed the dynamic_pass_failure_ban_ settings to make more sense
- collected relevant config settings into a login_config structure and documented their purpose
- allowed usage of yes/no instead of the user-unfriendly 1/0 method in config settings (and added 1/0 as a possible option)
- fixed dnsbl which was always taking only the first entry into account

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10021 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-16 17:40:44 +00:00
DracoRPG
61d30841c0 Fixed a warning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10004 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13 21:22:29 +00:00