139 Commits

Author SHA1 Message Date
25e2a0dda1
Documents the ScriptContainer.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-27 19:21:50 +02:00
cf4d74d898
More documentation for script hooks, reworks stat changes to only be changeable through a function that allows for script hooks, and events.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-27 18:26:27 +02:00
1c9edd4d9c
Adds more comments.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-20 19:26:33 +02:00
314e9dbe1a
Initial work on adding documentation, reorganises modules
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-19 21:34:08 +02:00
715f16e2b8
More work on switching battle data to interior mutability, instead of exterior mutability.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-19 12:07:54 +02:00
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.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 19:44:13 +02:00
dd535b30af
Rework setting while active to be slightly less hacky.
Some checks reported errors
continuous-integration/drone/push Build was killed
2022-06-18 18:41:23 +02:00
a1051d059e
We need to be able to remove and change scripts while they're currently being active.
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-18 18:08:25 +02:00
c99b1bf8d9
Fixes a bunch of clippy warnings, adds clippy to CI
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 16:06:54 +02:00
5576bc8b80
More work on using interior mutability instead of exterior mutability for dynamic types (Battle, Pokemon, etc).
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 15:52:39 +02:00
c45c7538bf
More removal of RwLocks and replace it with Atomics, to prevent locks.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 14:17:29 +02:00
59d7344729
Don't store the ChoiceQueue as an Arc<RwLock> to prevent locking issues.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 10:41:42 +02:00
09c2533bf5
Don't store the TurnChoices as Arc<RwLock>>, to prevent locking issues.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 09:49:17 +02:00
94403e2ca1
Disable Miri isolation in CI
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 20:42:58 +02:00
9e1f8aa50f
Fixes for build
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-17 20:38:00 +02:00
696cab36a2
Remove nextest
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-17 19:58:26 +02:00
b6ddd1ee13
First chunk of battling is now fully working, along with integration tests! 🎉
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-17 19:53:33 +02:00
59cc150643
Adds style checking to CI, remove debug code
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-16 19:05:54 +02:00
bd646df225
Remove C interface for now pending a full rewrite, adds address sanitizer to CI.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-16 18:25:25 +02:00
ff541b0696
Loads more work on battling, initial stretch to run a turn done.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-16 17:59:33 +02:00
a33369afcc
Some more functionality for battling, check if choice is valid, implement target resolvers.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-14 19:11:24 +02:00
8746f03500
Adds a bunch of script functions, adds parameters to the existing ones.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-13 21:25:30 +02:00
ca75177354
Fixes build, style fixes.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-12 19:09:07 +02:00
880ea55a67
Some work on script function parameters.
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-12 19:04:22 +02:00
00f66bbf59
Implements the script source methods on all current structs that implement it.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-12 18:41:49 +02:00
f0bc62ce19
Minor optimization in StringKey, making it from an Arc<String> into an Arc<str>
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-12 18:18:26 +02:00
55380f631f
Rework StringKey to be able to re-use strings for a lower memory footprint.
All checks were successful
continuous-integration/drone/push Build is passing
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
2aadab5a42
A lot more work on handling scripts properly.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-12 17:57:39 +02:00
56e1237c22
Adds more unit tests
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-11 20:51:37 +02:00
0c076dd711
Force colour in CI
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-11 19:27:47 +02:00
3c1fc4615f
Adds CI support.
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2022-06-11 18:56:17 +02:00
6e8f4dd4a5
A lot more work on a bunch of different parts of the system. 2022-06-11 17:22:46 +02:00
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
c27ea0ae1e
Removes derive-getters, as it was incredibly annoying in IDEs, and couldn't figure out borrow lifetimes. 2022-06-06 14:43:41 +02:00
ce33ec0649
Further massive amounts of work 2022-06-06 13:54:59 +02:00
df662ce6b5
Change to RwLock over Mutex, so we can read without locking, changes to BattleRandom to allow for cloning, and prevent race conditions. 2022-06-04 12:40:32 +02:00
310bf857d2
Major amounts of progress 2022-06-03 16:35:18 +02:00
c194c5d209
Initial work on outlining the dynamic side of the library. 2021-01-31 17:31:22 +01:00
2a08fb2645
Initial commit, implements most of the static_data side. 2021-01-30 22:29:59 +01:00