Commit Graph

  • 68e50342e5 Can now drag an item out of inventory and drop it. master Zed A. Shaw 2025-06-18 11:26:38 -0400
  • 87459d41bb Add the buttons I'll need for the next round of development. Zed A. Shaw 2025-06-17 12:46:17 -0400
  • dfd3118d04 Make the transitions more solid by having an open/close set of functions to maintain cleaning up internal state. Zed A. Shaw 2025-06-17 12:24:11 -0400
  • 029a0f86ae Drag now show the icon while you're dragging, so now need to work out all of the edge cases for each action. Zed A. Shaw 2025-06-17 11:50:03 -0400
  • ca74b817e5 You can grab stuff off the ground and put in your inventory but it doesn't show the sprite while you do it yet. Zed A. Shaw 2025-06-15 00:12:46 -0400
  • cd02507023 Make a function that handles the mouse events for everything since those are very similar. Zed A. Shaw 2025-06-14 22:56:23 -0400
  • 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. Zed A. Shaw 2025-06-14 12:34:27 -0400
  • 7fc32b0248 Trying out Ragel's state machine generation as an alternative to the DinkyFSM style. Zed A. Shaw 2025-06-14 00:43:40 -0400
  • 9468990f76 DNDLoot works now, just had to fix a problem with the constructor. Zed A. Shaw 2025-06-13 10:46:05 -0400
  • 82ee8f68f7 Created a separate FSM for the DND functionality that compiles but need to wire it in to work. Zed A. Shaw 2025-06-13 00:57:45 -0400
  • 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. Zed A. Shaw 2025-06-12 22:51:58 -0400
  • 06a843f169 Autowalker does some basic item pickup now, just for testing. Zed A. Shaw 2025-06-12 20:12:13 -0400
  • 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. Zed A. Shaw 2025-06-12 19:41:32 -0400
  • 7db64b73c5 Made some notes for the next bit of work. Zed A. Shaw 2025-06-12 13:45:54 -0400
  • 7b0bac4f59 You now click on things to interact with them. Zed A. Shaw 2025-06-12 13:24:25 -0400
  • 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. Zed A. Shaw 2025-06-12 13:06:36 -0400
  • 2458f01ebd Loot UI now opens when you can loot something, but it's still buggy and doesn't always show the stuff. Zed A. Shaw 2025-06-12 00:10:21 -0400
  • 86eabed3db Now when you loot an item the loot UI works. Zed A. Shaw 2025-06-11 23:49:37 -0400
  • 38159a5f84 Fix the window coordinates so that you can resize. Zed A. Shaw 2025-06-11 00:56:41 -0400
  • d6c5a89251 Fix the last few loot bugs before actually implementing the data model for inventory and loot. Zed A. Shaw 2025-06-10 22:58:57 -0400
  • 4a48910273 There's a UISystem now for to compliment the entities and components in GUECS. I now use that to do the drag/drop transfers instead of raw code right in the FSM. Zed A. Shaw 2025-06-10 13:13:40 -0400
  • e01e697535 Move now works better, and the API is a lot cleaner. Now just need to make it not crash. Zed A. Shaw 2025-06-10 11:12:04 -0400
  • be7b86a913 Mostly refactored out the common things for drag/drop so now just to refine how it's used and bring back moving the sprite around. Zed A. Shaw 2025-06-10 00:52:38 -0400
  • 570b70ab0c More of the drag/drop is handled by the GrabSource/DropTarget components. Zed A. Shaw 2025-06-09 23:59:44 -0400
  • 7a551cf83a Remove commit_drop from status and loot UI since DropTarget already does that. Zed A. Shaw 2025-06-09 22:57:49 -0400
  • 343f3a246f Cleaned up and unified the source before the big refactor. Zed A. Shaw 2025-06-09 22:31:15 -0400
  • 0d6a71b06f Fixed a couple little bugs in the state so now can refactor out the dnd code. Zed A. Shaw 2025-06-09 22:18:13 -0400
  • 2a6b892e7f Can now round-trip a torch from loot to inventory and back. Zed A. Shaw 2025-06-09 14:02:26 -0400
  • 4b0d76bbcc Even better API, but still not the best organization. This will let me implement both sides, then I can pull it out and try to generalize it into a few guecs components. Zed A. Shaw 2025-06-08 23:55:59 -0400
  • 3e0adf0c22 Better meaning API on both sides for the drag-n-drop operations, but I _swear_ there's a way to do this in the GrabSource/DropTarget instead. Zed A. Shaw 2025-06-08 23:27:43 -0400
  • 47c219b86e Disable inventory select for now until I can get drag-n-drop formalized better. Zed A. Shaw 2025-06-08 22:15:25 -0400
  • e1c2869d1c Sometimes we click too fast in the router to just handle it in IDLE. Zed A. Shaw 2025-06-08 22:06:12 -0400
  • 461ad03d27 Taking things from the LootUI to the StatusUI works way better now and there's a DropTarget to match the GrabSource. Zed A. Shaw 2025-06-08 00:37:30 -0400
  • 842aac3127 Worked out an initial stab at a GrabSource for drag-n-drop or just simple grabbing things in the UI. Zed A. Shaw 2025-06-07 15:29:18 -0400
  • 94385b195d Mostly worked out how to do looting but now need how to take out of inventory and put into loot. Zed A. Shaw 2025-06-07 00:11:29 -0400
  • c509162be1 The event router is working well and I can do drag-n-drop but I'll have to rethink where to use it. Zed A. Shaw 2025-06-05 23:31:38 -0400
  • 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. Zed A. Shaw 2025-06-05 01:23:52 -0400
  • 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. Zed A. Shaw 2025-06-04 12:19:24 -0400
  • 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. Zed A. Shaw 2025-06-03 13:43:16 -0400
  • 4b34de2109 Initial loot UI works to load an item by its world entity ID. Zed A. Shaw 2025-06-02 23:34:31 -0400
  • f208ca946e Made the components module work like textures and sound so that there's just one constant map of components. Zed A. Shaw 2025-06-02 23:33:59 -0400
  • 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. Zed A. Shaw 2025-06-02 00:58:16 -0400
  • b8d2d1870d Clean up the debug UI so that it's not using the jank debug component I didn't use anyway. Zed A. Shaw 2025-06-01 11:10:25 -0400
  • e8199a973c Fix up the healing potion so it looks more like a healing potion. Zed A. Shaw 2025-05-30 22:31:03 -0400
  • d2a5dfa713 Rooms are now styled randomly based on assets/styles.json which will evolve into specifications for themes of levels and rooms in them plus other configs. Zed A. Shaw 2025-05-30 20:35:17 -0400
  • e45de2a2cf The config now prints a way better error message if you give it a bad file to use. Zed A. Shaw 2025-05-30 19:53:53 -0400
  • 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. Zed A. Shaw 2025-05-30 17:49:15 -0400
  • 3dc70c3af6 This implements base ambient lighting for tiles which helps with tiles like lava and ceiling lights. Zed A. Shaw 2025-05-29 12:34:25 -0400
  • 74a1801069 More scripts for converting and pixelating images for the game. Zed A. Shaw 2025-05-29 12:31:59 -0400
  • cdd58ee21a Another nice scritp from fred. Zed A. Shaw 2025-05-29 12:30:51 -0400
  • 31df3fe7a3 Better light ceiling and floor tiles. Zed A. Shaw 2025-05-29 00:44:52 -0400
  • dd463d7d6e Did a bunch of pixelation tests and I think this is the best setup so far. Zed A. Shaw 2025-05-26 23:36:22 -0400
  • 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. Zed A. Shaw 2025-05-26 13:59:26 -0400
  • e015652f4c Now have the ability to load different textures for the floor, not ceiling though, it just matches the floor. Zed A. Shaw 2025-05-26 00:29:32 -0400
  • 8453e7c3b9 Map is back. Zed A. Shaw 2025-05-25 22:39:42 -0400
  • af2947c50a Simple styling of the rooms done. Zed A. Shaw 2025-05-25 12:12:08 -0400
  • 5cb74151f5 Remove more dead code from texturemgr. Zed A. Shaw 2025-05-25 11:44:14 -0400
  • 3a745d492a Refactored out the tilemap since it was mostly doing nothing useful. Zed A. Shaw 2025-05-25 11:39:43 -0400
  • ea9f6bf383 Prior to deleting the TileMap to see if I can just replace it with new features in Map and textures::. Zed A. Shaw 2025-05-25 10:30:45 -0400
  • f45dbe8c48 Ready to refactor the tilemap so I can stylize different parts of the maps generated. Zed A. Shaw 2025-05-24 12:34:45 -0400
  • 96a585220b Raycaster now leaves colors that are above a threshold to have a 'glow' effect. Zed A. Shaw 2025-05-24 12:03:26 -0400
  • c0d668fb0b Played around with a circular map real quick. Zed A. Shaw 2025-05-24 10:58:28 -0400
  • 9dcc2036aa Trying a new 'glowing moss' texture to sort out how to make the raycaster alter the light of a surface that has its own light. Zed A. Shaw 2025-05-24 00:47:44 -0400
  • e361984c40 Fixed a long standing bug I didn't realize where I did -1 on the map in the raycaster which made the textures not actually work. Zed A. Shaw 2025-05-24 00:47:01 -0400
  • 90c37fe4c9 Fixing up how rotation works with combat and then making the lighting better. Zed A. Shaw 2025-05-22 14:25:42 -0400
  • 4eaf3c35d6 Fixed up the map generator so that it's placing entities in non-overlapping tiles and adapting the style for the size. It can also deal with maps that have no rooms better and places the stairs better. Zed A. Shaw 2025-05-22 12:24:59 -0400
  • 5f1a453fb4 Refactored the maze functions to be a builder that can do different things to the maze. Also when I hit p in the game it'll save the map to a file. This was extremely hard for no reason. Zed A. Shaw 2025-05-21 13:56:53 -0400
  • 20f03731e5 Cleaned up the maze placement so that I can have mazes without rooms and with other features. Zed A. Shaw 2025-05-20 12:53:03 -0400
  • 37715f05a5 Cleaned up maze and ready to use. Zed A. Shaw 2025-05-20 10:32:20 -0400
  • 33cd490ed3 Playing with maze gen again. Zed A. Shaw 2025-05-20 03:19:58 -0400
  • c97648ab3a Remove useless log messages and bring back the tests. Zed A. Shaw 2025-05-19 11:40:56 -0400
  • ac252bf09d Maze works well now and there's something placed in all rooms and dead ends. Will need to randomize it more so not every dead end is an enemy. Zed A. Shaw 2025-05-19 11:19:33 -0400
  • a0b785cb2a Hunt-and-kill algorithm rocks. It handles everything I need for map gen, including spawn points, room placement, and the maze like map. Zed A. Shaw 2025-05-19 01:40:23 -0400
  • 0f8e61797f Now using a hunt-and-kill maze algorithm. Zed A. Shaw 2025-05-18 14:37:43 -0400
  • 7a0b2f988d Add a terrible maze generation algorithm to test if a maze style map looks/feels better. The walls are disabled so you can walk around. Zed A. Shaw 2025-05-18 01:00:47 -0400
  • 6cbfcf993e Meson build was using the wrong sfml_main on windows. Zed A. Shaw 2025-05-16 23:40:13 -0400
  • 0eb245d113 Working on a better character view. Zed A. Shaw 2025-05-16 01:22:12 -0400
  • d6e64dd06b The log is now moved to the map, but changing StatusUI caused a weird compiler error so need to remove logs from that separate. Zed A. Shaw 2025-05-16 00:43:45 -0400
  • a2246d2b71 Move the map_view and mini_map into gui as well. Zed A. Shaw 2025-05-16 00:07:24 -0400
  • bed5ce22d2 Move gui_fsm to fsm but this causes some problems. Zed A. Shaw 2025-05-15 23:54:59 -0400
  • cc44c9d37a Move the guecstra stuff into the gui. Zed A. Shaw 2025-05-15 22:50:59 -0400
  • dfc6aa08e9 Loot UI is now mostly formed, just need to get loot into it and make it work. Zed A. Shaw 2025-05-14 11:49:09 -0400
  • 8545b8cf1d Simple Loot UI started. Zed A. Shaw 2025-05-14 00:51:53 -0400
  • 8a3046e141 The colors and other theme elements can be configured in assets/config.json Zed A. Shaw 2025-05-13 22:52:27 -0400
  • 74a8599977 Fully converted to using the lel-guecs library externally now. Zed A. Shaw 2025-05-13 02:48:39 -0400
  • 7c90eb6da1 GUECS now doesn't have the facts feature from DinkyECS and instead you refer to the whole area with gui.MAIN. This is an entity that's at 0 and represents the whole grid. Background is placed there. Zed A. Shaw 2025-05-04 23:40:06 -0400
  • abea6da2e0 More GUECS cleanup before releasing. Still need to sort out events and reduce the amount of stuff that GUECS needs. Zed A. Shaw 2025-05-04 23:28:36 -0400
  • 1780a758b3 Initial GUECS refactor is done, it's now on its own with no other dependencies, but now I need to trim it down to do only what it needs. Zed A. Shaw 2025-05-04 11:56:30 -0400
  • 20176cf54a GUECS refactor part 1. Zed A. Shaw 2025-05-04 11:06:53 -0400
  • 4e7f837240 Cleanup of GUECS and the textures manager. Zed A. Shaw 2025-05-03 23:38:03 -0400
  • 438bd8ab8a Finally upgraded the strings to const& since I'm about to pull guecs out and distribute it. Oh well, the joke's finally over. Zed A. Shaw 2025-05-03 14:52:56 -0400
  • 82ce3cb6be Autowalker now knows how to craft its first weapon and open the map. Zed A. Shaw 2025-05-03 12:19:02 -0400
  • 70d27b9a95 GUECS now has a click_on function so you can programatically click on buttons for testing. Zed A. Shaw 2025-05-03 12:18:39 -0400
  • 78ba83e916 Move the map opened detect out to the class. Zed A. Shaw 2025-05-02 23:41:29 -0400
  • c4ed26184b Autowalker now opens the map at first to test that it works. Zed A. Shaw 2025-05-02 23:39:05 -0400
  • edf10c976a Cleaned up the ritual UI some more and solved a few more bugs, then brought in a quick 'dubious combination' image. Zed A. Shaw 2025-05-02 11:39:39 -0400
  • bac552c3d7 Ritual ui now does the combination correctly. Zed A. Shaw 2025-05-02 00:23:07 -0400
  • dab0e092e6 RitualUI is mostly working, but need to make the consumption of items work in the UI. Zed A. Shaw 2025-05-01 23:46:30 -0400
  • 6269d10807 The ritual UI is now a lot better using a FSM to control everything. Probably one more session to work out the remaining functionality. Zed A. Shaw 2025-05-01 14:40:24 -0400
  • 8a1f42c0f1 RitualUI is now ritual::UI and uses a FSM to coordinate its activities. Zed A. Shaw 2025-05-01 00:24:11 -0400