Commit graph

572 commits

Author SHA1 Message Date
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
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
fcd1bc589c Make a function to access overlay cells Closes #35. 2025-06-26 23:17:53 -04:00
Zed A. Shaw
f668ff6b7a First round of cleanup. dnd_loot. 2025-06-25 14:28:35 -04:00
Zed A. Shaw
689bb150c6 I think that's all the edge cases handled. You can more loot around fairly arbitrarily. 2025-06-24 14:00:14 -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
6a72d1160f When things die you get their things. 2025-06-23 01:50:43 -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
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
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
2c6565c40a Kind of jank but the old functionality is back, and now needs to move to loot ui dealing with any container. 2025-06-21 11:01:12 -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
68e50342e5 Can now drag an item out of inventory and drop it. 2025-06-18 11:26:38 -04:00
Zed A. Shaw
87459d41bb Add the buttons I'll need for the next round of development. 2025-06-17 12:46:17 -04:00
Zed A. Shaw
dfd3118d04 Make the transitions more solid by having an open/close set of functions to maintain cleaning up internal state. 2025-06-17 12:24:11 -04:00
Zed A. Shaw
029a0f86ae Drag now show the icon while you're dragging, so now need to work out all of the edge cases for each action. 2025-06-17 11:50:03 -04:00