Commit graph

24 commits

Author SHA1 Message Date
Zed A. Shaw
0aeb5b4ceb Make the FSM_STATE work better with optional loggins set by a define and standardize on using enum class by default. 2024-09-16 06:53:49 -04:00
Zed A. Shaw
07553400f5 Test suite now accurately runs the GameEngine FSM for multiple rounds. 2024-09-15 03:23:09 -04:00
Zed A. Shaw
ea89e083dd The std::async calls need a lock on them. 2024-09-15 02:24:41 -04:00
Zed A. Shaw
4b2ed2951e Game engine now handles damage types but Ineed to refine the state machines so some of them can take additional data. 2024-09-12 01:25:23 -04:00
Zed A. Shaw
9e6c05eccd GameEngine is now a state machine so I can push its design further and keep it solid. 2024-09-12 00:34:41 -04:00
Zed A. Shaw
7c9bea81b2 The UI is _finally_ responsive while the builder runs. 2024-09-10 23:41:50 -04:00
Zed A. Shaw
fff182b457 Refactored out the main_loop so that it's not tightly coupled inside builder, and in the process found I was accidentally copying GUI and GameEngine because Builder wasn't using a &ref for them. Now they don't have a copy constructor to catch that. 2024-09-10 04:38:21 -04:00
Zed A. Shaw
a7c5de6ac3 Builder is now using the FSM I wrote. Still not as clean as I like but big improvement. 2024-09-10 01:56:22 -04:00
Zed A. Shaw
356314406f Now using a std::async and future to do an async popen but I also need the FILE read in read_line to be async, so now I'm at a point where I have to refactor into a better statemachine. 2024-09-09 18:57:08 -04:00
Zed A. Shaw
501cb5fe25 Add information on configuration to the README.md 2024-09-09 01:28:30 -04:00
Zed A. Shaw
50c0ee3424 Reworked the builder code to setup for more async running of the build. 2024-09-09 01:10:47 -04:00
Zed A. Shaw
0bac4dbfd9 First step in refactoring out the build running from the gui for later thread fiascos. 2024-09-08 20:01:10 -04:00
Zed A. Shaw
b0c9fefa9b Completely purge the coroutine stuff from the project. 2024-09-07 22:48:03 -04:00
Zed A. Shaw
453c50c563 Big cleanup of rampant using std. 2024-09-07 22:26:57 -04:00
Zed A. Shaw
fcd1225370 Last commit didn't build, this fixes it but next I'm removing it. 2024-09-07 16:33:08 -04:00
Zed A. Shaw
cacf72604f Very janky barely working coroutine version of the game, the UI is more responsive, but not as much as it should be. Still, take a look and study the coro.hpp and other files in this commit for some coroutine stuff. 2024-09-06 23:35:17 -04:00
Zed A. Shaw
daf9a3cc07 Coroutines are mostly working but they're kind of junk anyway. Feel free to tinker with this if you like. 2024-09-05 18:48:15 -04:00
Zed A. Shaw
fdb3f24377 Cleanup the engine since I won't do the brainfuck thing, then fix up the log a bit. 2024-09-02 16:13:21 -04:00
Zed A. Shaw
fee724e637 Fix a bug where a failinb build that causes death would play both the death sound and build failed sound. 2024-08-27 16:34:38 -04:00
Zed A. Shaw
eb6c7b0e33 Working config file also configures the build and git dir. 2024-08-26 19:32:39 -04:00
Zed A. Shaw
268d8abf52 Sounds are working...BUT...I have to make ones I own so hang on until I do that. 2024-08-25 22:09:13 -04:00
Zed A. Shaw
9a012813ae Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 2024-08-22 18:34:20 -04:00
Zed A. Shaw
c52bc8fafd Make the game engine use a start/end round and do healing if you don't make any mistakes. 2024-08-21 18:44:32 -04:00
Zed A. Shaw
e35536c7e3 More refactoring in prep for a real design. 2024-08-21 18:34:46 -04:00