Commit graph

152 commits

Author SHA1 Message Date
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
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
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
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
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
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
ff7111b006 Icons now work way better and don't have the the 'Rayview cuts icons' bug. It actually was a bug in the lel-guecs Sprite class that was using the TextureRect from the source sprite. Now its initialized with the framesize from the .json. This also uses the new guecs::Icon, but I have to fix that as it doesn't scale correctly. Closes #2. 2025-07-22 15:04:22 -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
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
379060b8c7 Can now set a color to another already existing color. 2025-07-17 12:39:24 -04:00
Zed A. Shaw
f4fa50a413 Colors are now being loaded from assets/palette.json 2025-07-17 10:50:09 -04:00
Zed A. Shaw
48a7f72411 Now have a simple color palette system. 2025-07-16 12:46:49 -04:00
Zed A. Shaw
75646619b3 Map now displays and works, just need to refine the colors and the compass directions. 2025-07-15 13:28:23 -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
72ecca8c82 I can now draw a map and then render it with the sprites pretty easily. Problem currently is the entities replace their floor tiles so need to fix that. 2025-07-12 13:34:31 -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
d9219a8c64 This cleans up how I'm rendering the map but there's no way I can render a large map like this. It'd be way too big. 2025-07-12 00:35:57 -04:00
Zed A. Shaw
3b06105813 Map tiles are generating fine, and I can make a map, now to bring it into the game and see how it works. 2025-07-11 22:38:08 -04:00
Zed A. Shaw
5db3d1a306 Tried out using the actual textures from the game but they don't really have the feel I want. I'll have to think about it. 2025-07-11 02:24:47 -04:00
Zed A. Shaw
5e01eb29a9 There's a bug where the last item in tiles.json draws a black square, which is why I named ceiling_blue to zceiling_blue to temporarily solve it. 2025-07-11 01:02:27 -04:00
Zed A. Shaw
b2a6262964 Now have background color for the sprites used in the maps. 2025-07-10 00:12:32 -04:00
Zed A. Shaw
b16ca3fd65 I now have hacked in basic color for the wall tiles but not enemies and items. 2025-07-09 14:36:31 -04:00
Zed A. Shaw
b2d0b0ee4c Map tiles are now correctly sized and positioned. Errors from before were due to floating point being used for positioning. 2025-07-09 13:34:18 -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
87e69bebde There was a memory corruption bug in remove() because I get a reference to the slot string, then remove it from by_entity, but that deletes the string so then later using it to remove by_slot silently fails because map.erase() silently fails. Closes. #54. 2025-07-03 13:07:04 -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
b28b76ee2d Ritual blanket now has its own internal id but I'm sort of thinking it needs to be more like inventory::Model. Closes #47. 2025-06-30 10:15:22 -04:00
Zed A. Shaw
6437bd3b54 Now have a 'destroy' method that removes everything related to an entity. Closes #18. 2025-06-28 12:47:17 -04:00
Zed A. Shaw
7602fb0b31 Not using Weapon anymore. 2025-06-28 11:53:48 -04:00
Zed A. Shaw
19682fd0bc Add the frame width/height to SpriteTexture. Closes #13 2025-06-27 01:21:50 -04:00
Zed A. Shaw
f668ff6b7a First round of cleanup. dnd_loot. 2025-06-25 14:28:35 -04:00
Zed A. Shaw
3c5021e4c9 So far most of the bugs are solved but there's still some edge cases in the inventory dance. 2025-06-22 23:54:50 -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
86eabed3db Now when you loot an item the loot UI works. 2025-06-11 23:49:37 -04:00
Zed A. Shaw
5aa54d875f Initial first steps in pulling the SFML event processing out of the gui::fsm so that I can handle more complex things like drag and drop. 2025-06-05 01:23:52 -04:00
Zed A. Shaw
0674908e49 Implemented an initial cut at the event router. Its job is to take the random events from SFML and translate them into nice clean orderly events to the Gui::FSM. 2025-06-04 12:19:24 -04:00
Zed A. Shaw
5c47a0151c Basic loot UI mostly working. Each time you open there's a torch and you can place it visually on any slot on your character. 2025-06-03 13:43:16 -04:00
Zed A. Shaw
4b34de2109 Initial loot UI works to load an item by its world entity ID. 2025-06-02 23:34:31 -04:00
Zed A. Shaw
f208ca946e Made the components module work like textures and sound so that there's just one constant map of components. 2025-06-02 23:33:59 -04:00
Zed A. Shaw
ab391aaa97 Have a plan for the new inventory and looting system, now have to implement it. Temporarily you can't pick anything up, but it will go away. 2025-06-02 00:58:16 -04:00
Zed A. Shaw
dc8648016d Refactor the way assets are laid out in the assets/ dir and then have a build script that can automatically pixelate/posterize images that I save, saving me tons of time. 2025-05-30 17:49:15 -04:00
Zed A. Shaw
3dc70c3af6 This implements base ambient lighting for tiles which helps with tiles like lava and ceiling lights. 2025-05-29 12:34:25 -04:00
Zed A. Shaw
931d9493d2 The raycaster can now pair a floor with a ceiling tile and to demonstrate this I have a blue light that shines on to a stone floor. I also played with just pixelating a regular image rather than painting it and honestly it looks better in a lot of ways. 2025-05-26 13:59:26 -04:00