Deukhoofd
c5fb81c179
Clippy fixes, additional WASM registration work
2022-08-26 18:23:35 +02:00
Deukhoofd
1e43c07d43
Fixes unit tests
2022-08-20 13:26:06 +02:00
Deukhoofd
55cc0906c9
Remove lifetime mess, replace a lot of code with Arc instead of borrows.
...
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.
2022-08-20 12:22:12 +02:00
Deukhoofd
703fd2c147
Major fixes for WebAssembly
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
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.
2022-07-01 18:49:09 +02:00
Deukhoofd
cfabd7c790
Removes atomic dependency
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.
2022-07-01 18:20:50 +02:00
Deukhoofd
0d95dcf618
Fixes all clippy warnings
2022-07-01 18:20:16 +02:00
Deukhoofd
717fcdefda
Finished documenting all public interfaces.
2022-07-01 17:52:00 +02:00
Deukhoofd
3c8d633be7
Changes for Statistic Sets, use a new way for Atomic traits.
2022-07-01 17:30:36 +02:00
Deukhoofd
8f6ecdd4ad
More documentation.
2022-07-01 17:07:22 +02:00
Deukhoofd
03f5e3bb5a
A lot more documentation, some initial work on the script resolver.
2022-06-30 17:34:57 +02:00
Deukhoofd
25e2a0dda1
Documents the ScriptContainer.
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.
2022-06-27 18:26:27 +02:00
Deukhoofd
1c9edd4d9c
Adds more comments.
2022-06-20 19:26:33 +02:00
Deukhoofd
314e9dbe1a
Initial work on adding documentation, reorganises modules
2022-06-19 21:34:08 +02:00
Deukhoofd
715f16e2b8
More work on switching battle data to interior mutability, instead of exterior mutability.
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.
2022-06-18 19:44:13 +02:00
Deukhoofd
dd535b30af
Rework setting while active to be slightly less hacky.
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.
2022-06-18 18:08:25 +02:00
Deukhoofd
c99b1bf8d9
Fixes a bunch of clippy warnings, adds clippy to CI
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).
2022-06-18 15:52:39 +02:00
Deukhoofd
c45c7538bf
More removal of RwLocks and replace it with Atomics, to prevent locks.
2022-06-18 14:17:29 +02:00
Deukhoofd
59d7344729
Don't store the ChoiceQueue as an Arc<RwLock> to prevent locking issues.
2022-06-18 10:41:42 +02:00
Deukhoofd
09c2533bf5
Don't store the TurnChoices as Arc<RwLock>>, to prevent locking issues.
2022-06-18 09:49:17 +02:00
Deukhoofd
94403e2ca1
Disable Miri isolation in CI
2022-06-17 20:42:58 +02:00
Deukhoofd
9e1f8aa50f
Fixes for build
2022-06-17 20:38:00 +02:00
Deukhoofd
696cab36a2
Remove nextest
2022-06-17 19:58:26 +02:00
Deukhoofd
b6ddd1ee13
First chunk of battling is now fully working, along with integration tests! 🎉
2022-06-17 19:53:33 +02:00
Deukhoofd
59cc150643
Adds style checking to CI, remove debug code
2022-06-16 19:05:54 +02:00
Deukhoofd
bd646df225
Remove C interface for now pending a full rewrite, adds address sanitizer to CI.
2022-06-16 18:25:25 +02:00
Deukhoofd
ff541b0696
Loads more work on battling, initial stretch to run a turn done.
2022-06-16 17:59:33 +02:00
Deukhoofd
a33369afcc
Some more functionality for battling, check if choice is valid, implement target resolvers.
2022-06-14 19:11:24 +02:00
Deukhoofd
8746f03500
Adds a bunch of script functions, adds parameters to the existing ones.
2022-06-13 21:25:30 +02:00
Deukhoofd
ca75177354
Fixes build, style fixes.
2022-06-12 19:09:07 +02:00
Deukhoofd
880ea55a67
Some work on script function parameters.
2022-06-12 19:04:22 +02:00
Deukhoofd
00f66bbf59
Implements the script source methods on all current structs that implement it.
2022-06-12 18:41:49 +02:00
Deukhoofd
f0bc62ce19
Minor optimization in StringKey, making it from an Arc<String> into an Arc<str>
2022-06-12 18:18:26 +02:00
Deukhoofd
55380f631f
Rework StringKey to be able to re-use strings for a lower memory footprint.
...
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.
2022-06-12 17:57:39 +02:00
Deukhoofd
56e1237c22
Adds more unit tests
2022-06-11 20:51:37 +02:00
Deukhoofd
0c076dd711
Force colour in CI
2022-06-11 19:27:47 +02:00
Deukhoofd
3c1fc4615f
Adds CI support.
2022-06-11 18:56:17 +02:00
Deukhoofd
6e8f4dd4a5
A lot more work on a bunch of different parts of the system.
2022-06-11 17:22:46 +02:00
Deukhoofd
10e93949e4
Cleaner handling of tracking seen opponents.
...
Instead of keeping track of unique identifiers, keep track of weak pointers to the pokemon, so we can just try and upgrade them later.
2022-06-06 16:24:13 +02:00