Commit graph

606 commits

Author SHA1 Message Date
Zed A. Shaw
63eaea3536 rewrite game_level::player_position to be more efficient. 2025-08-26 00:46:58 -04:00
Zed A. Shaw
4a2d8770d9 Cleaned up how the camera is configured so that it can be easily queried in other parts like the autowalker. 2025-08-25 23:23:05 -04:00
Zed A. Shaw
b4569622a0 Cleanup the autowalker for new work. 2025-08-25 22:44:53 -04:00
Zed A. Shaw
4bf9a9177f Made an AI debug view to I can make working on the AI easier. I might add the ability to toggle things on/off live to see what the AI does. 2025-08-23 01:40:51 -04:00
Zed A. Shaw
fc8e65f4d6 Enemies how fight back when cornered, either by being blocked by another enemy or when at a dead end walls. 2025-08-22 22:29:22 -04:00
Zed A. Shaw
586343a614 Enemies will now fight back if they're cornered. Was actually way easier than I thought. 2025-08-21 23:32:34 -04:00
Zed A. Shaw
7ffa6025ce And finally fix some of the API names to make more sense in their current location. 2025-08-20 23:49:30 -04:00
Zed A. Shaw
a20d701096 Rename to GameDB and GameDB::Level. 2025-08-20 23:20:36 -04:00
Zed A. Shaw
c46927ea10 Now all of the old LevelManager code is gone. Next phase is to rename the Game:: to something better then test the shit out of it. 2025-08-20 13:31:02 -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
5aca2fb56a Tests are now clean so next step is to officially nuke the level manager. 2025-08-20 00:48:20 -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
644ff6edc0 Bad test that wasn't running. 2025-08-18 23:55:14 -04:00
Zed A. Shaw
097879440d Changed facts in DinkyECS to be a shared_ptr so that it is a singular data store instead of copied around. Closes #85. 2025-08-18 02:17:04 -04:00
Zed A. Shaw
b839fb6463 The problem was keeping a reference in a class/object means that it will not get updated copies when levelmanager makes a new level. Honestly that whole constelation of bullshit needs to die. Closes #62. 2025-08-18 01:13:31 -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
20fa95bd93 Simple test to make sure world events actually loop. Closes #84. 2025-08-17 10:18:06 -04:00
Zed A. Shaw
a86912705c Refactored the mouse handling to use the new guecss Modifiers system and improved Clickable. 2025-08-14 14:10:28 -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
42575ef1f5 Updated the lootable body asset. 2025-08-13 11:43:05 -04:00
Zed A. Shaw
f19c1dbb20 Now you can heal yourself. 2025-08-11 16:59:19 -04:00
Zed A. Shaw
e03a63f9fb A little bit of refactoring while thinking about the loot next. 2025-08-10 12:42:28 -04:00
Zed A. Shaw
48e28ee636 New dead_body_lootable sprite for dead things you can loot. 2025-08-10 12:30:42 -04:00
Zed A. Shaw
b9209beddd Better error when you have duplicate map icons. 2025-08-10 12:29:53 -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
05d54ff661 Now also combat works no matter what's on the ground. Closes #81. 2025-08-09 00:13:38 -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
97fe02d99d Add a new dead_body sprite for things that are dead but you can't loot them. 2025-08-06 23:13:29 -04:00
Zed A. Shaw
0d889cd0ff Quick start to making it possible to use healing items, or any item really. Going with a style that it has to be on your toolbar to use it, and the toolbelt looks in your inventory to see ifyou have healing items. 2025-08-06 13:16:22 -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
9bf6926dc3 A bit of optimization to keep from generating the sorted sprite list over and over. Also tried to solve the problem of tombstone covering everything but no luck. 2025-08-03 23:58:59 -04:00
Zed A. Shaw
077f0e84ea Don't add wiggle to the things in the player's square since that moves them into the player eyes. 2025-08-03 22:34:03 -04:00
Zed A. Shaw
a4a4389281 Move amt's examples into scratchpad for later review. 2025-08-03 22:33:29 -04:00
Zed A. Shaw
9c02fb846b Now the spatialmap determines the 'wiggle factor' when there's multiple entities in a cell, which staggers them visually. Closes #78. 2025-08-03 01:56:34 -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
23ead1f0ca SpatialMap now has a full test suite and that helped find some bugs. 2025-08-01 13:33:34 -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
b193bab148 Add in the tests from finding the bug in spatial map. 2025-07-31 00:03:36 -04:00
Zed A. Shaw
569d04725a This is the cause of the bug where going to the next level caused things to disappear. What happened is that on next level this code was adding the player but _not_ adding them to collision. Then when the player moved the spatialmap would remove them, see they're technically 'no collision' and then add them back in without collision. 2025-07-31 00:03:13 -04:00
Zed A. Shaw
e51fb8627c Switching to Linux to find a memory bug and I want to keep a record of what caused it. 2025-07-30 22:34:26 -04:00
Zed A. Shaw
be3eef7082 Make money. 2025-07-30 11:52:12 -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
d93bc1615c Big changes to use the new lel-guecs setup but now almost everything works. Only thing missing is Issue #16 in quecs. 2025-07-23 14:03:41 -04:00