17 Commits

Author SHA1 Message Date
Jittapan Pluemsumran
d1b7061f5a
YAML loading optimization (#5997)
* Use rapidyaml library to parse YAML databases instead of yaml-cpp.
* Drastically reduces the parse time for yaml databases.
* Removes yaml-cpp content from main servers, except for tool emitter.
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
Co-authored-by: Atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-03-30 16:38:52 -04:00
Aleos
5aa9f75343
Cleaned up remaining TODO for Achievements (#4446)
* Converts labels to camelCase.
* Converts labels to plural where needed.
* Converts Target MobID to use the Sprite name.
* Converts Rewards ItemID to use the Aegis name.
* Dependents now checks for duplicate IDs.
* Dependents now properly supports import methods.
* Added YAMLUpgrade tool to convert previous YAML databases to new format.
* Removes the unique index value for Dependent Achievement ID.
* Adds support for the AG_CHATTING achievement types triggered by script (achievementupdate script command).
* AG_CHATTING map type achievements are still disabled as behavior is unknown.
* AG_HEAR and AG_SEE are now dropped and those achievements have been converted to AG_CHATTING.
* Converts the group constants to how Aegis names them.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-02-17 18:01:11 -05:00
Aleos
04cfe17b2b
Converted item database to YAML (#4335)
* Combines item_avail, item_buyingstore, item_delay, item_flag, item_nouse, item_stack, and item_trade databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
* Includes YAML2SQL conversion tool.
* Adjusts dummy_item from being created by malloc and now creates it by make_shared.
* Item combos are now stored as a STL.
Thanks to @Lemongrass3110, @Atemo, and @cydh!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-21 19:02:11 -04:00
Lemongrass3110
c2899d754f
Added the skeleton for the yaml converter (#3991)
Updated travis to build tools as well.

Thanks to @aleos89 for this help.
2019-03-01 00:41:20 +01:00
Lemongrass3110
801d3ed942
Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00
Sader Fawall
eb8f33e40f Corrected mapcache build (#2715)
* Removed the hyphen from the name in the Windows build.
Thanks to @sader1992!
2017-12-20 10:02:52 -05:00
Cydh Ramdh
02044c0d58
Added custom src files to rAthena.sln (#2650)
Listed all files inside src/custom/ to rAthena.sln makes easier to find the file while opening the solution
2017-11-29 10:31:54 +07:00
lighta
664ea47891 Fix basic_test not having common.lib has dependancies registered in solution.
(cause some build failure due to linking trying to be process before lib was finished)
2017-11-28 03:57:07 -04:00
lighta
618b9356fc
Fix #2591 spinlock issue. (#2637)
* Fix #2591 spinlock issue.
Add basic_test, for few integration test.
Add thread_local_storage support in cmake
Fix thread.c for linux and fix small typo
2017-11-26 22:30:17 -04:00
Lemongrass3110
4de727efbc Changed minimum VS version to VS 2013 SP5 (#2610)
With this you will not be able to open the solution with any older visual studio version anymore.
2017-11-19 12:33:32 -05:00
Jittapan Pluemsumran
cc1d26fe74 Inter server C++ conversion (#2322)
* Renamed inter.c to inter.cpp and refactored it

* Converted inter_server.conf to inter_server.yml

* Updated the makefiles

* Refactored inter-server storage handling logic

* Fixed a bug with wrong maximum being displayed
When you took out an item of the storage it would always display the maximum amount of the normal storage.

* Fixed a bug with storages that are over maximum

Thanks to @Akkarinage, @Lemongrass3110 and @Jeybla
2017-08-14 01:27:58 +02:00
Lemongrass3110
6b18ea56a0 Fixed x64 release mode not building all servers 2017-08-11 21:21:09 +02:00
Lemongrass3110
f0ab8d2a52 Overhauled and dropped packet db (#2263)
Adds support for a lot of missing clients and features almost all clients from 2016 and 2017
clientinfo.xml's version value will be ignored from now on
By setting PACKETVER the server will configure everything else on it's own from now on
Dropped is_clientver script command
And a lot more
2017-07-15 22:45:12 +02:00
Jittapan Pluemsumran
4a2574c599 Migrate core source files to C++. Add yaml-cpp project as dependency (#2207)
By updating to this commit, Linux users have to regenerate Makefiles by re-running the configure script.

* Added yaml-cpp project as a 3rdparty library
* Migrated source files core to C++
* Updated configure scripts
* Make Linux installations compile *.cpp files
* Made server components' main source file C++
* Also made headers CPP-aware.

* Added basic C wrapper for yaml-cpp library
* YAML-node path is delimited by periods.
* Basic integer types and string are supported.
* Strings returned from this wrapper have to be freed with malloc.h::aFree
* Arrays (sequence) is supported with iterator wrapper.
* Remember to free every wrapper you create!

* Add yaml-cpp as dependency of common project
* Made the repo not ignore *.yml files

Thanks to @aleos89 and @Lemongrass3110.
2017-06-25 23:33:24 +07:00
Lemongrass3110
07b2ef28a0 Added Visual Studio x64 support
Removed the .dll files for the libraries from the root directory.
They are now copied from the 3rdparty folder when your build finishes and the project requires them.
If you clean your project they will also automatically be removed from the root directory again.

Updated libraries:
MySQL 5.0.20 -> 6.1.9
PCRE 8.30 -> 8.33.0.1 UTF8

Both Win32 and x64 are now supported. Remember to clean and build when you switch the target platform, otherwise you will end up with the wrong .dll files at runtime.
2017-04-28 13:40:08 +02:00
Lemongrass3110
31cd394d1d Follow up to 4cfaa18
Removed the duplicated lines
Also removed project dependencies for libconfig and mt19937ar from common-minicore
2017-04-27 11:06:59 +02:00
Florian Wilkemeyer
4f47f1fab0 Added Visual Studio 2013 Solution && Clean Project Files with proper dependencies
- x64/AMD64 Support prepared (will be added in a followup commit, it needs some changes in 3rdpary libs)
2016-04-25 12:49:35 +02:00