Commit Graph

914 Commits

Author SHA1 Message Date
Florian Wilkemeyer
ce97b9ae0f corrected some typos in descriptive comments 2016-05-04 14:46:29 +02:00
Florian Wilkemeyer
99cb385f34 map-server: optimized path_search(), by removing dynamic memory allocation for each call.
Pathfinding uses BHEAP_* (vector) operations from db.h, before this optimization each pathsearch resulted in an call to aMalloc() / aFree()  which is quite costly as it fragments memory over time & may cause software stalls when the application's heap must be resized.

Now it allocates the Heap once (& may grow it accordingly) and re-uses the allocated memory every time/call.

This makes also tons of monsters less cpu-time intensive.
2016-05-04 14:00:37 +02:00
aleos89
5e58149bbc Added support for 2015-11-04aRagEXE
* Added support for this client to replace the 2015-10-29aRagEXERE which had issues with unknown packets causing random disconnects.
Thanks to @icxbb-xx and @renniw!
2016-04-08 12:36:46 -04:00
aleos89
daa9e018f4 Release of Doram Race!
* Requires client 2015-10-01 and newer.
* All skills are usable from from the base list to all 3 branch types.
-- Some skills still need their official activation chance and durations.
* Adjusted the char-server start point and start item split functions to be more dynamic.
Thanks to Rytech and @NovaRagnarok for their information!
2016-03-19 14:09:30 -04:00
aleos89
a6811c7c18 Fixes #179
* Resolves NPC files not being loaded if the one before failed to load on Windows OS.
Thanks to @Lemongrass3110!
2016-02-06 09:36:36 -05:00
aleos89
e3c274ac5e Added support for client 2015-10-01 / 2015-10-29
* This does not add support for Doram server side.
Thanks to @Rytech!
2016-01-28 14:38:25 -05:00
Aleos
994b406575 Merge pull request #889 from rathena/feature/random_start_point
Implemented Randomized Start Point
* Fixes #805.
* Character's will follow somewhat of the official method of a 'random' start point at their first login.
* Official servers use load balancing for setting the start point dynamically according to user count, whereas we at rAthena wanted to stay simple since we don't believe you guys will need this kind of load balancing for new characters.
2016-01-22 12:23:22 -05:00
aleos89
b98fe0b597 Cleanup
* Moved parsing for start_point and start_items to separate functions.
* Moved startitem struct to mmo.h and declared start_items in the charserv_config.
* Adjusted the MAP_DEFAULT_NAME for pre-renewal to the correct map.
2016-01-20 10:18:26 -05:00
Napster
05cb1607c5 Follow up 3f26c3d
* forgot change packets version, stick on 20130807
2016-01-12 11:06:40 +07:00
Napster
d70b1734c8 Add support body style implementation
* This feature require the client support before 2015-05-13 or newer
   Make sure you data&lub support for this

  note : read info to https://rathena.org/board/topic/104205-2015-client-support/

  Special Thanks you to Rytech, @aleos89
2016-01-12 01:55:30 +07:00
aleos89
b7eb62ffb4 Follow up to a54bb65
* Fixed the config format.
* Adjusted atcommand go to properly place players on renewal mode.
2016-01-08 13:33:24 -05:00
Lemongrass3110
4871dab7de Fixed #854
Thanks to @theultramage for reporting and pinpointing the error as always!

Commiting this one for @aleos89, he fixed it for you guys.
2015-12-30 21:20:25 +01:00
Napster
71c6896541 Add New Skill(Pushcart Decoration)Packet Implemented
* This feature require the client support before 2015-08-26 or newer
  user can select cart for change to new design
​  Make sure you data&lub support for this

  Special Thanks you @Lemongrass3110, @renniw
  This is a Christmas gift for the rAthena people.
2015-12-24 16:29:40 +07:00
Lemongrass3110
c28c9f61be Removed maximum packet size from configuration
It's a source side define now, because you should really only change this if you know what you are doing.
Beautified the number for pre 2013-12-23, thanks to @dastgir.
Fixed a warning which was added by the last commit and was issued with the default settings, thanks to @cydh.

Follow up to f4b42b2
2015-12-09 19:28:44 +01:00
Lemongrass3110
f4b42b26fb Updated the maximum size for packets
According to 3ceam revision 764 clients from 2013-12-23 on can deal with bigger packets. 3ceam uses 65636 as maximum, but we decided to stick with the maximum for unsigned shorts. Thanks to Rytech!

Please consider staying with the default value, because we will remove this configuration soon and make it a source side define which is depending on the packetversion define.
2015-12-08 17:35:58 +01:00
Lemongrass3110
a2270aad71 VS 2015 support(commit 2/4)
Changed the compiler to VC14 and made it compileable.
2015-11-29 14:18:42 +01:00
icxbb-xx
d2d1fd21d3 *Add full Support 2015 client
- New EquipPackets Support v6
- add missing some old packets

Thank you to @Rytech and 3Ceam http://sourceforge.net/projects/v1-3ceam/
2015-11-21 21:33:16 +07:00
lighta
4342221a1e Follow up a7b8fd4a5d
Fix an invalid check on skill_parse_row_requiredb() for EQUIP_REQUIRE
Fix itemdb_group_free call in itemdb_read_itemgroup_sub using real
va_list, (preventing compilation on ARM)
Add some notes.
2015-11-17 00:21:05 -05:00
lighta
09ddcdfe2a Merge pull request #731 from lighta/master
Type enforcement
2015-11-15 19:14:39 -04:00
Lemongrass3110
085cd98bfd Merge pull request #748 from rathena/feature/pincode_extension
Feature/pincode extension
2015-11-09 23:47:18 +01:00
lighta
46d417a458 merge master into cppcheck 2015-10-30 02:48:40 -04:00
lighta
05aa1ffc8c Type enforcement
Change the type of
father_id,mother_id,child_id
mail.zeny,mail.send_id,mail.dest_id
from int to uint32, as this is their DB representation anyway and most
of those are mapped to char_id which is uint32.
This should remove the need of implicite cast and improve security
overall.
2015-10-29 23:43:48 -04:00
Cydh Ramdh
055f6d86a2 Follow up 214ff17c19, fixed errors and warnings in MSVS
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-10-21 20:29:46 +07:00
lighta
214ff17c19 Replace macro max and min, by some inline functions :
-To avoid having long operation repeated twice, peoples shouldn'tuse long operation into does macro but they do so...
-To avoid double increment or thing like such.
-Yes this involve some implicite cast sometime, but that still better then redo 10 dereference...
2015-10-21 04:12:01 -04:00
lighta
b480cb3d47 Valkyrie example
Move valkyrie sample config into conf/
Change path for relative path so that it could be applied for all.
tested with : 'valkyrie -f valkyrie_sample.cfg'
Change include in common, true that complicate move for those file but
will facilitate the parsing for some ide.
2015-10-21 01:59:32 -04:00
Lemongrass3110
5a49b70ba4 Fixed an issue where the memory leak log name was null on Windows. 2015-10-20 20:25:15 +02:00
aleos89
ce7aacb9a4 Base Status Stats Fix
* Fixes #562 - Fixes Crystallization not taking base VIT into account correctly.
* Confirmed on Aegis that Base Status Stats are NOT affected by job, skill, or item bonuses. These bonuses are stored in Battle Status.
2015-10-19 14:28:06 -04:00
Lemongrass3110
bba5e4f425 Added compile time checks whether to enable or disable pincode system code 2015-10-07 20:57:37 +02:00
Lemongrass3110
a760e01c59 Follow up to 78b6c15
Fixed a possible buffer overflow in mapindex.c
2015-10-02 20:31:07 +02:00
Cydh Ramdh
d0d14d04be Just spaces in cli.c
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-23 22:01:17 +07:00
aleos89
039e1b65a3 Quest System Update
* Added support for the new quests that grant item drops from mobs.
2015-09-17 13:24:42 -04:00
Cydh Ramdh
2fc20c460d Follow up f669072e85 and fa40773e82
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-16 20:00:49 +07:00
Cydh Ramdh
f669072e85 Fixed #638
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-16 16:06:09 +07:00
Napster
e56f329d5d Follow up fa40773 :
* Revert change some code
2015-09-13 08:48:53 +07:00
Cydh Ramdh
d301d1ecb3 * Fixed #633 compile warning. Thank @tmav94
* Move out `enum chrif_req_op` to socket.h so can be used too for `char_mapif.c`

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-12 10:18:32 +07:00
Cydh Ramdh
e933db556f Checked some preprocessors on mmo.h and core.h
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-09 21:05:07 +07:00
Aleos
6295c77d39 Merge pull request #457 from rathena/feature/script_engine_upgrade
Script Engine Upgrade
* More information here: https://rathena.org/board/topic/102946-script-engine-upgrade/
2015-08-31 14:26:15 -04:00
Napster
e444270b0a Follow up to 53868d5
* Fixed #600, Hotkey Rotate Packet Implemented, Thank You @dastgir

Credits : Hercules 2b4b33b06a
2015-08-28 16:32:23 +07:00
aleos89
9738c825cc Follow up to f53916e
* Fixed remaining memory leak.
* Cleaned up and optimized a few more ERS allocations.
2015-08-25 10:31:38 -04:00
aleos89
f53916e060 Script Engine Fixes
* Cleaned up db_vdestroy errors at server shutdown.
* Expanded the ERS system. Thanks to Hercules.
* Added ERS to the database trees to speed up iterator memory allocation. Thanks to Hercules.
2015-08-21 15:16:52 -04:00
Heler
9d47aa4ad9 Fixed warnings 2015-07-16 19:46:20 +03:00
Cydh Ramdh
2ae7862e84 Console Message Log update
* Added `console_msg_log` for char-server and login-server.
* Added `console_log_filepath` to determines log filepath.
  * Default for map_athena.conf is `./log/map-msg_log.log`, removed the hardcoded filepath.
  * Default for char_athena.conf is `./log/char-msg_log.log`.
  * Default for login_athena.conf is `./log/login-msg_log.log`.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-30 10:58:07 +07:00
aleos89
35cd68873b Merged with master 2015-06-26 10:36:40 -04:00
Cydh Ramdh
e6d5b09b06 Follow up 3d9c6e7763
* Added 'missing' packets for 2015-10-22 (51).
* Packet keys for packet_ver 50 and 51.
* Fixed memleak from Roulette items.
* Corrected date2version cases.
* Doc update, packet_interserv.txt.

Fixed wrong constant value for bSubSkill and bSubDefEle

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-20 11:59:29 +07:00
aleos89
3d9c6e7763 2014 Client Support
* Implemented the Roulette Game feature.
* Implemented per-character sex change feature.
* More info: https://rathena.org/board/topic/102247-2014-client-support/
- Special thanks to HerculesWS/Hercules@239d480 for the base.
2015-06-19 14:07:34 -04:00
aleos89
0696125b82 Script Engine Upgrade
* Upgraded the script engine variables to no longer be limited.
* Increased array limit from 127 to 2 billion.
* Improvement in overall speed and storage size.
* All variable types now support arrays.
- Merge from HerculesWS/Hercules@82b583b. Thanks to those who worked on it.
2015-06-11 10:44:13 -04:00
Lemongrass3110
a674869113 Fixed a lot of scanf issues reported by rathena's cppcheck 2015-05-13 14:47:07 -04:00
Cydh Ramdh
5ed75dc877 * Merge pull request #294 and its clean up
* Moved Bank Vault from `login` table (login-server level) to `global_reg_value` as #BANKVAULT (char-server level)
  * IMPORTANT: Read & import upgrade_20150408.sql
* Follow up cbdc0127, another fix for Point Shop NPC.
* Follow up 022d7289, corrected picklog initial for bound items that removed when member of guild/party or guild/party is broken. Please import upgrade_20150408_log.sql

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-09 01:26:17 +07:00
aleos89
bae469e6c6 Follow up to 9d247d8
* Disable Packet Obfuscation if it's enabled and client version is below 2011-08-17.
2015-03-14 14:31:04 -04:00
Cydh Ramdh
f05119b36c Packet Obfuscation support
* Enable it by uncomment `#define PACKET_OBFUSCATION` in mmo.h
* Obfuscation keys are defined in db/packet_db.txt, each packet_ver has their own default keys (for temperory lookup) in `packet_keys:` right after `packet_ver:`
* Keys can be refined (user-defined keys) by defining the keys in `packet_keys_use:` in file db/[import/]packet_db.txt
* This feature only for client 20110817 or newer
* `@reloadpacketdb` won't changes the keys, so make sure define everything before run the map-server.

Thank to @icxbb-xx, @aleos, 5a942993dd

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-01 15:16:56 +07:00