Commit graph

77 commits

Author SHA1 Message Date
Zed A. Shaw
9c5bad5959 This fixes the bug where you get 'stuck' while moving and passing an enemy. Need to sort out why this fixes it though. Closes #30. 2025-09-04 11:48:12 -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
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
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
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
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
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
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
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
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
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
056b0b307b Implemented a little screenshot tool. 2025-07-08 00:55:24 -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
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
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
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
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
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
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
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
Zed A. Shaw
d99d9a68c8 Tried to use Ragel to create state machines but its lacking an incremental mode and doesn't do any logging of state activity so debugging is harder. Put it in scratchpad for reference though. 2025-06-14 12:34:27 -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
9468990f76 DNDLoot works now, just had to fix a problem with the constructor. 2025-06-13 10:46:05 -04:00
Zed A. Shaw
82ee8f68f7 Created a separate FSM for the DND functionality that compiles but need to wire it in to work. 2025-06-13 00:57:45 -04:00
Zed A. Shaw
1ab708c4eb Clean up more of the FSM so that it's almost nothing.Now I'll try to make a stand-alone 'dnd' state machine to handle drag and drop functionality. 2025-06-12 22:51:58 -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
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
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
38159a5f84 Fix the window coordinates so that you can resize. 2025-06-11 00:56:41 -04:00
Zed A. Shaw
d6c5a89251 Fix the last few loot bugs before actually implementing the data model for inventory and loot. 2025-06-10 22:58:57 -04:00