Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 3e8f9340f3 Dont delete events after triggering the event listener. Once they're in the event listeners hands, it's their responsibility to properly clean up the memory. 2020-07-31 15:47:18 +02:00
Deukhoofd df0eca1716 C Interface explicit constructors for different events.
continuous-integration/drone/push Build is passing
2020-07-31 15:01:25 +02:00
Deukhoofd b1ecb56f10 Add C Interface for Battle::GetCurrentTurn.
continuous-integration/drone/push Build is passing
2020-07-31 14:21:46 +02:00
Deukhoofd bd7ecb6b33 More work on exceptions.
continuous-integration/drone/push Build is passing
2020-07-31 14:17:38 +02:00
Deukhoofd 9c93ca6995 Fixed exception messages being wrong.
continuous-integration/drone/push Build is passing
2020-07-31 11:23:23 +02:00
Deukhoofd a4c4cad59b Merge the two different libs together into the same library.
continuous-integration/drone/push Build is passing
2020-07-31 10:51:03 +02:00
Deukhoofd 5a41208fdb Further clearer error handling.
continuous-integration/drone/push Build is passing
2020-07-31 10:45:20 +02:00
Deukhoofd b56226076e Fixed issue where multiple targets would cause the same target to be hit over and over again.
continuous-integration/drone/push Build is passing
2020-07-30 20:15:58 +02:00
Deukhoofd b3b9698831 More clearer exception messages. 2020-07-30 20:15:27 +02:00
Deukhoofd 29013bb6ac Fix issue with having two different libraries sharing the same CreatureLib Exception C Interface.
continuous-integration/drone/push Build is passing
2020-07-30 20:06:23 +02:00
Deukhoofd 99a562812d Fixed issue where initial exception in the C Interface kept being blank.
continuous-integration/drone/push Build is failing
2020-07-30 18:41:38 +02:00
Deukhoofd 13c4609cdd Tweaks for exception handling.
continuous-integration/drone/push Build is passing
2020-07-28 19:37:03 +02:00
Deukhoofd e2e706693b Clearer errors for C Interface.
continuous-integration/drone/push Build is passing
2020-07-28 17:22:43 +02:00
Deukhoofd 1d03adf0d1 Implements replacement attack when an attack can't be used anymore, adds clearer exception handling.
continuous-integration/drone/push Build is passing
2020-07-26 18:00:58 +02:00
Deukhoofd 36f1e5beeb Further work on better exceptions.
continuous-integration/drone/push Build is passing
2020-07-26 17:41:11 +02:00
Deukhoofd 29eb7c603a More reworks of exceptions. 2020-07-26 17:29:06 +02:00
Deukhoofd 9ec41fdd2d Rework how the C Interface shows exceptions
continuous-integration/drone/push Build is passing
2020-07-26 17:22:36 +02:00
Deukhoofd 418d811d18 Rework of C Interface exception handler.
continuous-integration/drone/push Build is passing
2020-07-26 16:30:00 +02:00
Deukhoofd a4bb8864a0 When creating a CreatureParty with a size, don't just reserve the space, but append nullptr as well.
continuous-integration/drone/push Build is passing
2020-07-26 16:08:41 +02:00
Deukhoofd 8ba564d4b7 C Interface for getting party from BattleParty.
continuous-integration/drone/push Build is passing
2020-07-26 15:46:11 +02:00
Deukhoofd 7ed118e5de Fixed issue in BattleParty C Interface.
continuous-integration/drone/push Build is passing
2020-07-26 15:29:16 +02:00
Deukhoofd a6ed6d63cc Add individual C Interface destructors for turn choices.
continuous-integration/drone/push Build is passing
2020-07-26 11:37:05 +02:00
Deukhoofd 141f0338bf Fixed naming in AttackTurnChoice C Interface.
continuous-integration/drone/push Build is passing
2020-07-26 11:24:31 +02:00
Deukhoofd 436e68293e Support for passing a random seed.
continuous-integration/drone/push Build is passing
2020-07-26 10:16:25 +02:00
Deukhoofd e6f84f182a Add Creature getter for the library.
continuous-integration/drone/push Build is passing
2020-07-25 15:02:11 +02:00
Deukhoofd 8f921ce89b Add support for swapping in and out of a party.
continuous-integration/drone/push Build is passing
2020-07-25 14:35:13 +02:00
Deukhoofd 3f447a3e16 Add C Interface for Creature::GetActiveTalent.
continuous-integration/drone/push Build is passing
2020-07-24 10:16:57 +02:00
Deukhoofd a4faa1351b Mark exported functions as maybe unused. 2020-07-24 10:14:10 +02:00
Deukhoofd be82abeece Change nickname to string from string_view.
continuous-integration/drone/push Build is passing
2020-07-19 12:15:14 +02:00
Deukhoofd 75810b9d0c Implements C Interface for SpeciesVariant.GetRandomTalent
continuous-integration/drone/push Build is passing
2020-07-18 12:20:47 +02:00
Deukhoofd 4fe0c70635 Implements C Interface for Species.GetRandomGender
continuous-integration/drone/push Build is passing
2020-07-17 14:43:04 +02:00
Deukhoofd ee9e5cd11b Further path fixing.
continuous-integration/drone/push Build is passing
2020-07-17 13:30:26 +02:00
Deukhoofd 869a2ade90 Remove invalid command on build.
continuous-integration/drone/push Build is failing
2020-07-17 13:21:27 +02:00
Deukhoofd aa1e60af18 Fix paths
continuous-integration/drone/push Build is failing
2020-07-17 13:15:08 +02:00
Deukhoofd f273c9c90f Make build also use test build.
continuous-integration/drone/push Build is failing
2020-07-17 13:12:58 +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
2020-07-12 15:26:00 +02:00
Deukhoofd abab1d0f9a Force colour for style check.
continuous-integration/drone/push Build is passing
2020-07-07 15:44:20 +02:00
Deukhoofd 2225d32432 Cleanup of C Interface, remove use of operator->, as it will throw when null.
continuous-integration/drone/push Build is passing
2020-07-07 15:43:31 +02:00
Deukhoofd c6974b6b5b Adds getter for Script for ExecutingAttack. Mostly useful for unit tests etc.
continuous-integration/drone/push Build is passing
2020-07-04 18:13:36 +02:00
Deukhoofd 47515399fe Supports iterating over BaseLibrary.
continuous-integration/drone/push Build is passing
2020-07-04 17:18:24 +02:00
Deukhoofd 61bf868583 Update to newer Arbutils.
continuous-integration/drone/push Build is passing
2020-07-04 15:12:12 +02:00
Deukhoofd 772619db0f Changed LoadScript to StringView.
continuous-integration/drone/push Build is failing
2020-06-26 18:23:40 +02:00
Deukhoofd 48639eeee5 Update to new Arbutils
continuous-integration/drone/push Build is passing
2020-06-26 17:08:23 +02:00
Deukhoofd f50f76e993 Move priority scripthook to more sensible place in turn flow.
continuous-integration/drone/push Build is passing
2020-06-20 19:51:34 +02:00
Deukhoofd b3366f7b58 Script hook for changing priority.
continuous-integration/drone/push Build is passing
2020-06-20 19:44:41 +02:00
Deukhoofd f55ae5a809 Syntax fixes.
continuous-integration/drone/push Build is passing
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
2020-06-20 18:50:55 +02:00
Deukhoofd add77325a4 Several additional checks to ensure battle does not finish turn when ended.
continuous-integration/drone/push Build is passing
2020-06-12 16:48:49 +02:00
Deukhoofd fd1c6e9a0a If no side is still alive, mark battle as inconclusive ended.
continuous-integration/drone/push Build is passing
2020-06-12 16:25:21 +02:00
Deukhoofd 32bb641f75 Fixed issue with underflow in ScriptAggregator.
continuous-integration/drone/push Build is passing
2020-06-12 15:49:37 +02:00
Deukhoofd 3358bf7378 Fixed comparing int32_t with uint32_t.
continuous-integration/drone/push Build is passing
2020-06-10 14:46:45 +02:00
Deukhoofd c8314d6018 Support for changing variants.
continuous-integration/drone/push Build is failing
2020-06-10 14:39:20 +02:00
Deukhoofd 637649c993 Deal with talent indices that are out of bounds.
continuous-integration/drone/push Build is passing
2020-06-10 12:29:38 +02:00
Deukhoofd fccf339e76 Implements genderless mons.
continuous-integration/drone/push Build is passing
2020-06-10 12:16:09 +02:00
Deukhoofd fc74a7d4bd Fixed broken test.
continuous-integration/drone/push Build is passing
2020-06-05 18:10:58 +02:00
Deukhoofd fddf2cabab Rework ScriptIterator to jump to first value on reset.
continuous-integration/drone/push Build is failing
2020-06-05 18:06:45 +02:00
Deukhoofd 9e7607338f Moved Creature types to creature itself, instead of using the variant types.
continuous-integration/drone/push Build is passing
2020-06-05 16:38:27 +02:00
Deukhoofd 3c5b3d5c03 Fixed potential reaching end of function.
continuous-integration/drone/push Build is passing
2020-06-05 15:42:28 +02:00
Deukhoofd 66379bfa65 Initial support for handling multi target attacks.
continuous-integration/drone/push Build is failing
2020-06-05 15:32:05 +02:00
Deukhoofd f463ba8496 Simplify check whether mon is on battle field.
continuous-integration/drone/push Build is passing
2020-06-05 14:35:23 +02:00
Deukhoofd 44de4a0799 Use std::algorithm for Battle::CreatureInField
continuous-integration/drone/push Build is passing
2020-06-05 14:15:20 +02:00
Deukhoofd 57e8595bdf Make ExecutingAttack creature list a raw C array, as this is a hot spot and could use some optimization.
continuous-integration/drone/push Build is passing
2020-06-04 21:58:28 +02:00
Deukhoofd 657d646fda Make the last couple classes use smart pointers.
continuous-integration/drone/push Build is passing
2020-06-02 18:30:37 +02:00
Deukhoofd 7262ae9e8b Make ExecutingAttack use smart pointers. 2020-06-02 18:02:37 +02:00
Deukhoofd a5a613ba5c Make CreateCreature use smart pointers. 2020-06-02 17:19:23 +02:00
Deukhoofd 62583ecb17 Make Creature use smart pointers.
continuous-integration/drone/push Build is passing
2020-06-02 16:20:47 +02:00
Deukhoofd 1ef50fd3a6 Use unique pointers in scriptset.
continuous-integration/drone/push Build is passing
2020-06-02 15:03:31 +02:00
Deukhoofd 23e2bc73bc Style fixes.
continuous-integration/drone/push Build is passing
2020-06-02 14:14:24 +02:00
Deukhoofd e8650e2a03 Fixed build error.
continuous-integration/drone/push Build is passing
2020-06-02 14:02:32 +02:00
Deukhoofd e4b9550efa Make all individual scripts smart pointers.
continuous-integration/drone/push Build is failing
2020-06-02 13:43:44 +02:00
Deukhoofd dba1275813 Move ScriptIterator reset to get call instead of inside Macro.
continuous-integration/drone/push Build is failing
2020-06-02 13:21:23 +02:00
Deukhoofd f898698f49 Use smart pointers for BattleSide.
continuous-integration/drone/push Build is failing
2020-06-02 13:06:24 +02:00
Deukhoofd 49e8ff055d Use smart pointer for BattleParty.
continuous-integration/drone/push Build is failing
2020-06-02 12:16:26 +02:00
Deukhoofd 18203138d1 Use algorithm for IsResponsibleForIndex check.
continuous-integration/drone/push Build is failing
2020-06-02 12:14:49 +02:00
Deukhoofd 69f6a89c0d Make CreatureParty use smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 19:04:40 +02:00
Deukhoofd 01f6e59cb6 Make battle class fields all smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 19:01:45 +02:00
Deukhoofd 29cb4eac37 Make ChoiceQueue use smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 18:00:39 +02:00
Deukhoofd ff181204ae Make LearnedAttack of Creature a smart pointer.
continuous-integration/drone/push Build is passing
2020-05-31 17:26:39 +02:00
Deukhoofd a7069a5960 Ensure Attack script is deleted when not taken by ExecutingAttack.
continuous-integration/drone/push Build is passing
2020-05-29 20:05:05 +02:00
Deukhoofd 20be2815ce Revert "Clean up choices if they can't be used."
continuous-integration/drone/push Build is passing
This reverts commit 04cef8b6
2020-05-29 19:29:25 +02:00
Deukhoofd 04cef8b6e2 Clean up choices if they can't be used.
continuous-integration/drone/push Build is failing
2020-05-29 19:25:46 +02:00
Deukhoofd d51919c74f Make ExecutingAttack a local variable while being used, to ensure it's always cleaned up.
continuous-integration/drone/push Build is passing
2020-05-29 18:49:48 +02:00
Deukhoofd a9740cb1eb Fixed memory leak in ExecutingAttack.
continuous-integration/drone/push Build is passing
2020-05-27 18:29:52 +02:00
Deukhoofd fcc6f2214e Make ExecutingAttack have raw pointer array HitData, instead of a List. This is a very hot segment of code, and removing surrounding abstractions can give us a decent amount of performance.
continuous-integration/drone/push Build is failing
2020-05-27 18:26:09 +02:00
Deukhoofd 90e7a699bc Remove const qualification of ScriptResolver.
continuous-integration/drone/push Build is passing
2020-05-26 20:53:06 +02:00
Deukhoofd 25f65eb47b Update to newer Arbutils version.
continuous-integration/drone/push Build is passing
2020-05-26 18:31:06 +02:00
Deukhoofd d746b3ecce Make staticlib in battle library an unique ptr.
continuous-integration/drone/push Build is passing
2020-05-26 16:38:55 +02:00
Deukhoofd 0125215007 Style fixes 2020-05-26 16:35:01 +02:00
Deukhoofd 16b67b0d54 Make most of the battle library use unique_ptr.
continuous-integration/drone/push Build is passing
2020-05-26 15:11:04 +02:00
Deukhoofd e46117ea06 Fixes DataLibrary not having correct const definitions.
continuous-integration/drone/push Build is passing
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
2020-05-26 14:41:43 +02:00
Deukhoofd 8418c814b4 Make SpeciesVariants smart pointers.
continuous-integration/drone/push Build was killed
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
2020-05-26 14:13:30 +02:00
Deukhoofd d82792e27a Make BaseLibraries use shared_ptr.
continuous-integration/drone/push Build is passing
2020-05-24 20:57:22 +02:00
Deukhoofd b17c0648ff Make DataLibrary use unique_ptr.
continuous-integration/drone/push Build is passing
2020-05-24 19:01:47 +02:00
Deukhoofd c056ddc6b3 Adds getter for parties to battle.
continuous-integration/drone/push Build is passing
2020-05-24 12:57:12 +02:00
Deukhoofd 2e860192c7 Support for blocking a creature from gaining experience, don't give experience when a creature is fainted.
continuous-integration/drone/push Build is passing
2020-05-20 15:18:27 +02:00
Deukhoofd 6c40f4291d Fixed C Interface for DamageLibrary returning floats instead of expected bytes.
continuous-integration/drone/push Build is passing
2020-05-20 15:02:53 +02:00