Commit graph

180 commits

Author SHA1 Message Date
Zed A. Shaw
dd4f77a106 More refactoring of the gui. Now most things are out of the FSM and MainUI is responsible for the rayvew and its overlay. 2025-02-21 00:50:54 -05:00
Zed A. Shaw
23ed1594f2 More refactoring of the FSM to MainUI. Move the overlay out and some more. 2025-02-21 00:19:35 -05:00
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
59d10a4506 Get rid of the sprite on buttons until I have a better idea about the overall design. 2025-02-20 00:44:13 -05:00
Zed A. Shaw
baa4d8ee2b Grave stones are not lootable and give 10 gold. No idea what gold even does. I mean, why _are_ there traders in a dungeon? 2025-02-20 00:30:39 -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
0199248354 New axe wielding ranger for you to kill. 2025-02-19 13:24:54 -05:00
Zed A. Shaw
f2b7871d12 Quickly pulled out some of the magic numbers but this isn't the ideal way to configure this stuff. 2025-02-19 08:56:34 -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
6447f86954 Status UI now fakes a kind of 'hot bar' inventory display. 2025-02-19 00:35:32 -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
9c66e870d2 Finally get rid of this weird thing in dinkyecs where I was passing a const& to an _integer_ when a copy of the integer is exactly the same. 2025-02-18 11:39:27 -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
615599084a Bring in a spider enemy. 2025-02-17 14:34:50 -05:00
Zed A. Shaw
deb235dbc5 This gets the project to compile on OSX with Clang 16 (OSX version 14.7.x) but there's missing libraries for the linking stage. 2025-02-17 05:26:47 -05:00
Zed A. Shaw
2a4ada81bb Did some work checking the build on OSX. Looks like clang 14 is too old, will try later version. 2025-02-13 13:15:23 -05:00
Zed A. Shaw
8d9c2d8c05 Combat UI's elements are now pulled out into gui_gadgets so we have an initial prototype on basic UI elements needed. 2025-02-16 21:19:21 -05:00
Zed A. Shaw
7c1f05c801 Combat UI is alright but need to now make a few common widgets. 2025-02-16 19:27:57 -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
232c994347 HP bar is working, and next just need to make the combat gui actually work. 2025-02-16 13:48:57 -05:00
Zed A. Shaw
3ec2bf4784 Can now do UI rendering based on the name and also have gaps in the grid reliably. 2025-02-16 12:34:48 -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
f884b83809 SFML's use of fonts is bizarre. It gives you a bounding box for the font, but then just ignores it and positions the text using the baseline, which is then outside of the bounding box. This is a quick fix but still looks wrong. 2025-02-16 03:00:29 -05:00
Zed A. Shaw
55feff23fb Make the README better so people can try to build it. 2025-02-16 02:59:40 -05:00
Zed A. Shaw
6b9c67beec Add some debug boxes around the fonts to figure out why they aren't vertically centered. 2025-02-15 22:54:00 -05:00
Zed A. Shaw
45ad16c010 A bit more refinement. 2025-02-15 22:23:24 -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
7f9e200abe LEL can now do hit detection on squares. 2025-02-15 13:43:41 -05:00
Zed A. Shaw
aa149b6574 Can now use lel::center to center something inside a cell. 2025-02-15 13:22:36 -05:00
Zed A. Shaw
c03a384372 You can now prefix a size with % and it will do percentage for the size, even over 100. 2025-02-15 12:52:26 -05:00
Zed A. Shaw
d558da1620 Just move all the one-liner functions straight into the parser. 2025-02-15 12:21:04 -05:00
Zed A. Shaw
60ed686eb0 Already better than CSS because I can center stuff. 2025-02-15 12:13:58 -05:00
Zed A. Shaw
1620a5420f Use a lel:: namespace. 2025-02-15 11:55:04 -05:00
Zed A. Shaw
cebf61a794 LEL is able to position right/left/top/bottom and expand out too. 2025-02-15 10:59:51 -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
846b7aaf16 Initial cut of the lel parser mostly working but none of the basic alignment properties work. 2025-02-14 15:40:15 -05:00
Zed A. Shaw
e7e0df6b70 New rat enemy. 2025-02-14 15:22:47 -05:00
Zed A. Shaw
02a385e707 Make the DinkyECS test fully isolated. 2025-02-14 10:48:09 -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
bfd2718cc9 Found my old LEL code and got the shell working, so tomorrow I'll try to make it layout some gui element. 2025-02-14 02:13:08 -05:00