390 Commits

Author SHA1 Message Date
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
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