16 Commits

Author SHA1 Message Date
Lemongrass3110
329158ac93
Better error message for YAML syntax errors (#7217)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-08-30 11:15:26 +02:00
Lemongrass3110
01261dbf3d
Cleanup after RYML merge (#6785)
Speeded things up even more by making use of C++'s reference feature.
Fixed #6770 warning while at it.
Added back support for case insensitive booleans.
Fixed a very rare issue with cached databases.
Removed .children() calls
Added back type safety reports
Added ryml to login-server makefile

Thanks to @aleos89, @Atemo and @idk-whoami
2022-04-03 04:02:13 +02:00
Aleos
163f8c2c35
Fixes error reporting with SQL and ryml (#6778)
* Fixes #6768.
* Send 0 as the parse line in SQL mode for item scripts as the ryml parser isn't fully populated in SQL mode.
* Also cleans up some documentation references for EquipScript and UnEquipScript.
Thanks to @dralucon87 and @Lemongrass3110!
2022-04-02 12:44:30 -04:00
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
Lemongrass3110
c73ff231e1
Fixed warning for YAML database header (#5843)
The wrong version was given when the database was not the latest version but was still compatible with the parser's minimum version.

Additionally only in cases of full incompatibility the file name was displayed. Added this as well so the file that needs an upgrade is known to the user. This has especially been a problem with empty import databases with outdated header versions.
2021-04-11 23:41:58 +02:00
Lemongrass3110
9cdc008bfe
Fixed missing dummy item after reloading (#5552)
Fixes #5548

Thanks to @reunite-ro and @Triedge
2020-11-17 10:14:11 +01:00
Aleos
e8fcf01ffe
Resolves null YAML node checks (#5520)
Fixes #5510.

Resolves an issue with nodeExists not checking for null nodes resulting in parsing false-positives.
Further cleanup to the item DB SQL node parsing to allow some extra options to be toggle-able.
Default stacking options to false if not defined.

Thanks to @mplaten and @Lemongrass3110!
2020-11-03 22:42:02 +01:00
Lemongrass3110
579dc7b3a1 Added an initial loading message to YAML parsing 2020-10-24 22:49:19 +02: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
Aleos
dca3797d44
Converted the skill database to YAML (#4531)
* Combines skill_cast_db, skill_castnodex_db, skill_copyable_db, skill_nonearnpc_db, skill_require_db, and skill_unit_db into skill_db.
* Introduces a cached YAML class for quicker lookups.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-01-31 14:14:08 -05:00
Lemongrass3110
deb0615639 Follow up to 2fc7472
Fixed an issue with random calculation on abra in some cases.
Moved some commonly used functions into util and yaml database for global usage.

Thanks to @Daegaladh and @aleos89
2019-12-19 22:12:55 +01:00
Lemongrass3110
9389b7d425
Fixed appveyor building (#4451) 2019-11-15 18:21:31 +01:00
Lemongrass3110
2cc4402b49
Added progress for loading yaml databases (#4441) 2019-11-05 17:10:17 +01:00
Lemongrass3110
159ce4e3cd
Added unsigned rate support for yaml (#4442)
Added core functions to supported reading unsigned rates.
By default rates are values between 0 and 10000, if no other maximum is defined.
2019-11-04 22:04:16 +01:00
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format

Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
2019-03-26 22:51:57 +07:00
Aleos
78eed02273 Updated the YAML parsing method (#3694)
Synchronized the process of loading and parsing YAML databases.
Provides more robust parse warnings/errors.
Added Header checks to validate database versions.
Adjusted root keys to a standard name of Body.
Adjusted inter-server storages, achievements, and attendance to follow the new format.

Fixes #3483

Thanks to @Lemongrass3110!
2019-02-28 22:19:39 +01:00