- Got rid of TaskArguments struct because it wasn't buying me anything. If the planner has to access it in order to function it negates its purpose
- Added const to Task virtual functions so that future users know when they can change state etc.
- Pulled the stack/stackless planning code into separate functions. I'm a little unhappy with the amount of code duplication and maintainability issues with having to always change two different places. Maybe I'll eventually get around to fixing it
- PlanStep() now pays full attention to the user's Break* settings. This means you can (with proper settings) complete a whole plan with a single PlanStep(). You can also make it break after basically every single action if necessary. I'm guessing this feature will never be used :(. I wrote a test for this as wel.
- Added Catch to make my formalize my Unit Testing code. It's very convenient and has nice output :)
- Added some helper functions for PlanStep() to eliminate some copypasta. I'll likely be doing more of this
I fixed the bug I was talking about in the previous commit, so it appears all the stack schenanigans are gone. I am still unsure why the bug was occurring, which is perhaps more unsettling than the bug itself.
Added printing Tasks and lists of them, which eases debugging.
- I tested writing Flatbuffers binaries out to JSON, which is cool.
- I made some changes to the ECS interface, added EntityList helpers, and implemented a simple pooled component manager.
- Note that ObjectPool is unfinished, and may be discarded (I'm having troubles coming up with a way to do handles).
- I decided to add Flatbuffers in its entirety to Galavant. I feel confident that it will work for all of my data serialization needs. Here's to hoping this doesn't bite me in the ass later.
- Wrote an awful experiment involving flatbuffers to get a feel for how to use the library
- Updated the readme with links and information about Jam
- Jamfiles now reference eachother and all use Jamrules for compilation variables. Building from the root galavant/ now deposits libs and bins to root galavant/lib and galavant/bin, which is much more organized. So far, only experiments are built to bin (as Galavant is supposed to be a lib only)