Commit graph

590 commits

Author SHA1 Message Date
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
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
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
cfefffe1cc I now can output a map_tiles.json that has all of the tiles in the tile sheet tagged by their display char and where they are. 2025-07-09 00:34:50 -04:00
Zed A. Shaw
40611d4d54 Crop the map sprite so it's not bigger than necessary. 2025-07-08 22:54:59 -04:00
Zed A. Shaw
04b3cf3f16 Now have a sprite sheet with tiles expanded to fill the cell, but other sprites reduced to 80% and centered in the cell. 2025-07-08 13:26:43 -04:00
Zed A. Shaw
d6e2b64140 icongen now makes a sprite sheet for the map which should be easier to work with. 2025-07-08 13:09:39 -04:00
Zed A. Shaw
dbc2000434 Started a map icon gen tool that will load the fonts and create tile sprites for everything I use. 2025-07-08 00:55:45 -04:00
Zed A. Shaw
056b0b307b Implemented a little screenshot tool. 2025-07-08 00:55:24 -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
601f3331ed As an experiment, disable copy and move of the StatusUI. 2025-07-06 23:59:06 -04:00
Zed A. Shaw
cd89625c96 Just need one function for the 'hold_item' action. 2025-07-06 23:35:17 -04:00
Zed A. Shaw
265e53e05a Simple fix, and honestly I should eliminate this whole thing and use one unified event system. Closes #1. 2025-07-06 12:05:28 -04:00
Zed A. Shaw
af3568154a Just had to grab the sprite, duh. Closes #3. 2025-07-06 11:36:30 -04:00
Zed A. Shaw
1baf90a776 Easy fix, just set aiming_at in the camera position. Closes #57. 2025-07-05 12:04:07 -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
584c4e9f67 Make the AIM_CLICK handler in FSM properly deal with an item already there while looting or not. Closes #56. 2025-07-03 22:26:06 -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
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
2421a33bb0 Swapping and putting back now work in the status_ui inventory, but now I need to refactor so this operation works on any inventory::Model. 2025-07-02 23:24: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
8c8d6dc9e7 Clean things up before solving the move problem. 2025-07-02 10:51:23 -04:00
Zed A. Shaw
6576164fad Give a healing potion too for testing. 2025-07-02 10:49:05 -04:00
Zed A. Shaw
b6d1ae2700 Move the management of the 'fake loose items container' into the loot_ui.cpp rather than get rid of it. Closes #34. 2025-07-01 14:26:39 -04:00
Zed A. Shaw
efdb0cb119 Just use get_if here instead. 2025-07-01 14:26:01 -04:00
Zed A. Shaw
8bbafc4d10 Raycaster now keeps track of the square we are aimed but _does not_ know what is there, that's the job of other things like MainUI. Closes #50. 2025-06-30 12:36:00 -04:00
Zed A. Shaw
0d79ce35b3 Every sprite's dimensions are now taken from their config rather than a global. Closes #42. 2025-06-30 11:00:01 -04:00
Zed A. Shaw
a418b48e94 Don't re-run the whole next level thing on every spawned item. Closes #48 2025-06-30 10:38:53 -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
cad51f4908 Use RGBA for the uint32_t color pixels. Closes #49. 2025-06-29 11:53:17 -04:00
Zed A. Shaw
ab1a415b55 Refactored the CameraLOL to be inside the rayview instead of a convolute main_ui->camera->rayview and back. Closes #16. 2025-06-29 11:11:12 -04:00
Zed A. Shaw
75c28cd764 Fixed a few places. Closes #11 2025-06-28 23:30:41 -04:00
Zed A. Shaw
b603ef5a3f Forgot to update the level in the RitualUI so nothing actually worked. Closes #41. 2025-06-28 23:17:36 -04:00
Zed A. Shaw
6a0725e401 Simply re-init the overlay on new level. Closes #14. 2025-06-28 22:39:46 -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
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
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
b0204772c7 Need to not transition out of END if the slot clicked is empty. Closes #45 2025-06-28 11:09:37 -04:00
Zed A. Shaw
19682fd0bc Add the frame width/height to SpriteTexture. Closes #13 2025-06-27 01:21:50 -04:00