Commit graph

103 commits

Author SHA1 Message Date
Zed A. Shaw
a20d701096 Rename to GameDB and GameDB::Level. 2025-08-20 23:20:36 -04:00
Zed A. Shaw
a83ee77eea levelmanager.* is now gone, but the code is just moved over to game_level. Now to clean up the api and give it a new name. 2025-08-20 01:10:42 -04:00
Zed A. Shaw
d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. 2025-08-19 11:05:32 -04:00
Zed A. Shaw
9bf6926dc3 A bit of optimization to keep from generating the sorted sprite list over and over. Also tried to solve the problem of tombstone covering everything but no luck. 2025-08-03 23:58:59 -04:00
Zed A. Shaw
9c02fb846b Now the spatialmap determines the 'wiggle factor' when there's multiple entities in a cell, which staggers them visually. Closes #78. 2025-08-03 01:56:34 -04:00
Zed A. Shaw
e51fb8627c Switching to Linux to find a memory bug and I want to keep a record of what caused it. 2025-07-30 22:34:26 -04:00
Zed A. Shaw
ff7111b006 Icons now work way better and don't have the the 'Rayview cuts icons' bug. It actually was a bug in the lel-guecs Sprite class that was using the TextureRect from the source sprite. Now its initialized with the framesize from the .json. This also uses the new guecs::Icon, but I have to fix that as it doesn't scale correctly. Closes #2. 2025-07-22 15:04:22 -04:00
Zed A. Shaw
1baf90a776 Easy fix, just set aiming_at in the camera position. Closes #57. 2025-07-05 12:04:07 -04:00
Zed A. Shaw
8bbafc4d10 Raycaster now keeps track of the square we are aimed but _does not_ know what is there, that's the job of other things like MainUI. Closes #50. 2025-06-30 12:36:00 -04:00
Zed A. Shaw
0d79ce35b3 Every sprite's dimensions are now taken from their config rather than a global. Closes #42. 2025-06-30 11:00:01 -04:00
Zed A. Shaw
a418b48e94 Don't re-run the whole next level thing on every spawned item. Closes #48 2025-06-30 10:38:53 -04:00
Zed A. Shaw
cad51f4908 Use RGBA for the uint32_t color pixels. Closes #49. 2025-06-29 11:53:17 -04:00
Zed A. Shaw
ab1a415b55 Refactored the CameraLOL to be inside the rayview instead of a convolute main_ui->camera->rayview and back. Closes #16. 2025-06-29 11:11:12 -04:00
Zed A. Shaw
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. 2025-05-26 13:59:26 -04:00
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