Commit graph

  • a58439a289 Start the refactor of FSM::handle_world_events. master Zed A. Shaw 2026-05-27 13:43:03 -04:00
  • e4d6bf4854 Show a combat icon when in combat. Zed A. Shaw 2026-05-27 13:21:35 -04:00
  • dc9f942912 Fix the mouse handler so that it uses the router mouse_mods. Zed A. Shaw 2026-05-27 12:49:02 -04:00
  • af4ee30ade Make the positioning of the hand sprite dynamic bsed on size and also done once during init instead of every render. Zed A. Shaw 2026-05-27 12:20:35 -04:00
  • af69bd2286 Setup for showing an in-combat icon and made it so I wait until the animation is done playing, as games do. Zed A. Shaw 2026-05-27 12:15:29 -04:00
  • 6f9e8a3ed4 Refactor to allow for the new screen flow. Zed A. Shaw 2026-05-27 12:09:17 -04:00
  • e7b6b42698 The new scene system brought over and updated animation to be optional in the scene engine. Zed A. Shaw 2026-05-26 12:48:34 -04:00
  • d86617aa3a Fixes to worldbuilder to prevent door placement of items and enemies. Zed A. Shaw 2026-05-26 11:25:24 -04:00
  • d1d7bf8d94 Fix the rotation speed so it's calculated based on the rotation angle. Zed A. Shaw 2026-05-26 11:06:58 -04:00
  • 89772fd89b Now that combat is unlocked tell enemies they can fight when near something to fight. Zed A. Shaw 2026-05-26 10:48:08 -04:00
  • 2e0cc11555 Combat is now unlocked. Zed A. Shaw 2026-05-25 12:18:55 -04:00
  • 3d8572117c Incorporate the systems registry to make it easier to add/remove systems. Zed A. Shaw 2026-05-25 12:00:25 -04:00
  • 54d0a41c52 A few more fixes for how Combat works. Zed A. Shaw 2026-05-25 11:38:20 -04:00
  • 2a92687bc9 Had a mistake where I wasn't tracking the live->dead transition it the new code. Zed A. Shaw 2026-05-25 11:02:22 -04:00
  • e35e362846 Remove some debug stuff. Zed A. Shaw 2026-05-25 10:33:04 -04:00
  • a22564bb58 Synced the combat from under the dome. Zed A. Shaw 2026-05-24 11:59:51 -04:00
  • 110612c33a First batch of changes merged back from Under. Fixes the router, adds magic_enum to FSM, and makes it easy to reset the world. Zed A. Shaw 2026-05-09 23:52:40 -04:00
  • d583a28b9c Update to new lel and bring in utf8cpp. Zed A. Shaw 2026-04-17 01:28:17 -04:00
  • b62cb8fe92 Improvements from the Go version of the mazes. Zed A. Shaw 2026-03-24 12:29:06 -04:00
  • fee925505f Dead tests not used anymore. Zed A. Shaw 2026-03-20 12:13:23 -04:00
  • 738d9a64d3 Make the tests go faster. Zed A. Shaw 2026-03-20 12:02:52 -04:00
  • 6d7a944a7d Quick move into textures.cpp so I can work on the final form of wall to door mapping. Zed A. Shaw 2026-03-17 12:40:31 -04:00
  • f57d202f5c Basic prototype of showing a different door to match the walls. Need to generalize though. Zed A. Shaw 2026-03-17 12:31:35 -04:00
  • 349656589b Doors are now meshed into the walls better but I got rid of the wood wals. They suck. Zed A. Shaw 2026-03-17 11:43:16 -04:00
  • 4c11829580 Doors are placed and you can walk through them, also fixed the way the jankifier renders so that it uses a consistent bit depth for all the textures. Zed A. Shaw 2026-03-16 23:53:06 -04:00
  • 0add3b29ae Now have doors that you can walk though. No open/close animation yet. Zed A. Shaw 2026-03-16 12:53:10 -04:00
  • 02d23bb77d More cleanups of the tests and fixes to the room and door positioning. Zed A. Shaw 2026-03-15 22:53:00 -04:00
  • 8e2a691337 Now the rooms are better at having good doors. Zed A. Shaw 2026-03-15 03:20:29 -04:00
  • 908f5bfb3e Slight better but I think place_doors can be even better. Zed A. Shaw 2026-03-15 01:21:33 -04:00
  • f304538325 way better map/maze debug output. Zed A. Shaw 2026-03-15 00:09:47 -04:00
  • 3394de064c New scripting style mazes incorporated. Zed A. Shaw 2026-03-13 11:36:21 -04:00
  • 1b2276c08f Add the map's invariant too. Zed A. Shaw 2026-03-13 11:11:28 -04:00
  • 9001af214a Maze scripts now work reliably. Zed A. Shaw 2026-03-13 10:41:42 -04:00
  • c615f4fc1e Can now script maze gen with a json. Zed A. Shaw 2026-03-13 01:55:26 -04:00
  • a71d6340db Tests now run the repair() step. Zed A. Shaw 2026-03-13 00:36:49 -04:00
  • e6fcbd8dcf Maze gen can now more efficiently produce an interesting map that is fully pathable. Zed A. Shaw 2026-03-12 00:54:34 -04:00
  • f85ae8a6c6 Better map generation and a test that re-rolls maps that aren't valid to figure out the stats of map gen failures. Zed A. Shaw 2026-03-11 12:31:51 -04:00
  • 8090251a71 I can validate that a map is pathable, but can't fix it. Zed A. Shaw 2026-03-10 00:42:58 -04:00
  • 74f92dfe2c Gave up on adding a buffer and I'll just let rooms be near eachother. Seems to produce interesting results anyway. Zed A. Shaw 2026-03-09 11:12:26 -04:00
  • 8b129aea6b More refinement of the maps. Now the inner box won't have rooms in it and I can mark a region free of rooms. Rooms also have a guaranteed door. Zed A. Shaw 2026-03-08 12:25:40 -04:00
  • 87a1193a4a Tone down the map gen tests. Zed A. Shaw 2026-03-08 03:31:18 -04:00
  • fb41c153c1 With some help from chat I sorted out how to randomize rooms without overlap. Zed A. Shaw 2026-03-08 03:28:49 -04:00
  • 47c0d4a5f0 Initial fix for large center rooms not having entry exit. Zed A. Shaw 2026-03-07 00:10:42 -05:00
  • da7f24c126 Fix the const. Zed A. Shaw 2026-03-06 11:52:52 -05:00
  • 13d1f54f09 By compiling the code into a .a file I can avoid meson's weird duplication of compiled .o files, cutting build times in half on average. Zed A. Shaw 2026-03-06 11:26:44 -05:00
  • f0b04107ab Best I can do to simplify the check(fmt::format)crap is to make a little macro to do the format part. Zed A. Shaw 2026-03-05 12:39:22 -05:00
  • 6710469ee1 First attempt at cutting down the amount of recompiles for the tools, but maybe I just have meson only build the tool when I run it? Zed A. Shaw 2026-03-04 00:09:25 -05:00
  • 56b4580466 Moving to a 'less constructors' style. Zed A. Shaw 2026-03-03 23:55:28 -05:00
  • ea791270b3 Move to c++23 and clean up of raycaster. Zed A. Shaw 2026-03-03 23:33:32 -05:00
  • 403d2bd7ce Improved make money command. Zed A. Shaw 2026-03-03 22:47:54 -05:00
  • 91ab5eb624 Some more rayview cleanup. Zed A. Shaw 2026-03-01 14:04:22 -05:00
  • dd3952d5c1 Refactor the raycaster to separate update from render. Zed A. Shaw 2026-02-28 12:22:03 -05:00
  • 36efdc91aa Don't need tracy. Zed A. Shaw 2026-02-28 11:00:06 -05:00
  • 0ff5fd1980 First step to a normal update/render loop. Zed A. Shaw 2026-02-28 10:59:28 -05:00
  • 46c6fce47e Simple fix to make the story and boss fight scenes work. Zed A. Shaw 2026-02-28 10:46:51 -05:00
  • ff3a6c4a85 Don't need this. Zed A. Shaw 2026-02-27 22:12:55 -05:00
  • 5179f1c781 Final move of files to a better place. Only thing in the root is very common stuff. Zed A. Shaw 2026-02-27 15:10:17 -05:00
  • ebe84c4d78 Most files moved, now the stragglers. Zed A. Shaw 2026-02-27 14:48:16 -05:00
  • f460add0af Graphics reorg done. Zed A. Shaw 2026-02-27 14:11:13 -05:00
  • 86a9f815c1 animation and lights moved to graphics Zed A. Shaw 2026-02-27 13:57:44 -05:00
  • 229ad2dd95 Textures and palette moved to graphics. Zed A. Shaw 2026-02-27 13:09:44 -05:00
  • b91e9ffaf6 Algos directory is setup. Zed A. Shaw 2026-02-27 12:07:01 -05:00
  • 0064664556 Matrix moved. Zed A. Shaw 2026-02-27 11:43:14 -05:00
  • 5863920105 Combat is now working. Zed A. Shaw 2026-02-27 11:28:56 -05:00
  • 13ec422aae AI is now moved. Zed A. Shaw 2026-02-27 11:21:42 -05:00
  • 1d4ae911b9 Files are now in a src directory and I'm using a src/meson.build and tests/meson.build to specify what to build. Zed A. Shaw 2026-02-27 10:49:19 -05:00
  • 4778677647 Remove tracy, not using it. Zed A. Shaw 2026-02-27 10:17:44 -05:00
  • 9e8816181d Not using tracy. Zed A. Shaw 2026-02-27 00:13:19 -05:00
  • b61dd167b8 Needed to remove more dead code. Zed A. Shaw 2026-02-27 00:08:29 -05:00
  • 03be0884a4 Clean up the source tree before reorganizing it. Zed A. Shaw 2026-02-26 23:43:30 -05:00
  • 779599f030 Entities in the world are now animated like before using the new animation system. Zed A. Shaw 2026-02-25 12:13:43 -05:00
  • 594be65f45 Refine how the raycaster.cpp uses animations so there's less back-and-forth on the intrect. Zed A. Shaw 2026-02-24 22:51:55 -05:00
  • cded8a937e Animations are working better in the raycaster but still need refinement. Zed A. Shaw 2026-02-24 13:42:29 -05:00
  • 81a282d544 Finally renamed animate2 to animation thus completing the refactor. There's still things to do to make the new animation actually work though. Zed A. Shaw 2026-02-24 11:36:57 -05:00
  • 83f62e3f45 Move the step_animation out of the animate2 module since it's only used in raycaster.cpp. Zed A. Shaw 2026-02-24 11:14:16 -05:00
  • 89ca204f3d Now the Animation system is no more. Next is cleaning up the quick hacks I needed to finally get rid of it, like animate2::has. Zed A. Shaw 2026-02-23 23:41:14 -05:00
  • b504afef2a The ritual blanket now has the new animation and gained the ability to play the animation reversed for the closing animation. Zed A. Shaw 2026-02-23 12:05:56 -05:00
  • 1a9c395ae6 Hand animation is now converted. Zed A. Shaw 2026-02-23 11:27:54 -05:00
  • e3065f7add Cleaning out stray animation.hpp files to make finding usage easier. Zed A. Shaw 2026-02-23 00:21:57 -05:00
  • 0fefc83c36 stories.json now encodes the duration for a transform so that the time code of the event isn't also controlling the time that the transform runs. Zed A. Shaw 2026-02-22 23:40:00 -05:00
  • 088f9e022e Refactor the story->camera converter to be a part of the camera. Zed A. Shaw 2026-02-22 23:02:02 -05:00
  • 024d0cfae7 storyboard::UI now adapts the camera to fit the story beats, but really story should do that. Zed A. Shaw 2026-02-22 12:14:42 -05:00
  • d56b4bd335 Added invariants to the Sequence to hunt down a bug in the tests but I'll leave it there for future testing. Zed A. Shaw 2026-02-21 13:24:39 -05:00
  • 1baca783fc Sorted out the animation vs. easing contradiction I believe. Now there's a separate easing_duration that's calculated from the total duration of all frames. Then a easing_position determines where in the total the animation is, which is fed to the asing functions as a ration of easing_position / easing_duration. Zed A. Shaw 2026-02-21 01:57:33 -05:00
  • 0c798c9e0d Fixed the way scene updates, but it's still not connecting the ticks to the updates in animation. Zed A. Shaw 2026-02-20 11:06:14 -05:00
  • 32e9c65331 First implementation of doing the usual update/render dance. Zed A. Shaw 2026-02-20 10:32:37 -05:00
  • 364f66bffb Camera is now using Animate2 and it's mostly working, but there's a few more refactors needed. Zed A. Shaw 2026-02-20 00:15:19 -05:00
  • 46cc21ec7b Camera is now using animate2 but isn't actually using it yet. Just converted. Zed A. Shaw 2026-02-17 00:55:41 -05:00
  • 7bf7b25a10 Make the player just stand instead of bounce. Zed A. Shaw 2026-02-15 22:52:24 -05:00
  • f8a8033890 Arena is working with the new animate2 but boss/fight.cpp needs a complete overhaul. Zed A. Shaw 2026-02-15 12:04:53 -05:00
  • ba91929bfd Everyone has different animations, but they tend to cancel each other out. Need to refine it next. Zed A. Shaw 2026-02-13 23:57:16 -05:00
  • 458bf7e25e Scene now renders correctly, but I need to pull out the json in config_scene_element and make a component that's loaded. Zed A. Shaw 2026-02-13 23:30:57 -05:00
  • 2cef58be69 Found it. I was taking a reference to a function pointer that was on the stack. Zed A. Shaw 2026-02-13 12:38:25 -05:00
  • 2484802d93 Torches are now flipped, but next is that same crash. Zed A. Shaw 2026-02-13 11:10:13 -05:00
  • 0e8b661273 Figured out the crash, but want to see what valgrind would say. Zed A. Shaw 2026-02-12 12:59:35 -05:00
  • aaf5aa4165 Arena is now using the new animate2 but needs to be fixed. Zed A. Shaw 2026-02-11 13:57:19 -05:00
  • 547e8ec993 The animation tool now works and I used it to design an idle animation with the classic bounce. Zed A. Shaw 2026-02-11 13:00:57 -05:00
  • 80f100f223 Can now apply a shader using the animation's timer but not sure if there should be shaders on animations or outside or both. Zed A. Shaw 2026-02-09 13:58:28 -05:00
  • 0d481a5ab7 Animator won't crash anymore when there's an error, and instead displays an error message. Zed A. Shaw 2026-02-07 13:05:24 -05:00
  • 46f34828e4 Sound is now working, and the animator tools will play them and also has mute. Zed A. Shaw 2026-02-06 13:39:34 -05:00