Commit graph

75 commits

Author SHA1 Message Date
Zed A. Shaw
766b20f3f8 Rayview now uses the shader manager. 2025-04-13 22:31:13 -04:00
Zed A. Shaw
35ced58cc9 Shaders now are managed by a manger that can do hot reloading and it also will detect a bad shader and use an ERROR shader so you know it's busted visually. 2025-04-13 17:11:21 -04:00
Zed A. Shaw
a5b8e411e3 I can now apply shaders to any GUI element, but I need a shader manager that will allow for hot reloading and tracking input/output variables. 2025-04-13 15:17:08 -04:00
Zed A. Shaw
c7c48658bd Lots of dumb little edits to sort out what I'm aiming at. I'll next clean out most of this in a refactor. 2025-04-06 15:32:19 -04:00
Zed A. Shaw
6c9016eb0f After some prototyping I have what I think I want for the map. Just a simple piece of paper you take out that has the ASCII map on it. 2025-03-21 02:51:02 -04:00
Zed A. Shaw
0a40135f5d Throw in the distance to mess with it later. 2025-03-19 22:34:56 -04:00
Zed A. Shaw
a6d83db20c Fixed up dbc.cpp so now just use it everywhere. I next need to find a way to pass that to format automatically. 2025-03-17 23:53:58 -04:00
Zed A. Shaw
8b414c13e6 Animations now can have a stationary option which tries to keep them 'in place' while growing, effectively removing the forward motion. 2025-03-04 12:12:27 -05:00
Zed A. Shaw
033358749f Animations now have an easing/ease_rate setting that will do a dynamic scaling effect on them during the animation sequence. 2025-03-01 00:24:19 -05:00
Zed A. Shaw
14c7f660de Level traversal works better now, compass is accurate, and direction is maintained when you traverse. 2025-02-26 10:39:30 -05:00
Zed A. Shaw
54fbf22b6d We can go down a level and there's a loading screen for it. The map and motion now matches the directions shown in the raycasting. There's now a compass that shows you the direction you're facing. 2025-02-25 13:15:39 -05:00
Zed A. Shaw
5179709e3c Performance check showed that I was checking every sprite even if they're way far away so now just do ones near-ish. 2025-02-25 00:56:54 -05:00
Zed A. Shaw
29e6d45dc6 Level traversal works, but it's very immediate. Next is a little 'confirm level' modal and a transition screen. 2025-02-24 23:26:50 -05:00
Zed A. Shaw
fa6311f10c Add an ability to mark the main UI dirty so that it forces a render at specific times. 2025-02-22 23:26:47 -05:00
Zed A. Shaw
83df9ff03b Super awesome twitchy animation for axe guy. 2025-02-22 11:03:38 -05:00
Zed A. Shaw
80a0f2ba75 Basic simple animations where the enemies just move forward. 2025-02-22 01:36:31 -05:00
Zed A. Shaw
b43553a563 Major speed up in rendering by only doing it when we move, but drawing the rendered 3d view texture constantly. 2025-02-21 11:34:46 -05:00
Zed A. Shaw
0260e3d345 Textures and sprites are now managed by a single module in textures.hpp, and even though it is a _single_ location to access all sprites it is NOT a singleton. Those are illegal. 2025-02-21 03:32:44 -05:00
Zed A. Shaw
f3e1413022 Intermediate refactor to move everything over to using the textures module rather than everyone using one TexturePack thing. 2025-02-21 03:00:56 -05:00
Zed A. Shaw
3b9525cca4 Enemies now turn into a lootable device witha grave_stone sprite so you know they died. Need to implement noclipping on items with collision. 2025-02-19 23:18:33 -05:00
Zed A. Shaw
49a71e257e GUI for combat now works better and I can create sprites for things if I want. 2025-02-18 11:28:55 -05:00
Zed A. Shaw
deb235dbc5 This gets the project to compile on OSX with Clang 16 (OSX version 14.7.x) but there's missing libraries for the linking stage. 2025-02-17 05:26:47 -05:00
Zed A. Shaw
9b3b81683a Separate out the major UIs to get ready for their development, and enable debug button. 2025-02-13 10:55:45 -05:00
Zed A. Shaw
90351ce0fe The lighting now uses the original grid based lighting calculations rather than a global single source from the player. 2025-02-11 13:31:39 -05:00
Zed A. Shaw
6bca6d021e Sprite is now a component we can place on anything to render it. 2025-02-10 12:58:24 -05:00
Zed A. Shaw
9c37960283 Raycaster mostly cleaned up. Only thing I can think of is bringing in CameraLOL as the coordinates directly. 2025-02-10 12:05:07 -05:00
Zed A. Shaw
2de4b43914 Remove this formula comment. #NOTE 2025-02-10 11:34:35 -05:00
Zed A. Shaw
51972b0c35 Converted all the variable names from Lode's tutorial style to the one I use in prep for some review and cleanup. 2025-02-10 11:32:50 -05:00
Zed A. Shaw
a4c13f7fc9 Maps are back and have color now. TileCell needs a rework. 2025-02-09 14:57:19 -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
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
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
56d67aba28 First hack to get a random gen map going. 2025-01-30 13:23:12 -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
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