390 Commits

Author SHA1 Message Date
FlavioJS
ef54f5d793 * Disabled ers until recent crashes are fixed.
- ers entries are being corrupted, probably by modifying them after they are released or by releasing something else

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11900 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 18:50:48 +00:00
FlavioJS
02d21582a6 * Abstracted the windows socket code so that all fd's are in the range [1,FD_SETSIZE[. (bugreport:604)
- The socket of a fd is forgotten when executing sClose, so things that depend on the socket (like sFD_CLR) must be executed before closing.
* Replaced the fd_set of the short list with a custom implementation (works like the linux fd_set).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11897 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 16:32:58 +00:00
ultramage
8be1c4d48c * Some preparations for the guild script update
- cleaned up npc event execution code
- cleaned up guild data loading/saving code; to be improved later
- removed dummy 'account name' expulsion list management code
- removed columns 'rsv1' and 'rsv2' from guild member data
- removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- added upgrade_svn11895.sql for SQL

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:55:13 +00:00
skotlex
11c0438e85 - The interserver outgoing buffer now gets flushed when it reaches 512KB of data stored on it.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11886 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 19:13:12 +00:00
FlavioJS
6dd13ee535 * Added a generic 'delimiter-separated values' string parser to strlib.c/h.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11878 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 22:08:31 +00:00
skotlex
e823c2e3eb - removed the timer heap correction code when the timers overflow since Flavio points out that it is not needed.
- Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards.
- Cleaned up #changesex
- Signum Crucis now works on bosses.
- party_recv_data will not set the sd pointer for not-yet-authed characters.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 08:44:52 +00:00
FlavioJS
754b397edf * Random cleanup/documentation.
* Made common/Makefile get the svn version from the src directory, not src/common.
* Added a warning message to the install and uninstall targets.
* Renamed all obj directories to obj_all, obj_txt or obj_sql in the makefiles (if an obj/ directory exists, BSD make enters it before reading the makefile)

(run ./configure to update your makefiles, and don't forget to do 'make clean' before updating)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-30 00:17:26 +00:00
FlavioJS
e207fecd8c * Added safesnprintf to strlib.c/h (bugreport:372)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11828 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 23:06:37 +00:00
FlavioJS
7bfaec4529 * Normalized makefiles:
- 3 sections: variables, public targets, private/support targets
- object files always in a *_OBJ variable
- header files always in a *_H variable
- object files always generated to an obj* subfolder
- all Makefiles can be executed individually, calling other makefiles if necessary
- generic object targets when possible

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11812 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-26 22:36:30 +00:00
skotlex
ddf923dba5 - Changed the status_change structure to use dynamic rather than static memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption.
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22 23:52:58 +00:00
FlavioJS
f56187c091 ups
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11775 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 18:21:13 +00:00
FlavioJS
c7fad50342 * Fixed Sql_SetEncoding not setting the encoding of the connection properly. (fixes bugreport:30)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11774 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 18:15:05 +00:00
ultramage
c1da20681e Random cleaning of party.c in attempt to make party_send_xy_timer() crashes a bit clearer...
- now party_db is iterated instead of using foreach()

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11761 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-19 14:51:23 +00:00
FlavioJS
7e9f1e929c * Nullpo's disabled on release builds.
* Added timestamps to the log of memory leaks.
* Moved definition of __func__ to cbasetypes.h.
* Configure script updated:
- added option to select the memory manager
- added option to enable MAPREGSQL
- added option to enable DEBUG
* common's Makefile deleting svnversion.h on 'clean' target.

(run ./configure again to update your Makefile)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11760 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-19 03:05:16 +00:00
ultramage
b5cf6976a2 Fixed some homunculus skill offset calculation mistakes (bugreport:363)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11731 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-14 09:31:47 +00:00
zephyrus
0cf565292d - Important fix to Mail System allowing (by a low change) items duple.
- Added picklog to mail.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11721 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-12 08:55:36 +00:00
ultramage
12a567a5f9 Changing enum weapon_type in the mmo_charstatus structure back to integer until someone resolves that include mess...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11705 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-10 13:26:08 +00:00
ultramage
5eda6c0e57 Replaced several 'int' variables with enums that they represent.
Expanded weapon_type enum with dual-wield constants (bugreport:384).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 22:42:56 +00:00
ultramage
0f6d747991 Fixed socket.c using time() incorrectly, causing stall timer desynchronization (bugreport:394)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11702 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 21:23:02 +00:00
FlavioJS
58aba77ff3 * Added a database iterator to db.c/db.h.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11701 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 20:59:20 +00:00
FlavioJS
9d2688ad87 * Changed EXIT_SUCCESS back to 0 in console.c to avoid an unnecessary include.
* Fixed gm_account_db not being deallocated in login-converter.c.
* Refactoring names and documentation in db.h/db.c:
  - changed 'struct dbt' to 'struct DBMap' and 'DB' to 'DBMap*'
  - changed 'struct db' to 'struct DBMap_impl' and 'DB_impl' to 'DBMap_impl*'
  - changed COUNT to DB_COUNTSTAT and made it's existence not depend on DB_ENABLE_STATS
  - removed some @see links and corrected small typos in the documentation

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11698 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 14:08:32 +00:00
ultramage
59b9654397 Tried to make sense out of timer.c ... and failed
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-03 12:35:34 +00:00
ultramage
ac33a63e54 * Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 13:20:48 +00:00
ultramage
acd2c914a5 Fixed a compilation error in the mail code. Blame the C standard and gcc for giving enums a variable-sized type, thus making forward declarations impossible.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11587 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 14:20:10 +00:00
ultramage
b6bbaef27b Followup fixes to r11583:
* fixed wrong sql upgrade file name, added svn:eol-style native
 * made 'status' variable directly use the mail_status enum
 * replaced some hardcoded numbers in mail queries with references to the enum
 * fixed a query which still used 'read_flag'
 * fixed all new mails being displayed as 'already read'
 * removed sd nullpo checks from parse_ functions as that can never happen
 * fixed mapserver sending (and charserver saving) junk item fields when there is no item attached to a mail
 * fixed wrong mail send packet interpretation saving random memory after message body ('body_len' doesn't include the terminating zero)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 09:48:27 +00:00
zephyrus
284222a415 - Improvements to the mail system.
- Added a sql patch, renaming "read_flag" column to "status" on the mail db.
- Need more testing.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11583 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 06:34:04 +00:00
FlavioJS
d9774ac8ca * Corrected a fex misshaps from r11571:
- disabling the memory manager
- using the wrong length for the title and body in mail_savemessage
* Removed the quick-fix in the npc duplicate check and the impossible condition that is generating the warning.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:29:00 +00:00
skotlex
480a4f0ac8 - added defines JOB_MAX_BASIC and JOB_MAX to mmo.h so the code can know which are the max valid classes.
- @/#jobchange no longer strip your equipment since pc_jobchange removes any unequippables already.
- removed the wasteful define MAX_PC_CLASS and replaced it by the CLASS_COUNT define (which is automatically updated using the previous JOB_MAX* defines) + pc_class2idx function (which converts high class IDs into values that fit in CLASS_COUNT)
- Made status_charge a function rather than a define to get rid of those warnings that have been there since forever.
- Merged the CELL_NOVENDING code (see topic #129209)
- Small check that disables the pet catching process if you try to use another item. 
- Added a check to fix a warning and prevent a crash in the npc duplicate check (even though I have no idea what this check is supposed to do, therefore I can't fix it properly other than to avoid the crash)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:02:00 +00:00
ultramage
d091f1cf05 * Cleaned up some messy guild code (more to come)
* Cleaned up the mail code, no more pointless dynamic allocation
* Added upgrade_svn11548.sql to convert the mail table to new format
* Updated vs7 and vs6 project files
* Increased the max. send buffer size to 5M since 1M is not enough
* Please complain if something stops working ^^;

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 12:14:18 +00:00
zephyrus
a0b1a582a1 * Removed the inter_athena.conf maildb settings as they are not required anymore.
- MailDB is now an integral part of the MainDB.
- To Server Admins, use mysql tools to move your mail data to the new structure.
- You can get the maildb structure from main.sql.
- Renamed some vars (recomendation of Ultramage :D)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-23 00:31:37 +00:00
zephyrus
c34325a53b - Added the new mail system. Requires optimization and tests.
- Updated the maildb sql structure.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-22 20:38:26 +00:00
ultramage
33decb0759 Fixed a small mistake in r11503 causing a fatal error&exit on unix when you try to do a graceful exit (by ctrl+c for example)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11538 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-21 13:37:46 +00:00
ultramage
6cca14200e Fixed a nasty bug from r11410 which let people create chars with already taken char names, and (in TXT's case) even cause a crash.
Closes bugreport:234.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11530 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-20 21:21:54 +00:00
ultramage
4cfb15d8bb Fixed numerous /W4 warnings (and created more :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11514 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 21:25:26 +00:00
ultramage
2c2af57a84 * Removed commented-out code for check_fake_id()
* Merged improved/cleaned up (WiP) code for clif_parse_WisMessage
* Removed the requirement to provide a character name in the message string when calling is_atcommand() (needed for the previous fix)
- currently both ways work, but old will be removed in the upcoming command cleanup so please adjust your custom code if you use this!
* Added clif_process_message(), an unified way to validate all four types of player message packets and retrieve their components
* Applied the new checking function to clif code, this fixes various length mismatches caused by incomplete code in r11386 (bugreport:198)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 12:49:49 +00:00
ultramage
28a6350610 Fixed unix compilation problem due to a missing include (caused by r11499)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11506 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 10:11:54 +00:00
ultramage
0bbf505d59 * Merged do_sendrecv() and do_parse() into do_sockets()
* Fixed subnet check message displaying incorrect ip addresses
* client_addr will now be properly set to 0 for server connections
* Removed socket code that attempts to cope with code bugs at runtime
* Removed outdated copyright and version number from startup logo

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 20:24:48 +00:00
FlavioJS
05134f3dcc * Reworked the parsing at npc.c.
- Fixes npc.c discarding the '}' at the end of file, when there is no newline. (uncovered as a side-effect of r11487)
* Empty script functions always have code now (won't report as missing when you try to call them).
* Changed userfunc_db to not limit the name to 50 characters.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11502 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 20:15:39 +00:00
ultramage
3d7a129b90 Using predefined constants as parameters to the exit() function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11501 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 17:20:01 +00:00
ultramage
6b2c679c3f * small timer.c cleaning
- removed "with less than 4 values, it's speedier to use a simple loop" as this case will never occur (premature optimization from r1284)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 12:07:25 +00:00
ultramage
74c5d717aa Fixed memleak hell during mapserver shutdown (if grf reading is used and the deallocation routine is actually called).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11439 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 03:00:51 +00:00
ultramage
286e1a32c4 * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define
* Fixed a compile problem when hotkey saving is disabled (topic:167265)
* Added script source error reporting to countitem() (topic:167165)
* Removed integer mob skill state/target definition support (unused)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 16:16:44 +00:00
ultramage
ce7dd37878 * Cleaned up parts of skill.c related to skill units
- removed some nonsense code in skill_dance_switch() (from r8876)
- removed 'security system to prevent forgetting timer removal' (r1213)
- renamed some skill-related data structs (had same name as variables)
- commented out custom Venom Splasher countdown messaging code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11347 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 12:58:52 +00:00
L0ne_W0lf
694679913a * Implemented Summer Outfit care of Zephyrus_CR.
- Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation of the 12.1 Guild Castles.
* Added constants for Summer Outfit and updated the Summer_Event_Suit item script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11321 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 02:52:04 +00:00
FlavioJS
62ea9e001e * Fixed the double free's caused by r11290 (wrong option in the database constructors).
Readded tick cache variables (deleted by mistake).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11292 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 10:24:53 +00:00
FlavioJS
52f3681f3d * Disabled tick cache (to enable it: define TICK_CACHE to the number of calls that should be cached).
* Added a charid2sd database for fast charid searches.
* Reworked the nick cache to only contain offline characters.

Note: The tick cache was causing _some_ of the desync problems in eA. Gameplay should be much smother, but desync problems still exist.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11290 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 01:58:31 +00:00
FlavioJS
909992ed5a * Limited manual detection of data truncation to string/enum/blob columns.
* Renamed conf-tmpl to conf.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11284 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 09:13:50 +00:00
FlavioJS
c82d9b8aba * Added flag svn:executable to the configure script.
* Added code for MySQL versions (below 5.0) that don't have MYSQL_DATA_TRUNCATED.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11281 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-23 19:55:37 +00:00
ultramage
961f23767d * Added 'safestrnlen' to prevent null pointer crashes
* Fixed global chat logging always crashing on a null pointer
* Applied changes to clif_parse_globalmessage() from my WiP code
- clearer processing of the individual packet components
- proper code ordering, some more integrity checks
- fixes to some poorly chosen ShowWarning() format strings
- global chat logging no longer logs the entire string (w/ player name)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 11:02:26 +00:00
FlavioJS
b848357f20 * Added a sanity check for MAX_ZENY (doesn't compile if too big).
* Redid the buildin_query_sql function. (fixes bugreport:81).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11268 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 01:43:08 +00:00