Commit Graph

179 Commits

Author SHA1 Message Date
Deukhoofd 4ffc8ba01f
Support for getting type names from TypeLibrary.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 12:54:28 +02:00
Deukhoofd 9cab330dbd
Update Arbutils.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 12:28:20 +02:00
Deukhoofd bd7ecb6b33
More work on exceptions.
continuous-integration/drone/push Build is passing Details
2020-07-31 14:17:38 +02:00
Deukhoofd b3b9698831
More clearer exception messages. 2020-07-30 20:15:27 +02:00
Deukhoofd 13c4609cdd
Tweaks for exception handling.
continuous-integration/drone/push Build is passing Details
2020-07-28 19:37:03 +02:00
Deukhoofd 36f1e5beeb
Further work on better exceptions.
continuous-integration/drone/push Build is passing Details
2020-07-26 17:41:11 +02:00
Deukhoofd 29eb7c603a
More reworks of exceptions. 2020-07-26 17:29:06 +02:00
Deukhoofd 367ed7fcbb
Cleanup CMake file. 2020-07-17 13:12:21 +02:00
Deukhoofd 5032377554
Remove Random passes by pointer.
continuous-integration/drone/push Build is passing Details
2020-07-12 15:26:00 +02:00
Deukhoofd 47515399fe
Supports iterating over BaseLibrary.
continuous-integration/drone/push Build is passing Details
2020-07-04 17:18:24 +02:00
Deukhoofd 48639eeee5
Update to new Arbutils
continuous-integration/drone/push Build is passing Details
2020-06-26 17:08:23 +02:00
Deukhoofd f55ae5a809
Syntax fixes.
continuous-integration/drone/push Build is passing Details
2020-06-20 18:53:10 +02:00
Deukhoofd 14458ec30c
Bring Library class in line with style lines.
continuous-integration/drone/push Build is failing Details
2020-06-20 18:50:55 +02:00
Deukhoofd 637649c993
Deal with talent indices that are out of bounds.
continuous-integration/drone/push Build is passing Details
2020-06-10 12:29:38 +02:00
Deukhoofd fccf339e76
Implements genderless mons.
continuous-integration/drone/push Build is passing Details
2020-06-10 12:16:09 +02:00
Deukhoofd 9e7607338f
Moved Creature types to creature itself, instead of using the variant types.
continuous-integration/drone/push Build is passing Details
2020-06-05 16:38:27 +02:00
Deukhoofd 3c5b3d5c03
Fixed potential reaching end of function.
continuous-integration/drone/push Build is passing Details
2020-06-05 15:42:28 +02:00
Deukhoofd 25f65eb47b
Update to newer Arbutils version.
continuous-integration/drone/push Build is passing Details
2020-05-26 18:31:06 +02:00
Deukhoofd e46117ea06
Fixes DataLibrary not having correct const definitions.
continuous-integration/drone/push Build is passing Details
2020-05-26 15:02:41 +02:00
Deukhoofd ecf1c47a53
Make Growth Rate library use unique_ptr 2020-05-26 14:58:16 +02:00
Deukhoofd aba56d2fdd
Make Attack secondary effect a unique_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-26 14:41:43 +02:00
Deukhoofd 8418c814b4
Make SpeciesVariants smart pointers.
continuous-integration/drone/push Build was killed Details
2020-05-26 14:35:18 +02:00
Deukhoofd 36208da2fb
Remove shared_ptr, instead use borrowed_ptr to more accurately depict ownership of the objects in the BaseLibraries.
continuous-integration/drone/push Build is passing Details
2020-05-26 14:13:30 +02:00
Deukhoofd d82792e27a
Make BaseLibraries use shared_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-24 20:57:22 +02:00
Deukhoofd b17c0648ff
Make DataLibrary use unique_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-24 19:01:47 +02:00
Deukhoofd 748f68b6d8
Fixes for earlier commit to fix GetEffectiveness in type library.
continuous-integration/drone/push Build is passing Details
2020-05-06 13:32:11 +02:00
Deukhoofd 51415895a4
Fixes GetEffectiveness in type library using integer instead of float.
continuous-integration/drone/push Build is failing Details
2020-05-06 13:27:50 +02:00
Deukhoofd 3a9e55aae5
C interface to add species variant.
continuous-integration/drone/push Build is passing Details
2020-05-04 20:40:45 +02:00
Deukhoofd 119e71e86a
Allow AsInt from Float EffectParameter, and AsFloat from Int EffectParameter.
continuous-integration/drone/push Build is passing Details
2020-05-03 21:08:27 +02:00
Deukhoofd 91ba93462b
Fixed issues with C Interface
continuous-integration/drone/push Build is passing Details
2020-05-02 20:03:18 +02:00
Deukhoofd 3b1c0e84e1
Fixed random value getter from BaseLibrary being broken.
continuous-integration/drone/push Build is passing Details
2020-04-25 11:08:04 +02:00
Deukhoofd 1eb751538d
Updated to latest Arbutils.
continuous-integration/drone/push Build is passing Details
2020-04-25 10:41:15 +02:00
Deukhoofd df37558ec0
Fix for random value from library not working.
continuous-integration/drone/push Build is failing Details
2020-04-24 18:43:18 +02:00
Deukhoofd 3ad21fecc2
Performance improvements for getting random value from libraries.
continuous-integration/drone/push Build is passing Details
2020-04-24 18:24:51 +02:00
Deukhoofd 97fa37ea7d
Implements clamped statistics for stat boost.
continuous-integration/drone/push Build is passing Details
2020-04-22 21:48:00 +02:00
Deukhoofd 331767789c
Tweaks and fixes for AttackData name.
continuous-integration/drone/push Build is passing Details
2020-04-21 15:48:21 +02:00
Deukhoofd bf6f77d904
Pass Random of GetRandomAttack by reference.
continuous-integration/drone/push Build is passing Details
2020-04-21 12:43:08 +02:00
Deukhoofd eff755a901
Rework of GetRandomAttack
continuous-integration/drone/push Build is passing Details
2020-04-21 12:41:26 +02:00
Deukhoofd a54459cc57
Fixes for effect. 2020-04-21 12:31:53 +02:00
Deukhoofd 78a42deb90
Use nullptr as non existing effect.
continuous-integration/drone/push Build is failing Details
2020-04-19 19:49:04 +02:00
Deukhoofd a580649224
Ensure AddLevelAttack adds to distinctMoves
continuous-integration/drone/push Build is failing Details
2020-04-19 19:11:48 +02:00
Deukhoofd 680f949df8
Return nullptr from LearnableAttacks when trying to retrieve from empty.
continuous-integration/drone/push Build is passing Details
2020-04-19 18:50:32 +02:00
Deukhoofd b286d1726d
Fix get random value from baselibrary returning key instead of value.
continuous-integration/drone/push Build is passing Details
2020-04-19 18:22:27 +02:00
Deukhoofd aeac49d892
Made GetRandomAttack const.
continuous-integration/drone/push Build is passing Details
2020-04-19 17:51:36 +02:00
Deukhoofd ad9cbf0670
Implements GetRandomAttack method on LearnableAttacks.
continuous-integration/drone/push Build is passing Details
2020-04-19 17:42:32 +02:00
Deukhoofd c6ce5fe8a7
Add function to BaseLibrary class to retrieve random value.
continuous-integration/drone/push Build is passing Details
2020-04-19 17:01:33 +02:00
Deukhoofd 88a8a28cc6
Pass item constructor flags by reference.
continuous-integration/drone/push Build is passing Details
2020-04-17 20:53:33 +02:00
Deukhoofd 317f616be2
Change EffectParameter string to ConstString, changed to Variant.
continuous-integration/drone/push Build is passing Details
2020-04-15 19:05:24 +02:00
Deukhoofd 5ac2b7b3c9
Turn SecondaryEffect class into pointer type, owned by AttackData.
continuous-integration/drone/push Build is passing Details
2020-04-10 22:17:48 +02:00
Deukhoofd beb50a60b0
Rework of EffectParameter storage, added float value.
continuous-integration/drone/push Build is passing Details
2020-04-10 21:05:44 +02:00
Deukhoofd a6ab69e043
Fixed EffectParameter memory leak.
continuous-integration/drone/push Build is passing Details
2020-04-10 20:15:05 +02:00
Deukhoofd d2320fde3c
Unit tests for EffectParameters.
continuous-integration/drone/push Build is failing Details
2020-04-10 20:09:15 +02:00
Deukhoofd e934e13950
Replace void* for script parameter with EffectParameter class.
continuous-integration/drone/push Build is passing Details
2020-04-10 17:54:45 +02:00
Deukhoofd e89d2a9e0c
Adds secondary effect parameter system.
continuous-integration/drone/push Build is failing Details
2020-04-10 16:35:24 +02:00
Deukhoofd 7194d3f4f8
Remove issue for Windows build.
continuous-integration/drone/push Build is passing Details
2020-04-09 18:38:00 +02:00
Deukhoofd 88eda6ef94
Update to new version of Arbutils.
continuous-integration/drone/push Build is failing Details
2020-04-09 18:19:21 +02:00
Deukhoofd 340520e0e3
Reworks attack scripts to handle effect chance and effect name through data files.
continuous-integration/drone/push Build is passing Details
2020-04-06 12:02:29 +02:00
Deukhoofd 1e0d00d3b7
Revert "Use smart pointers for basic libraries."
continuous-integration/drone/push Build is passing Details
This reverts commit 214ff819
2020-04-04 13:37:06 +02:00
Deukhoofd aee5bcb088
Mark LearnableAttacks on SpeciesVariant as unique.
continuous-integration/drone/push Build is passing Details
2020-03-27 20:46:44 +01:00
Deukhoofd 214ff81992
Use smart pointers for basic libraries.
continuous-integration/drone/push Build is passing Details
2020-03-26 22:46:14 +01:00
Deukhoofd 7ce3e6940d
Rework for C Interfaces to handle exceptions a bit better.
continuous-integration/drone/push Build is passing Details
2020-03-25 19:09:17 +01:00
Deukhoofd 27288563cd
Replace most collections with Arbutils collections for more safety.
continuous-integration/drone/push Build is passing Details
2020-03-22 19:21:40 +01:00
Deukhoofd 475392f9b6
Fixed issue where base stats of a variant got corrupted.
continuous-integration/drone/push Build is passing Details
2020-03-22 15:25:38 +01:00
Deukhoofd 899e432271
Added lots of security using asserts.
continuous-integration/drone/push Build is failing Details
2020-03-22 13:42:26 +01:00
Deukhoofd a7b87ab4f8
Merge Core library into Library, as with its utility functionality merged into Arbutils, it's becoming less and less useful.
continuous-integration/drone/push Build is failing Details
2020-03-22 10:11:53 +01:00
Deukhoofd e990c13109
Added Creature C Interface, misc fixes and changes for Creature.
continuous-integration/drone/push Build is passing Details
2020-03-05 11:25:41 +01:00
Deukhoofd 6bffea953d
Implements extern growthrate that uses function pointers. 2020-03-04 15:00:57 +01:00
Deukhoofd 81e173ec1a
C Interface for Lookup GrowthRate.
continuous-integration/drone/push Build is passing Details
2020-03-04 09:11:32 +01:00
Deukhoofd 33de8424be
Tweaks and fixes for Item, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-03 19:37:21 +01:00
Deukhoofd 461da76f59
Tweaks and fixes for AttackData, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:38:18 +01:00
Deukhoofd 81ae0e8454
Make Attack name a ConstString.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:29:42 +01:00
Deukhoofd 3bca3c0673
Reworked LearnedAttacks class, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:23:08 +01:00
Deukhoofd 0c1580ade6
Reworked retrieving talent, new method is cleaner and harder to misunderstand.
continuous-integration/drone/push Build was killed Details
2020-03-02 13:59:49 +01:00
Deukhoofd 5f341ffbb7
Use hash as key for Species variants, added C interface for Species.
continuous-integration/drone/push Build is passing Details
2020-02-29 17:00:29 +01:00
Deukhoofd 70ad3eb838
Tweaks and fixes for TypeLibrary 2020-02-29 16:06:36 +01:00
Deukhoofd 671077259e
Make typelibrary be based around the hash value instead of conststring value. 2020-02-29 15:54:02 +01:00
Deukhoofd 4341efb54c
Support ConstString in TypeLibrary. 2020-02-29 15:42:44 +01:00
Deukhoofd 4866edebab
Make GrowthRate library be key based on uint32, instead of on the ConstString, to save memory.
continuous-integration/drone/push Build is passing Details
2020-02-29 15:07:05 +01:00
Deukhoofd b7b54c04e8
Add the baselibrary classes to the C Interface.
continuous-integration/drone/push Build is passing Details
2020-02-29 14:52:15 +01:00
Deukhoofd 5a05a2f4d3
Add ConstString to several other places where context isn't changed much during runtime.
continuous-integration/drone/push Build is passing Details
2020-02-28 19:23:24 +01:00
Deukhoofd 469fcfe280
Make item name ConstString.
continuous-integration/drone/push Build is passing Details
2020-02-27 18:30:30 +01:00
Deukhoofd 412e0a4d63
Implements ConstString in several core places in the library, improving performance.
continuous-integration/drone/push Build is passing Details
2020-02-27 18:23:23 +01:00
Deukhoofd 5e6572aca5
Move several classes from Core to Arbutils.
continuous-integration/drone/push Build is failing Details
2020-02-26 13:51:16 +01:00
Deukhoofd 252be18630
Make growth rate library case insensitive, add exception if not found.
continuous-integration/drone/push Build is passing Details
2020-02-16 10:07:01 +01:00
Deukhoofd f37e27378e
Add methods for getting all talents and hidden talents from a species variant.
continuous-integration/drone/push Build is passing Details
2020-02-16 09:17:09 +01:00
Deukhoofd d609d5ca53
Mark CreatureSpecies GetVariantIterator as const.
continuous-integration/drone/push Build is passing Details
2020-02-15 19:35:56 +01:00
Deukhoofd 629567a2a5
Fix BaseLibrary GetCount, add functions that use std string.
continuous-integration/drone/push Build is passing Details
2020-02-15 19:14:10 +01:00
Deukhoofd d6ea16b467
Implement basic library class that other libraries inherit from for performance.
continuous-integration/drone/push Build is passing Details
2020-02-15 18:51:21 +01:00
Deukhoofd a47f60cdf7
Implements iterator functions for libraries.
continuous-integration/drone/push Build is passing Details
2020-02-15 18:15:31 +01:00
Deukhoofd a6f91faba4
Fix variants lowercasing causing stack smashing error.
continuous-integration/drone/push Build is passing Details
2020-02-13 18:45:41 +01:00
Deukhoofd 667821df28
Mark TryGetVariant as const.
continuous-integration/drone/push Build is passing Details
2020-02-13 17:37:37 +01:00
Deukhoofd 2ea5f9f9bd
Make variant keys case insensitive, added helper functions for variants.
continuous-integration/drone/push Build is passing Details
2020-02-13 17:16:07 +01:00
Deukhoofd 611198009b
Make Attack, Item and Species libraries be case insensitive.
continuous-integration/drone/push Build is passing Details
2020-02-13 16:05:27 +01:00
Deukhoofd 42050de18a
Use ENUM macro for Item Category enums.
continuous-integration/drone/push Build is passing Details
2020-02-13 10:49:45 +01:00
Deukhoofd 2732a904c4
Add easy to use macro to generate enum helper functions for parsing, stringifying and iteration.
continuous-integration/drone/push Build is failing Details
2020-02-12 19:48:56 +01:00
Deukhoofd a8944e2026
Fix AttackData constructor to use signed byte for priority instead of unsigned. 2020-02-12 10:11:25 +01:00
Deukhoofd 80708040a4
When setting variant of species with the same name of already existing variant, delete previous variant.
continuous-integration/drone/push Build is passing Details
2020-02-09 12:04:59 +01:00
Deukhoofd 3f57051219
Made CreatureSpecies destructor virtual.
continuous-integration/drone/push Build is passing Details
2020-02-09 10:47:18 +01:00
Deukhoofd f973259bef
Force insertion when setting species variant, as to prevent memory leaks.
continuous-integration/drone/push Build is passing Details
2020-02-08 20:16:47 +01:00
Deukhoofd 52d24922ff
Make type library work case insensitive.
continuous-integration/drone/push Build is passing Details
2020-02-08 17:50:27 +01:00