Commit graph

104 commits

Author SHA1 Message Date
Zed A. Shaw
a69be90464 Game now builds and is using the new dynamic component loading but enemies do not spawn in and device events are really working. Also inventory is a giant bag of fail and needs a rewrite. 2025-02-08 21:16:25 -05:00
Zed A. Shaw
9e91c71125 BROKEN: Big refactoring happening, so it compiles but game does not run and the tests fail. 2025-02-08 14:03:09 -05:00
Zed A. Shaw
96efc990c1 Brought in nuke's idea for json serialize now to use it. 2025-02-08 12:04:53 -05:00
Zed A. Shaw
d798d154ae We now have a full map that's basically the same mapping system from Roguish. There's a bug right now where it needs you to move once to calc the light and it's not being centered, but it does work. 2025-02-07 19:32:00 -05:00
Zed A. Shaw
55b67dcf5d Fix a bug where enemies will path into the player's space because collision isn't done at the right time. I think this may need another fix in the future when we get to the combat. 2025-02-07 16:10:37 -05:00
Zed A. Shaw
3986e6978e Sprites now have a distance lighting calculation that's the same as the raycaster using a shader. 2025-02-07 13:50:50 -05:00
Zed A. Shaw
a19bc47904 FINALLY fix that stupid bug. The cause was two-fold: I was giving every 'enemy' a sprite, but that automatically included the player in the list of enemies, which meant that I was rendering the player's sprite while moving. Then in the sprite casting loop I was rendering things at 0. 2025-02-07 11:05:15 -05:00
Zed A. Shaw
25ad9b51f8 Really crappy minimap now displays. 2025-02-06 15:03:46 -05:00
Zed A. Shaw
e85b5d998b System now controls the motion better since it's not GUIs job. 2025-02-06 12:13:22 -05:00
Zed A. Shaw
1973a7a1df GUI MOVE state is now cleaner and the camera is more consistent. 2025-02-06 11:55:43 -05:00
Zed A. Shaw
b0437d352b Cleaned up a lot but now trying to refactor some more but making a mistake. 2025-02-06 11:41:01 -05:00
Zed A. Shaw
4b18b21861 Movement is more correct now since it uses the System::motion to do it for the player, which will always keep all the things updated. I also put placeholder barrels for all the non-combatant entities in the map. Finally, it still has the backup bug and now won't close when you close the window. 2025-02-05 20:26:09 -05:00
Zed A. Shaw
14128ab10f Now have enemies chasing us around and implemented diagonal movement as a test but I kind of like it. 2025-02-05 14:16:31 -05:00
Zed A. Shaw
d5301acab5 Sprite is no more, now using the position from the level's world. 2025-02-05 11:46:40 -05:00
Zed A. Shaw
d0badedbd9 More cleanup of the raycaster, finally removed the window as a dependency but I went against making it an sf::Drawable since that had a lot of code quality problems. 2025-02-04 22:52:04 -05:00
Zed A. Shaw
d6c09e111d Raycaster now has wall collision so won't go through walls. Next step is to render all the sprites being places and then implement the Systems. 2025-02-04 14:13:00 -05:00
Zed A. Shaw
75ffb49a53 Clean up header includes. 2025-02-04 13:26:22 -05:00
Zed A. Shaw
1d3a76e5ee Refactored out main.cpp to be a separate gui and using an FSM to keep the turn based nature straight. 2025-02-04 12:56:20 -05:00
Zed A. Shaw
7228bdf210 Trying out an FSM for controlling the main loop. 2025-02-04 00:52:54 -05:00
Zed A. Shaw
740e30cb2b Strafing now works, thanks to rcr but needs a unit test on the camera and probbably a refactor so that rayview uses it or knows nothing about it? 2025-02-03 14:17:20 -05:00
Zed A. Shaw
48ac6603a8 Implement a little junk camera on its own that we can use later for movement and views. 2025-02-03 11:08:17 -05:00
Zed A. Shaw
976822ceb6 Mostly working junk camera that can do turnbased lerp smooth motion. 2025-02-03 10:17:59 -05:00
Zed A. Shaw
cbf0955786 Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 2025-02-01 14:39:08 -05:00
Zed A. Shaw
a67d25ee10 Tiles now record their textures and this is loaded from the map then converted to an indexed integer on the fly. 2025-01-31 13:37:01 -05:00
Zed A. Shaw
9e3e347e4a Fix a typo. 2025-01-30 13:28:32 -05:00
Zed A. Shaw
56d67aba28 First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
Zed A. Shaw
2daa1c9bd5 Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
Zed A. Shaw
8d3d3b4ec3 A quick warning in case people are funding the thing. 2025-01-28 02:45:02 -05:00
Zed A. Shaw
071808a0f8 Playing around with shaders for effects on the scene. 2025-01-27 11:36:00 -05:00
Zed A. Shaw
3519c73079 Remove some more junk from the texture thing. 2025-01-27 10:25:49 -05:00
Zed A. Shaw
d0d3c8bc04 Make the animator more official. 2025-01-27 10:13:32 -05:00
Zed A. Shaw
b87217ff90 Have a barely working animation thing that animates the evil eye when you click a button. 2025-01-27 05:40:04 -05:00
Zed A. Shaw
51c1e04f61 Made some progress on the refactoring but I need to start getting serious and not reworking this code to death. 2025-01-26 19:22:27 -05:00
Zed A. Shaw
6ed57cd4a8 Closer to what I want for sprite loading but still needs more work. 2025-01-25 12:19:14 -05:00
Zed A. Shaw
51858ea399 Made a terrible animation sprite and then did a quick animation test. Won't keep it for now but this shows how it could work. 2025-01-25 12:02:57 -05:00
Zed A. Shaw
0882851b3f Switching back to 256px textures for most things, but the weapon works best as a 512px. 2025-01-25 08:29:01 -05:00
Zed A. Shaw
5e6f95513c Tried out 512px tiles and sprites and they actually look like crap. They just look like bad textures not better painted. With 256 they look nicely pixelated. 2025-01-25 07:46:57 -05:00
Zed A. Shaw
d397c02d38 You can now stab stuff with a sword. 2025-01-23 12:54:46 -05:00
Zed A. Shaw
ad38f575a3 Now the sprites are rendered in the 3d scene with just SFML sprites. 2025-01-23 11:24:06 -05:00
Zed A. Shaw
da7075864b Now have a basic sprite system that uses SFML's sprites, but the algorithm for determining how much of a sprite to display is wrong. Need to use the alternate algorithm from LODE's tutorial that draws sprites after rendering. 2025-01-23 02:42:43 -05:00
Zed A. Shaw
024d5b30e1 Some quick hacks that do the seamless texture splits. 2025-01-22 11:14:57 -05:00
Zed A. Shaw
15a2a69ac1 Made a seamless wood wall and tried it but back to brick. 2025-01-22 11:13:39 -05:00
Zed A. Shaw
5305aea077 Fixed up the floor and ceiling textures to not have seams. 2025-01-22 06:17:28 -05:00
Zed A. Shaw
fdc5931b96 Added a ceiling worm enemy for fun but not really that good. 2025-01-20 11:27:00 -05:00
Zed A. Shaw
ce1476b117 Saw some tutorials on Photobashing and used the technique to bang out an Evil Eye and some wall/ceiling/floor textures with a painterly style. The Evil Eye is a collage of a shark an eye and some eels. 2025-01-20 06:13:32 -05:00
Zed A. Shaw
c98aa936ad The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2025-01-19 12:58:05 -05:00
Zed A. Shaw
308fe4bed2 Brought in Amit's latest and tweaked a few more build options for enabling some safety checks in GCC. 2025-01-19 11:05:42 -05:00
Zed A. Shaw
eef13bd325 Tried a few more things but nothing much worked. The weirdest was the lto options that failed to do even basic linking. 2025-01-19 04:49:37 -05:00
Zed A. Shaw
ea3dd204a1 Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2025-01-19 04:02:42 -05:00
Zed A. Shaw
4c3049df14 Add the tracy wrap and meson options. 2025-01-18 13:33:45 -05:00