Commit Graph

110 Commits

Author SHA1 Message Date
Deukhoofd f9761f61da
make ChoiceQueue::move_pokemon_choice_next return a bool for success
continuous-integration/drone/push Build is passing Details
2022-08-28 15:50:39 +02:00
Deukhoofd 4c06dc17e2
Implements ChoiceQueue::move_pokemon_choice_next, micro optimization for BattleRandom::EffectChance.
continuous-integration/drone/push Build is passing Details
2022-08-28 15:34:40 +02:00
Deukhoofd ba5992e925
Implements every script function
continuous-integration/drone/push Build is passing Details
2022-08-27 18:04:56 +02:00
Deukhoofd bd62c1ac62
Update to Wasmer 3.0 beta
continuous-integration/drone/push Build is passing Details
2022-08-27 14:14:58 +02:00
Deukhoofd c5fb81c179
Clippy fixes, additional WASM registration work
continuous-integration/drone/push Build is failing Details
2022-08-26 18:23:35 +02:00
Deukhoofd 1e43c07d43
Fixes unit tests
continuous-integration/drone/push Build is failing Details
2022-08-20 13:26:06 +02:00
Deukhoofd 55cc0906c9
Remove lifetime mess, replace a lot of code with Arc instead of borrows.
continuous-integration/drone/push Build is failing Details
This cleans up the codebase massively, and allows me to maintain some semblance of sanity.
2022-08-20 13:17:20 +02:00
Deukhoofd 2d4253e155
More work on WASM handling.
continuous-integration/drone/push Build is failing Details
2022-08-20 12:22:12 +02:00
Deukhoofd 703fd2c147
Major fixes for WebAssembly
continuous-integration/drone/push Build is passing Details
2022-07-18 15:36:03 +02:00
Deukhoofd 0961b199ff
Cleans up the WASM environment handling.
Instead of passing the entire script resolver as a pointer to the WebAssemblyEnv, we now have split off the data actually relevant to the environment into it's own class, which is stored inside of an Arc.
2022-07-18 13:18:11 +02:00
Deukhoofd 9472c1cec2
Fixes memory issue
continuous-integration/drone/push Build is passing Details
2022-07-18 10:49:58 +02:00
Deukhoofd 7682704945
Initial work on wasm scripting backend 2022-07-18 10:16:47 +02:00
Deukhoofd 8eb1159d64
Fixes clippy warning.
continuous-integration/drone/push Build is passing Details
2022-07-01 18:49:09 +02:00
Deukhoofd cfabd7c790
Removes atomic dependency
continuous-integration/drone/push Build is passing Details
2022-07-01 18:44:09 +02:00
Deukhoofd 37f0cf8c35
Only use assert_approx_eq in dev 2022-07-01 18:27:56 +02:00
Deukhoofd 379e9d13ca
Block missing documentation on private items.
continuous-integration/drone/push Build is passing Details
2022-07-01 18:20:50 +02:00
Deukhoofd 0d95dcf618
Fixes all clippy warnings
continuous-integration/drone/push Build is passing Details
2022-07-01 18:20:16 +02:00
Deukhoofd 717fcdefda
Finished documenting all public interfaces.
continuous-integration/drone/push Build is passing Details
2022-07-01 17:52:00 +02:00
Deukhoofd 3c8d633be7
Changes for Statistic Sets, use a new way for Atomic traits.
continuous-integration/drone/push Build is passing Details
2022-07-01 17:30:36 +02:00
Deukhoofd 8f6ecdd4ad
More documentation.
continuous-integration/drone/push Build is passing Details
2022-07-01 17:07:22 +02:00
Deukhoofd 03f5e3bb5a
A lot more documentation, some initial work on the script resolver.
continuous-integration/drone/push Build is passing Details
2022-06-30 17:34:57 +02:00
Deukhoofd 25e2a0dda1
Documents the ScriptContainer.
continuous-integration/drone/push Build is passing Details
2022-06-27 19:21:50 +02:00
Deukhoofd cf4d74d898
More documentation for script hooks, reworks stat changes to only be changeable through a function that allows for script hooks, and events.
continuous-integration/drone/push Build is passing Details
2022-06-27 18:26:27 +02:00
Deukhoofd 1c9edd4d9c
Adds more comments.
continuous-integration/drone/push Build is passing Details
2022-06-20 19:26:33 +02:00
Deukhoofd 314e9dbe1a
Initial work on adding documentation, reorganises modules
continuous-integration/drone/push Build is passing Details
2022-06-19 21:34:08 +02:00
Deukhoofd 715f16e2b8
More work on switching battle data to interior mutability, instead of exterior mutability.
continuous-integration/drone/push Build is passing Details
2022-06-19 12:07:54 +02:00
Deukhoofd 2e19005a30
Even more work to create a sane way to replace scripts while they're active. This adds a way to await changes, to ensure they were actually made if we quickly need to use them.
continuous-integration/drone/push Build is passing Details
2022-06-18 19:44:13 +02:00
Deukhoofd dd535b30af
Rework setting while active to be slightly less hacky.
continuous-integration/drone/push Build was killed Details
2022-06-18 18:41:23 +02:00
Deukhoofd a1051d059e
We need to be able to remove and change scripts while they're currently being active.
continuous-integration/drone/push Build is failing Details
2022-06-18 18:08:25 +02:00
Deukhoofd c99b1bf8d9
Fixes a bunch of clippy warnings, adds clippy to CI
continuous-integration/drone/push Build is passing Details
2022-06-18 16:06:54 +02:00
Deukhoofd 5576bc8b80
More work on using interior mutability instead of exterior mutability for dynamic types (Battle, Pokemon, etc).
continuous-integration/drone/push Build is passing Details
2022-06-18 15:52:39 +02:00
Deukhoofd c45c7538bf
More removal of RwLocks and replace it with Atomics, to prevent locks.
continuous-integration/drone/push Build is passing Details
2022-06-18 14:17:29 +02:00
Deukhoofd 59d7344729
Don't store the ChoiceQueue as an Arc<RwLock> to prevent locking issues.
continuous-integration/drone/push Build is passing Details
2022-06-18 10:41:42 +02:00
Deukhoofd 09c2533bf5
Don't store the TurnChoices as Arc<RwLock>>, to prevent locking issues.
continuous-integration/drone/push Build is passing Details
2022-06-18 09:49:17 +02:00
Deukhoofd 94403e2ca1
Disable Miri isolation in CI
continuous-integration/drone/push Build is passing Details
2022-06-17 20:42:58 +02:00
Deukhoofd 9e1f8aa50f
Fixes for build
continuous-integration/drone/push Build is failing Details
2022-06-17 20:38:00 +02:00
Deukhoofd 696cab36a2
Remove nextest
continuous-integration/drone/push Build is failing Details
2022-06-17 19:58:26 +02:00
Deukhoofd b6ddd1ee13
First chunk of battling is now fully working, along with integration tests! 🎉
continuous-integration/drone/push Build is failing Details
2022-06-17 19:53:33 +02:00
Deukhoofd 59cc150643
Adds style checking to CI, remove debug code
continuous-integration/drone/push Build is passing Details
2022-06-16 19:05:54 +02:00
Deukhoofd bd646df225
Remove C interface for now pending a full rewrite, adds address sanitizer to CI.
continuous-integration/drone/push Build is passing Details
2022-06-16 18:25:25 +02:00
Deukhoofd ff541b0696
Loads more work on battling, initial stretch to run a turn done.
continuous-integration/drone/push Build is passing Details
2022-06-16 17:59:33 +02:00
Deukhoofd a33369afcc
Some more functionality for battling, check if choice is valid, implement target resolvers.
continuous-integration/drone/push Build is passing Details
2022-06-14 19:11:24 +02:00
Deukhoofd 8746f03500
Adds a bunch of script functions, adds parameters to the existing ones.
continuous-integration/drone/push Build is passing Details
2022-06-13 21:25:30 +02:00
Deukhoofd ca75177354
Fixes build, style fixes.
continuous-integration/drone/push Build is passing Details
2022-06-12 19:09:07 +02:00
Deukhoofd 880ea55a67
Some work on script function parameters.
continuous-integration/drone/push Build is failing Details
2022-06-12 19:04:22 +02:00
Deukhoofd 00f66bbf59
Implements the script source methods on all current structs that implement it.
continuous-integration/drone/push Build is passing Details
2022-06-12 18:41:49 +02:00
Deukhoofd f0bc62ce19
Minor optimization in StringKey, making it from an Arc<String> into an Arc<str>
continuous-integration/drone/push Build is passing Details
2022-06-12 18:18:26 +02:00
Deukhoofd 55380f631f
Rework StringKey to be able to re-use strings for a lower memory footprint.
continuous-integration/drone/push Build is passing Details
By caching strings we make sure we're using the exact same string everywhere, and creating 100 StringKeys of for example `charmander` will use the exact same memory footprint as creating only one.
2022-06-12 18:11:14 +02:00
Deukhoofd 2aadab5a42
A lot more work on handling scripts properly.
continuous-integration/drone/push Build is passing Details
2022-06-12 17:57:39 +02:00
Deukhoofd 56e1237c22
Adds more unit tests
continuous-integration/drone/push Build is passing Details
2022-06-11 20:51:37 +02:00