Commit Graph

  • f884b83809 SFML's use of fonts is bizarre. It gives you a bounding box for the font, but then just ignores it and positions the text using the baseline, which is then outside of the bounding box. This is a quick fix but still looks wrong. Zed A. Shaw 2025-02-16 03:00:29 -0500
  • 55feff23fb Make the README better so people can try to build it. Zed A. Shaw 2025-02-16 02:59:40 -0500
  • 6b9c67beec Add some debug boxes around the fonts to figure out why they aren't vertically centered. Zed A. Shaw 2025-02-15 22:54:00 -0500
  • 45ad16c010 A bit more refinement. Zed A. Shaw 2025-02-15 22:23:24 -0500
  • a7991a8f06 Fixing more bugs related to percentages and then prototype a more complex UI. Zed A. Shaw 2025-02-15 22:14:19 -0500
  • e106ad4be7 Can click on buttons and make them change color. Zed A. Shaw 2025-02-15 14:29:27 -0500
  • 7f9e200abe LEL can now do hit detection on squares. Zed A. Shaw 2025-02-15 13:43:41 -0500
  • aa149b6574 Can now use lel::center to center something inside a cell. Zed A. Shaw 2025-02-15 13:22:36 -0500
  • c03a384372 You can now prefix a size with % and it will do percentage for the size, even over 100. Zed A. Shaw 2025-02-15 12:52:26 -0500
  • d558da1620 Just move all the one-liner functions straight into the parser. Zed A. Shaw 2025-02-15 12:21:04 -0500
  • 60ed686eb0 Already better than CSS because I can center stuff. Zed A. Shaw 2025-02-15 12:13:58 -0500
  • 1620a5420f Use a lel:: namespace. Zed A. Shaw 2025-02-15 11:55:04 -0500
  • cebf61a794 LEL is able to position right/left/top/bottom and expand out too. Zed A. Shaw 2025-02-15 10:59:51 -0500
  • 872cedc8e1 LEL is working at a basic grid level, able to render boxes where I want. Zed A. Shaw 2025-02-15 01:31:57 -0500
  • 846b7aaf16 Initial cut of the lel parser mostly working but none of the basic alignment properties work. Zed A. Shaw 2025-02-14 15:40:15 -0500
  • e7e0df6b70 New rat enemy. Zed A. Shaw 2025-02-14 15:22:47 -0500
  • 02a385e707 Make the DinkyECS test fully isolated. Zed A. Shaw 2025-02-14 10:48:09 -0500
  • f8dd5d816f Basic combat system prototype works, but needs more GUI love to really work in the game. Zed A. Shaw 2025-02-14 10:18:45 -0500
  • bfd2718cc9 Found my old LEL code and got the shell working, so tomorrow I'll try to make it layout some gui element. Zed A. Shaw 2025-02-14 02:13:08 -0500
  • 8a6b38c1a4 Start of V1 combat system where you get locked into combat when in range and have to work the turn system to get out. Zed A. Shaw 2025-02-13 14:39:04 -0500
  • d2700d2928 You now have blood on your screen when below half health. Zed A. Shaw 2025-02-13 13:15:20 -0500
  • 1c8f542c21 Nuke taught me the other way to make class enums not suck so I guess no FU? Zed A. Shaw 2025-02-13 11:14:32 -0500
  • 9b3b81683a Separate out the major UIs to get ready for their development, and enable debug button. Zed A. Shaw 2025-02-13 10:55:45 -0500
  • 7eec67ffc8 Got some buttons down now to make them do stuff. Zed A. Shaw 2025-02-12 18:06:25 -0500
  • be4d0d51de Two main GUI elements are placed for the left side status and the bottom combat UIs. Zed A. Shaw 2025-02-12 17:55:21 -0500
  • 1790eec697 Went with just making the left gui frame monochrome to sort out its value structure compared to the scene. Zed A. Shaw 2025-02-12 16:16:30 -0500
  • 9fe7cac79b Have a sort of left gui going but not sure if I like it as a real texture yet. Will need to play with it more. Zed A. Shaw 2025-02-12 14:02:34 -0500
  • d38e2cb0f2 All of the assets I need right now are done. Zed A. Shaw 2025-02-12 11:18:24 -0500
  • 4027b70867 More assets. Zed A. Shaw 2025-02-12 02:24:32 -0500
  • 583ad6d9c5 Create a bunch of textures for sprites in the game. Zed A. Shaw 2025-02-11 20:46:44 -0500
  • ebaf4fc0ee Fix map, it was moved over but scaled for the whole screen. Zed A. Shaw 2025-02-11 20:46:31 -0500
  • 21e087ded5 Basic UI positioning and layout prior to designing the UI and setting a place for the combat system. Zed A. Shaw 2025-02-11 14:35:54 -0500
  • 90351ce0fe The lighting now uses the original grid based lighting calculations rather than a global single source from the player. Zed A. Shaw 2025-02-11 13:31:39 -0500
  • 6da830595c Clean up the GUI some by moving the map_view out into its own file. Zed A. Shaw 2025-02-11 11:37:01 -0500
  • 421cca308b Fixed player showing up as an enemy and did better map centering. Zed A. Shaw 2025-02-11 11:10:18 -0500
  • e2bd61a1e4 Let the jank FLOW through my veins like pure cocaine! We have animations now and can attack enemies. It's all garbage to replace next session but the idea is there. Zed A. Shaw 2025-02-10 18:35:47 -0500
  • abd843d5ec Very basic attack system. Zed A. Shaw 2025-02-10 14:06:38 -0500
  • 6bca6d021e Sprite is now a component we can place on anything to render it. Zed A. Shaw 2025-02-10 12:58:24 -0500
  • 9c37960283 Raycaster mostly cleaned up. Only thing I can think of is bringing in CameraLOL as the coordinates directly. Zed A. Shaw 2025-02-10 12:05:07 -0500
  • 2de4b43914 Remove this formula comment. #NOTE Zed A. Shaw 2025-02-10 11:34:35 -0500
  • 51972b0c35 Converted all the variable names from Lode's tutorial style to the one I use in prep for some review and cleanup. Zed A. Shaw 2025-02-10 11:32:50 -0500
  • 0cbe20af35 Fix up the colors and rendering so that tilemap just uses components::Tile all the time. Need to load all of the config data from json one time on system start instead of constantly, although constantly does make debugging live easier. Zed A. Shaw 2025-02-09 15:54:17 -0500
  • a4c13f7fc9 Maps are back and have color now. TileCell needs a rework. Zed A. Shaw 2025-02-09 14:57:19 -0500
  • 27bb08d62c Tell json to be more strict about missing fields to avoid that bug in the future, then fix all of the data. Zed A. Shaw 2025-02-09 14:17:07 -0500
  • b6831b75a3 This fixes the stupid 'bug' where nothing would render because I actually had the data type wrong in the json after moving to the new format. Zed A. Shaw 2025-02-09 14:05:39 -0500
  • 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. Zed A. Shaw 2025-02-08 21:16:25 -0500
  • 9e91c71125 BROKEN: Big refactoring happening, so it compiles but game does not run and the tests fail. Zed A. Shaw 2025-02-08 14:03:09 -0500
  • 96efc990c1 Brought in nuke's idea for json serialize now to use it. Zed A. Shaw 2025-02-08 12:04:53 -0500
  • 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. Zed A. Shaw 2025-02-07 19:32:00 -0500
  • 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. Zed A. Shaw 2025-02-07 16:10:37 -0500
  • 3986e6978e Sprites now have a distance lighting calculation that's the same as the raycaster using a shader. Zed A. Shaw 2025-02-07 13:50:50 -0500
  • 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. Zed A. Shaw 2025-02-07 11:05:15 -0500
  • 25ad9b51f8 Really crappy minimap now displays. Zed A. Shaw 2025-02-06 15:03:46 -0500
  • e85b5d998b System now controls the motion better since it's not GUIs job. Zed A. Shaw 2025-02-06 12:13:22 -0500
  • 1973a7a1df GUI MOVE state is now cleaner and the camera is more consistent. Zed A. Shaw 2025-02-06 11:55:43 -0500
  • b0437d352b Cleaned up a lot but now trying to refactor some more but making a mistake. Zed A. Shaw 2025-02-06 11:41:01 -0500
  • 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. Zed A. Shaw 2025-02-05 20:26:09 -0500
  • 14128ab10f Now have enemies chasing us around and implemented diagonal movement as a test but I kind of like it. Zed A. Shaw 2025-02-05 14:16:31 -0500
  • d5301acab5 Sprite is no more, now using the position from the level's world. Zed A. Shaw 2025-02-05 11:46:40 -0500
  • 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. Zed A. Shaw 2025-02-04 22:52:04 -0500
  • 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. Zed A. Shaw 2025-02-04 14:13:00 -0500
  • 75ffb49a53 Clean up header includes. Zed A. Shaw 2025-02-04 13:26:22 -0500
  • 1d3a76e5ee Refactored out main.cpp to be a separate gui and using an FSM to keep the turn based nature straight. Zed A. Shaw 2025-02-04 12:56:20 -0500
  • 7228bdf210 Trying out an FSM for controlling the main loop. Zed A. Shaw 2025-02-04 00:52:54 -0500
  • 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? Zed A. Shaw 2025-02-03 14:17:20 -0500
  • 48ac6603a8 Implement a little junk camera on its own that we can use later for movement and views. Zed A. Shaw 2025-02-03 11:08:17 -0500
  • 976822ceb6 Mostly working junk camera that can do turnbased lerp smooth motion. Zed A. Shaw 2025-02-03 10:17:59 -0500
  • 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. Zed A. Shaw 2025-02-01 14:39:08 -0500
  • a67d25ee10 Tiles now record their textures and this is loaded from the map then converted to an indexed integer on the fly. Zed A. Shaw 2025-01-31 13:37:01 -0500
  • 9e3e347e4a Fix a typo. Zed A. Shaw 2025-01-30 13:28:32 -0500
  • 56d67aba28 First hack to get a random gen map going. Zed A. Shaw 2025-01-30 13:23:12 -0500
  • 2daa1c9bd5 Brought over a bunch of code from the roguelike and now will use it to generate a random map. Zed A. Shaw 2025-01-30 11:38:57 -0500
  • 8d3d3b4ec3 A quick warning in case people are funding the thing. Zed A. Shaw 2025-01-28 02:45:02 -0500
  • 071808a0f8 Playing around with shaders for effects on the scene. Zed A. Shaw 2025-01-27 11:36:00 -0500
  • 3519c73079 Remove some more junk from the texture thing. Zed A. Shaw 2025-01-27 10:25:49 -0500
  • d0d3c8bc04 Make the animator more official. Zed A. Shaw 2025-01-27 10:13:32 -0500
  • b87217ff90 Have a barely working animation thing that animates the evil eye when you click a button. Zed A. Shaw 2025-01-27 05:40:04 -0500
  • 51c1e04f61 Made some progress on the refactoring but I need to start getting serious and not reworking this code to death. Zed A. Shaw 2025-01-26 19:22:27 -0500
  • 6ed57cd4a8 Closer to what I want for sprite loading but still needs more work. Zed A. Shaw 2025-01-25 12:19:14 -0500
  • 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. Zed A. Shaw 2025-01-25 12:02:57 -0500
  • 0882851b3f Switching back to 256px textures for most things, but the weapon works best as a 512px. Zed A. Shaw 2025-01-25 08:29:01 -0500
  • 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. Zed A. Shaw 2025-01-25 07:46:57 -0500
  • d397c02d38 You can now stab stuff with a sword. Zed A. Shaw 2025-01-23 12:54:46 -0500
  • ad38f575a3 Now the sprites are rendered in the 3d scene with just SFML sprites. Zed A. Shaw 2025-01-23 11:24:06 -0500
  • 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. Zed A. Shaw 2025-01-23 02:42:43 -0500
  • 024d5b30e1 Some quick hacks that do the seamless texture splits. Zed A. Shaw 2025-01-22 11:14:57 -0500
  • 15a2a69ac1 Made a seamless wood wall and tried it but back to brick. Zed A. Shaw 2025-01-22 11:13:39 -0500
  • 5305aea077 Fixed up the floor and ceiling textures to not have seams. Zed A. Shaw 2025-01-22 06:17:28 -0500
  • fdc5931b96 Added a ceiling worm enemy for fun but not really that good. Zed A. Shaw 2025-01-20 11:27:00 -0500
  • 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. Zed A. Shaw 2025-01-20 06:13:32 -0500
  • c98aa936ad The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. Zed A. Shaw 2025-01-19 12:58:05 -0500
  • 308fe4bed2 Brought in Amit's latest and tweaked a few more build options for enabling some safety checks in GCC. Zed A. Shaw 2025-01-19 11:05:42 -0500
  • eef13bd325 Tried a few more things but nothing much worked. The weirdest was the lto options that failed to do even basic linking. Zed A. Shaw 2025-01-19 04:49:37 -0500
  • 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. Zed A. Shaw 2025-01-19 04:02:42 -0500
  • 4c3049df14 Add the tracy wrap and meson options. Zed A. Shaw 2025-01-18 13:33:45 -0500
  • e5b4fed4ee Bring in a first start to a Tracy enabled build but I have to learn more about how to run it. Zed A. Shaw 2025-01-18 13:19:35 -0500
  • 6592e22075 Bring Amit's latest fix in and protect against the sprites rendering the texY value wrong sometimes. Zed A. Shaw 2025-01-18 13:19:14 -0500
  • 379ec5846f Brought in a fix suggested by Amit but still didn't improve perf. I'll use that to see how Tracy works. Zed A. Shaw 2025-01-18 11:14:00 -0500
  • 831e15ca18 Brought in Amit's latest code and converted it to use either dumb lighting or his new torch lighting, then threw in the FPS counter from last night. Zed A. Shaw 2025-01-18 11:10:43 -0500
  • 53a151511e Make it so that DNEBUG is forced on release build, and that the UI stats counter will show that this is a debug build or not via NDEBUG. Zed A. Shaw 2025-01-18 03:18:44 -0500