Commit graph

89 commits

Author SHA1 Message Date
Zed A. Shaw
e015652f4c Now have the ability to load different textures for the floor, not ceiling though, it just matches the floor. 2025-05-26 00:29:32 -04:00
Zed A. Shaw
3a745d492a Refactored out the tilemap since it was mostly doing nothing useful. 2025-05-25 11:39:43 -04:00
Zed A. Shaw
ea9f6bf383 Prior to deleting the TileMap to see if I can just replace it with new features in Map and textures::. 2025-05-25 10:30:45 -04:00
Zed A. Shaw
96a585220b Raycaster now leaves colors that are above a threshold to have a 'glow' effect. 2025-05-24 12:03:26 -04:00
Zed A. Shaw
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. 2025-05-24 00:47:01 -04:00
Zed A. Shaw
90c37fe4c9 Fixing up how rotation works with combat and then making the lighting better. 2025-05-22 14:25:42 -04:00
Zed A. Shaw
c97648ab3a Remove useless log messages and bring back the tests. 2025-05-19 11:40:56 -04:00
Zed A. Shaw
a0b785cb2a Hunt-and-kill algorithm rocks. It handles everything I need for map gen, including spawn points, room placement, and the maze like map. 2025-05-19 01:40:23 -04:00
Zed A. Shaw
abea6da2e0 More GUECS cleanup before releasing. Still need to sort out events and reduce the amount of stuff that GUECS needs. 2025-05-04 23:28:36 -04:00
Zed A. Shaw
4c03fe1ed3 Make the raycaster 'highlight' things you point at. 2025-04-25 23:17:31 -04:00
Zed A. Shaw
787be78a69 Now I can attach arbitrary shaders to sprites based on things that happen in the world. 2025-04-20 00:09:56 -04:00
Zed A. Shaw
1b4f55804c The flame shader now only turns on when facing an enemy. Next is tagging enemies with specific shaders to apply at a specific time. 2025-04-16 00:02:27 -04:00
Zed A. Shaw
5ffa3b0d1e Everyone is on fire temporarily. 2025-04-15 19:34:39 -04:00
Zed A. Shaw
19b9a4affd The reload mechanism for shaders is a bit better, but still to make them unique. 2025-04-14 13:16:19 -04:00
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