Commit graph

51 commits

Author SHA1 Message Date
Zed A. Shaw
a7a60ad35c Initial start of the refactoring of gui.cpp into two classes, the gui::FSM will be used to controll all of the other UIs in the game, and evetnually will be pretty dumb. 2025-02-20 23:18:18 -05:00
Zed A. Shaw
4a1a8a7d65 Mostly working overlay to show when in combat or not. 2025-02-20 12:43:52 -05:00
Zed A. Shaw
30a7e1b2cc Now overlay UI can show some text pretty easily and is showing the debug stats. 2025-02-20 10:53:01 -05:00
Zed A. Shaw
d8e1fc7aa3 I have the overlay display the low health blood using the gui system. 2025-02-20 08:41:45 -05:00
Zed A. Shaw
70a9420c11 Started the overlay UI but need to make it possible to add/remove components to it. 2025-02-20 02:33:09 -05:00
Zed A. Shaw
3b9525cca4 Enemies now turn into a lootable device witha grave_stone sprite so you know they died. Need to implement noclipping on items with collision. 2025-02-19 23:18:33 -05:00
Zed A. Shaw
e04c03b381 Small error in how mouse events are processed. I need to do them _outside_ of the guecs::UI so that the event is checked once and then confirmed in all grids. Then created a tombstone device to be used as a dead enemy marker that will later allow looting. 2025-02-19 08:33:18 -05:00
Zed A. Shaw
f10498425e Make the FPS/debug output render in a better place and not so in your face. 2025-02-19 00:22:59 -05:00
Zed A. Shaw
bfe0d797c8 Status UI now has a log and some buttons. 2025-02-18 23:58:13 -05:00
Zed A. Shaw
3a6ba8445a Added a Background guecs component. 2025-02-18 23:08:04 -05:00
Zed A. Shaw
69a810b5a1 Combat UI can now send events to the GUIwhen they click on buttons, and I've got a crappy wood texture for the buttons to test that. 2025-02-18 14:24:57 -05:00
Zed A. Shaw
722d55d948 Refactored the GUECS system to have its own namespace then got Meter to work. 2025-02-18 12:51:28 -05:00
Zed A. Shaw
49a71e257e GUI for combat now works better and I can create sprites for things if I want. 2025-02-18 11:28:55 -05:00
Zed A. Shaw
46de98e6f4 I now have a semi-functional GUI system that uses the ECS style to build gui elements rather than inheritance. 2025-02-18 01:10:56 -05:00
Zed A. Shaw
cfe56bbf99 Combat Mode is more reliable now, just one little glitch that it doesn't exit on the last enemy dying. 2025-02-16 18:31:31 -05:00
Zed A. Shaw
79c84ce885 New design on LEL that's way more sane and allows for more flexible columns and rows. 2025-02-16 11:50:14 -05:00
Zed A. Shaw
a7991a8f06 Fixing more bugs related to percentages and then prototype a more complex UI. 2025-02-15 22:14:19 -05:00
Zed A. Shaw
e106ad4be7 Can click on buttons and make them change color. 2025-02-15 14:29:27 -05:00
Zed A. Shaw
872cedc8e1 LEL is working at a basic grid level, able to render boxes where I want. 2025-02-15 01:31:57 -05:00
Zed A. Shaw
f8dd5d816f Basic combat system prototype works, but needs more GUI love to really work in the game. 2025-02-14 10:18:45 -05:00
Zed A. Shaw
8a6b38c1a4 Start of V1 combat system where you get locked into combat when in range and have to work the turn system to get out. 2025-02-13 14:39:04 -05:00
Zed A. Shaw
d2700d2928 You now have blood on your screen when below half health. 2025-02-13 13:15:20 -05:00
Zed A. Shaw
1c8f542c21 Nuke taught me the other way to make class enums not suck so I guess no FU? 2025-02-13 11:14:32 -05:00
Zed A. Shaw
9b3b81683a Separate out the major UIs to get ready for their development, and enable debug button. 2025-02-13 10:55:45 -05:00
Zed A. Shaw
7eec67ffc8 Got some buttons down now to make them do stuff. 2025-02-12 18:06:25 -05:00
Zed A. Shaw
be4d0d51de Two main GUI elements are placed for the left side status and the bottom combat UIs. 2025-02-12 17:55:21 -05:00
Zed A. Shaw
1790eec697 Went with just making the left gui frame monochrome to sort out its value structure compared to the scene. 2025-02-12 16:16:30 -05:00
Zed A. Shaw
9fe7cac79b Have a sort of left gui going but not sure if I like it as a real texture yet. Will need to play with it more. 2025-02-12 14:02:34 -05:00
Zed A. Shaw
d38e2cb0f2 All of the assets I need right now are done. 2025-02-12 11:18:24 -05:00
Zed A. Shaw
21e087ded5 Basic UI positioning and layout prior to designing the UI and setting a place for the combat system. 2025-02-11 14:35:54 -05:00
Zed A. Shaw
90351ce0fe The lighting now uses the original grid based lighting calculations rather than a global single source from the player. 2025-02-11 13:31:39 -05:00
Zed A. Shaw
6da830595c Clean up the GUI some by moving the map_view out into its own file. 2025-02-11 11:37:01 -05:00
Zed A. Shaw
421cca308b Fixed player showing up as an enemy and did better map centering. 2025-02-11 11:10:18 -05:00
Zed A. Shaw
e2bd61a1e4 Let the jank FLOW through my veins like pure cocaine! We have animations now and can attack enemies. It's all garbage to replace next session but the idea is there. 2025-02-10 18:35:47 -05:00
Zed A. Shaw
abd843d5ec Very basic attack system. 2025-02-10 14:06:38 -05:00
Zed A. Shaw
51972b0c35 Converted all the variable names from Lode's tutorial style to the one I use in prep for some review and cleanup. 2025-02-10 11:32:50 -05:00
Zed A. Shaw
0cbe20af35 Fix up the colors and rendering so that tilemap just uses components::Tile all the time. Need to load all of the config data from json one time on system start instead of constantly, although constantly does make debugging live easier. 2025-02-09 15:54:17 -05:00
Zed A. Shaw
d798d154ae We now have a full map that's basically the same mapping system from Roguish. There's a bug right now where it needs you to move once to calc the light and it's not being centered, but it does work. 2025-02-07 19:32:00 -05:00
Zed A. Shaw
55b67dcf5d Fix a bug where enemies will path into the player's space because collision isn't done at the right time. I think this may need another fix in the future when we get to the combat. 2025-02-07 16:10:37 -05:00
Zed A. Shaw
3986e6978e Sprites now have a distance lighting calculation that's the same as the raycaster using a shader. 2025-02-07 13:50:50 -05:00
Zed A. Shaw
a19bc47904 FINALLY fix that stupid bug. The cause was two-fold: I was giving every 'enemy' a sprite, but that automatically included the player in the list of enemies, which meant that I was rendering the player's sprite while moving. Then in the sprite casting loop I was rendering things at 0. 2025-02-07 11:05:15 -05:00
Zed A. Shaw
25ad9b51f8 Really crappy minimap now displays. 2025-02-06 15:03:46 -05:00
Zed A. Shaw
e85b5d998b System now controls the motion better since it's not GUIs job. 2025-02-06 12:13:22 -05:00
Zed A. Shaw
1973a7a1df GUI MOVE state is now cleaner and the camera is more consistent. 2025-02-06 11:55:43 -05:00
Zed A. Shaw
b0437d352b Cleaned up a lot but now trying to refactor some more but making a mistake. 2025-02-06 11:41:01 -05:00
Zed A. Shaw
4b18b21861 Movement is more correct now since it uses the System::motion to do it for the player, which will always keep all the things updated. I also put placeholder barrels for all the non-combatant entities in the map. Finally, it still has the backup bug and now won't close when you close the window. 2025-02-05 20:26:09 -05:00
Zed A. Shaw
14128ab10f Now have enemies chasing us around and implemented diagonal movement as a test but I kind of like it. 2025-02-05 14:16:31 -05:00
Zed A. Shaw
d0badedbd9 More cleanup of the raycaster, finally removed the window as a dependency but I went against making it an sf::Drawable since that had a lot of code quality problems. 2025-02-04 22:52:04 -05:00
Zed A. Shaw
d6c09e111d Raycaster now has wall collision so won't go through walls. Next step is to render all the sprites being places and then implement the Systems. 2025-02-04 14:13:00 -05:00
Zed A. Shaw
75ffb49a53 Clean up header includes. 2025-02-04 13:26:22 -05:00