Commit graph

106 commits

Author SHA1 Message Date
Zed A. Shaw
a20d701096 Rename to GameDB and GameDB::Level. 2025-08-20 23:20:36 -04:00
Zed A. Shaw
a83ee77eea levelmanager.* is now gone, but the code is just moved over to game_level. Now to clean up the api and give it a new name. 2025-08-20 01:10:42 -04:00
Zed A. Shaw
564f9842a2 All of the UIs should be cleared out, and that just leaves the tests. 2025-08-19 23:58:42 -04:00
Zed A. Shaw
d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. 2025-08-19 11:05:32 -04:00
Zed A. Shaw
81e25f73bb Next phase of the refactor is done. Now to replace everything in Systems. 2025-08-19 01:07:28 -04:00
Zed A. Shaw
ae1a48deed Now I have a better error that's more exact, but I think next level of this is to just show a generic texture for missing ones. Closes #80. 2025-08-17 11:08:01 -04:00
Zed A. Shaw
25a143cf22 Turns out I don't need to remove so much when I simply don't want to display something. Closes #82. 2025-08-17 10:51:08 -04:00
Zed A. Shaw
ad0069e899 Made it so you can right-click on an item to use it, but yeah it's bad. Gotta refactor. 2025-08-13 11:43:23 -04:00
Zed A. Shaw
f19c1dbb20 Now you can heal yourself. 2025-08-11 16:59:19 -04:00
Zed A. Shaw
8594568ff4 Slight clean up. 2025-08-10 12:29:24 -04:00
Zed A. Shaw
521180b086 Refactor out the junk randomizer and put it in rituals where it belongs. 2025-08-10 11:20:22 -04:00
Zed A. Shaw
f84b63f0e6 The problem with picking up items under a dead body is fixed but now need to fix combat. 2025-08-07 12:13:39 -04:00
Zed A. Shaw
b9656013b0 Now have dead bodies working but need art for it. 2025-08-06 12:15:21 -04:00
Zed A. Shaw
fc4eacadb0 There's now a Collision component that determines collision if its set. Closes #72. 2025-08-06 11:43:39 -04:00
Zed A. Shaw
694ee210d6 Now floor drops always work by having a drop against a wall just drop at your feet. Closes #77. 2025-08-02 23:26:42 -04:00
Zed A. Shaw
1788b8fb28 Now items drop where you aim, and won't let you drop on a floor. But maybe one more change. 2025-08-02 23:11:59 -04:00
Zed A. Shaw
f26189c696 SpatialMap now uses unordered_multimap to allow for multiple items in a square, but they're also tagged to mark some with collision. 2025-07-31 13:00:39 -04:00
Zed A. Shaw
d6326c9e41 Mostly working spatical map with 2 level collision/space structure. Not the best implementation but this is the idea. 2025-07-29 03:12:44 -04:00
Zed A. Shaw
fd53f92fe6 Prep for fixing the spatialmap to allow for entities without collision to still be in the space. 2025-07-29 02:13:29 -04:00
Zed A. Shaw
6f91533950 Fog of War now works fairly normally, but I think I'll have to do something so people don't live in the map. Probably something like hearing distance is increased because you're louder with a map out, and you can't see enemies on the map. 2025-07-21 23:21:24 -04:00
Zed A. Shaw
2997dc363b FoW is now moved into lighting so light determines what's seen not player's last position. Not sure if I like that though. 2025-07-21 13:10:03 -04:00
Zed A. Shaw
d264760405 Fog of War works but it's in the wrong place and needs to be based on light. 2025-07-20 01:34:39 -04:00
Zed A. Shaw
2802a44ba4 Clean up System::render_map. 2025-07-18 13:25:32 -04:00
Zed A. Shaw
aa72cfe4a4 Now have a working compass based directional player sprite in the map, but using the compass isn't going to work long term. Need to move that into the raycaster.cpp and get real degrees for facing direction. 2025-07-18 13:09:53 -04:00
Zed A. Shaw
dca38397e7 Systems::render_map now holds the logic to render the map, and it's working well enough to use for displaying. 2025-07-15 11:39:05 -04:00
Zed A. Shaw
0d1eacdc5c Now entities are drawn after the map so that there's no holes. 2025-07-12 14:46:42 -04:00
Zed A. Shaw
a3f82139e9 One step closer to map rendering from tile sprites. 2025-07-12 12:05:18 -04:00
Zed A. Shaw
dd541ae59d Ripped out the string based map and created a Matrix map drawing function. 2025-07-12 10:51:55 -04:00
Zed A. Shaw
2c011079a8 I have a test now that can generate a map image so I'll make it look nice there before bringing the code into the game. 2025-07-09 01:54:49 -04:00
Zed A. Shaw
f64b202ee7 Finally have inventory not crashing for most edge cases. This solves many bugs but mostly closes #58. 2025-07-07 13:25:17 -04:00
Zed A. Shaw
a26f0b0c0a Player's aim is now updated constantly as they move, just need to solve #57 to complete it. Closes #9. 2025-07-05 11:18:26 -04:00
Zed A. Shaw
970905fcd5 Make the player's inventory just a regular entity attached to the player.entity. 2025-07-02 23:55:06 -04:00
Zed A. Shaw
784f753e72 Standardized on using only DinkyECS:Entity for most inventory:::Model operations, then create swap based on the same entities. 2025-07-02 14:25:44 -04:00
Zed A. Shaw
02c42eb042 System::distribute_loot now manages setting up loot junk and does a new entity instead of reusing old ones, that allows System::death to do a coorect world->destroy() on the dead thing. Closes #46. 2025-06-28 13:19:07 -04:00
Zed A. Shaw
57d69015c2 Renamed to random_walk since that's what it called. Closes #26. 2025-06-28 11:38:06 -04:00
Zed A. Shaw
769530b45c Now standardized on GameConfig everywhere I can. Closes #28. 2025-06-28 11:32:58 -04:00
Zed A. Shaw
ea92dcc3c4 Change from ENEMY_SPAWN to ENTITY_SPAWN since that's what it does. Closes #31 2025-06-26 23:22:22 -04:00
Zed A. Shaw
6ff1919587 Cleaned up the move operation more so that I can use it in the other places that I need it. 2025-06-24 13:23:55 -04:00
Zed A. Shaw
f559b5a39d Fixed the problem where the only way to complete a grab/drop operation was to capture the MOUSE_CLICK directly. Solution was to move the mouse processing out of DNDLoot and only handle the MOUSE_MOVE/DRAG. 2025-06-24 11:33:37 -04:00
Zed A. Shaw
fb064ffbf1 Loot boxes now have ritual items and you can click on them, or the enemy just dies. 2025-06-23 01:33:09 -04:00
Zed A. Shaw
e0588847fa Tracked down the bug that was caused by picking up an item but not removing its Position in the world, so when you go to another level it gets brought back to life causing a dupe. 2025-06-22 12:50:09 -04:00
Zed A. Shaw
812407c3df Now the loot UI can work with any container and only uses an ECS id to work, not have its own contents. 2025-06-21 10:51:45 -04:00
Zed A. Shaw
a0eff927b6 Big BIG refactor to make inventory use a model that's placed into the world, following a more sane MVC style. 2025-06-20 13:17:12 -04:00
Zed A. Shaw
119b3ed11d Can now drag an item out of inventory and drop on the ground, then pick it back up, and put it in a loot container, and then back again. Still buggy but working for now. 2025-06-19 00:45:22 -04:00
Zed A. Shaw
7fc32b0248 Trying out Ragel's state machine generation as an alternative to the DinkyFSM style. 2025-06-14 00:43:40 -04:00
Zed A. Shaw
af933c827a Have a separate container vs. item loot for the different situations where you're pick items out of a container vs. an item on the ground. 2025-06-12 19:41:32 -04:00
Zed A. Shaw
7db64b73c5 Made some notes for the next bit of work. 2025-06-12 13:45:54 -04:00
Zed A. Shaw
7b0bac4f59 You now click on things to interact with them. 2025-06-12 13:24:25 -04:00
Zed A. Shaw
2aa4f0a2e8 Finally can pick things up, but it's really bad so far. Need a bunch of refactoring in how the collision system works, and make it so collision and maps can have multiple entities in the same square. 2025-06-12 13:06:36 -04:00
Zed A. Shaw
2458f01ebd Loot UI now opens when you can loot something, but it's still buggy and doesn't always show the stuff. 2025-06-12 00:10:21 -04:00