Commit graph

91 commits

Author SHA1 Message Date
Zed A. Shaw
56663b9052 Better UI layout and actually tracking deaths. 2024-09-16 18:19:54 -04:00
Zed A. Shaw
662e4bf918 Committed a broken file. 2024-09-16 17:25:04 -04:00
Zed A. Shaw
95cd84b09d Get the build fail to actually play and keep the building sound looping until the build is done. 2024-09-16 17:24:02 -04:00
Zed A. Shaw
2035a6dd00 DBC now works and has a test. 2024-09-16 09:20:35 -04:00
Zed A. Shaw
f632f2d5af FSM is now even cleaner, as long as you don't look at that CPP macro. 2024-09-16 08:05:43 -04:00
Zed A. Shaw
c9425aebf9 Refined the FSM to allow easily passing in data to the even handler and state functions. 2024-09-16 07:50:04 -04:00
Zed A. Shaw
40ba7f0b66 Logging for the FSM works better now. 2024-09-16 07:05:40 -04:00
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
8df6898d0b Update status. 2024-09-15 04:21:01 -04:00
Zed A. Shaw
0a9fa59365 The game engine now has two bonuses for long build streaks. +10% max hp or 1 free death. I'll be adding more but that's enough to work on the real UI. 2024-09-15 04:19:52 -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
07a212d9d7 Share my status notes. 2024-09-15 02:24:58 -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
1c89afaee2 Setting up for a redesign of the engine to have the real game mechanics. Using the fsm.hpp code. 2024-09-11 00:18:32 -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
5ae24d9b0a Moved the main event loop out of GUI so it's not so tightly coupled to everything else. 2024-09-10 22:58:45 -04:00
Zed A. Shaw
c0ad0c8d23 Rework the GUI so it uses SFMLBackend by moving the SoundQuip into SFMLBackend. 2024-09-10 22:40:02 -04:00
Zed A. Shaw
1badbd5942 Improved the makefile dramatically and updated the README to use it. 2024-09-10 21:48:14 -04:00
Zed A. Shaw
152d4cf037 A bit more source refactoring. 2024-09-10 21:29:01 -04:00
Zed A. Shaw
cc3bb171e1 Restructing the source layout to make it nicer. 2024-09-10 21:17:15 -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
dcf1a4020d Extract the FSM before beginning to use it. 2024-09-10 00:32:15 -04:00
Zed A. Shaw
b9025be45b After trying a few SFM libraries I found they're just too much for what I need, so here's the start of a simple one I can use. 2024-09-09 22:21:13 -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
bc3790efd3 Forgot file, it will go away soon though. 2024-09-09 00:50:15 -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
8f7235ade1 Coroutines mostly working, although not nearly as fancy as cppcoro. I'll try them out in my code and if I like it I'll probably just go use cppcoro. 2024-09-06 22:24:42 -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
8d1570f44a Figured out threads for the next round. 2024-09-02 17:46:45 -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
8edb37ceb4 Tried to avoid makefile for as long as possible but it's just too useful. 2024-09-02 15:43:21 -04:00
Zed A. Shaw
4bd2d12219 The new SFMLGui is now worked into the code and barely works. Cleanup is next. 2024-09-01 18:11:33 -04:00
Zed A. Shaw
70d1389c54 Move the GUI to its own file for the next stage. 2024-09-01 16:43:15 -04:00
Zed A. Shaw
58a5a415ec Now using a simple text size grid system for laying out the GUI. 2024-08-31 18:06:15 -04:00
Zed A. Shaw
fda281be1d Refactored into a class. 2024-08-31 17:11:12 -04:00
Zed A. Shaw
846d5964fe GUI mostly laid out but the code needs more refining and cleanup. Currently it creates too many assets in the render function. 2024-08-29 18:47:03 -04:00
Zed A. Shaw
e7a226f1db Log window is now working. 2024-08-29 17:21:39 -04:00
Zed A. Shaw
8707982907 Have a basic template for the gui up, but obviously not using it right. The ImGui does pop up when I hit space, but fails a second time claiming I need to run render again. Needs more research. 2024-08-28 23:55:07 -04:00
Zed A. Shaw
df6944b0fb A really bad quick SFML based UI to get started with the FTXUI removal, and a slight reworking of the default .tarpit.json so that it's just a sample and I can use my own config for my dev and have different sounds. 2024-08-28 18:56:43 -04:00
Zed A. Shaw
015b4aac45 Basic sfml window going for the gui redesign. 2024-08-27 17:12:48 -04:00
Zed A. Shaw
29a6a565d9 Document the config file real quick. 2024-08-27 16:36:05 -04:00