Commit Graph

  • b66a3154c7 Basic tile map implemented. main Zed A. Shaw 2024-12-20 19:39:11 -0500
  • 290affa49a Upgraded to the latest winlibs/gcc 14. Zed A. Shaw 2024-12-20 16:53:03 -0500
  • 5a6494acf5 Fixing a stupid bug where it would crash because a fact wasn't in the world. Zed A. Shaw 2024-12-19 20:46:47 -0500
  • 93f53d1714 Tests are failing but catch2 is too stupid to actually tell me where so here you go. Now if you hit L it'll turn the lights up to max and if you hit P it will show the pathing. Zed A. Shaw 2024-12-19 20:04:10 -0500
  • d916d1c383 A very jank circle algorithm that overdraws many of the lines but mostly works. Zed A. Shaw 2024-12-19 19:02:27 -0500
  • d4b6c35120 Working line iterator, and mostly working flood iterator that should be good enough for world gen. Zed A. Shaw 2024-12-18 19:22:22 -0500
  • 1295e9631d A slightly working flood iterator and a working compass iterator. Zed A. Shaw 2024-12-17 17:32:27 -0500
  • 043c0d91df Now using the box iterator everywhere I can before writing a flood iterator. Zed A. Shaw 2024-12-16 01:17:11 -0500
  • 547be19e68 Lighting now uses the new box iterator, although it'll be replaced soon by the flood or random iterator. Zed A. Shaw 2024-12-15 19:54:16 -0500
  • 70cd963e5c Iterators are now working far more reliably and have more extensive tests that randomize inputs and fuzz them to check they keep working. Zed A. Shaw 2024-12-15 19:38:16 -0500
  • 8e470df554 A bit of late night work designing the little iterators. Zed A. Shaw 2024-12-14 11:00:52 -0500
  • da0b941dfd A first exploration of doing a matrix iterator. Zed A. Shaw 2024-12-13 16:23:55 -0500
  • ee1e2e5bc5 Started working on a random flood function for paths to do things like fill rooms with stuff. Zed A. Shaw 2024-12-12 11:38:38 -0500
  • e863bfa2fe Can now copy character codes. Zed A. Shaw 2024-12-12 10:27:27 -0500
  • ffc787df64 Designer is working great now, and this fixes a bunch of things about the mouse. Zed A. Shaw 2024-12-12 10:14:43 -0500
  • f05f652c26 Fixed the overflows and make the render handle SFML's weird window coordinates not matching world coordinates. Zed A. Shaw 2024-12-11 16:57:18 -0500
  • cb2e766305 Merge in changes from OSX. Zed A. Shaw 2024-12-11 12:00:15 -0500
  • a9e25668fb Rought font extractor that probably has a memory error causing it to behave mysteriously, and the designer now uses a json file of the characters that will work. Zed A. Shaw 2024-12-11 11:56:37 -0500
  • 9ab064126f Before freetype2 use to iterate through the font's glyphs diretly. Zed A. Shaw 2024-12-09 08:25:16 -0500
  • 3de70f71f3 Fix for OSX build. Zed A. Shaw 2024-12-08 13:18:09 -0500
  • c483649e20 Can actually use it to find glyphs now. Zed A. Shaw 2024-12-08 10:43:47 -0500
  • 0edd948101 A barely working tool to find font characters and pick their color. Zed A. Shaw 2024-12-07 13:42:30 -0500
  • 6b3ce5eb3d Fixed a bunch of random little bugs everywhere. Zed A. Shaw 2024-12-05 10:38:25 -0500
  • f946d46936 Fix up the gitignor and bring in the ragel manual for safe keeping. Zed A. Shaw 2024-12-05 09:36:20 -0500
  • 2f8c9bd1a9 Change the color namespace to ColorValue. Need to come up with the organizational theme for the code. Zed A. Shaw 2024-12-05 09:24:56 -0500
  • 56b26e1c4a Matrix now just does the dumping but I need to make this more formal I think. Zed A. Shaw 2024-12-05 09:17:30 -0500
  • eb0ca38e30 Removed the variable limit setting since it's never used and instead just have WALL_PATH_LIMIT. Zed A. Shaw 2024-12-05 08:41:10 -0500
  • 9abb39a3bf Did a full code review to identify things to fix and either fixed them or noted BUG where I should come back. Zed A. Shaw 2024-12-04 21:43:59 -0500
  • ae43dad499 Minor fixes to make initializing the terminal more consistent and to remove a magic number for wall limits. Zed A. Shaw 2024-12-04 08:19:04 -0500
  • 2d5490131d Merge branch 'main' of git.learnjsthehardway.com:learn-code-the-hard-way/roguish Zed A. Shaw 2024-12-03 19:32:26 -0500
  • 0b4392dbcc Vast improvement in the world generation, with more reliable pathing, cleaner generation code, and an ability to do a random or direct walk to create paths. This also works with enemies if I want. Zed A. Shaw 2024-12-03 19:17:20 -0500
  • 381b82ee4e Small fix to build on non-windows platforms. Zed A. Shaw 2024-12-03 06:08:25 -0500
  • c7607533ce A bit of a quick test for the GUI system, but not sure how to make this do more. Zed A. Shaw 2024-12-02 17:02:59 -0500
  • 48df9248b2 Testing is almost complete, but now I'm in the area where it's a lot of interaction and probably need mocks or a way to inject keys to the gui. Zed A. Shaw 2024-12-02 10:57:02 -0500
  • 2576b16869 Test coverage back and save system should work again but have to confirm it in-game. Zed A. Shaw 2024-12-02 09:58:54 -0500
  • 6b4ebf7629 More complete readme but need a screenshot. Zed A. Shaw 2024-12-02 08:37:52 -0500
  • bdfd61c8e7 GUI had old code when I was toying with doing lighting with a png. Zed A. Shaw 2024-12-02 08:15:27 -0500
  • c11384df59 Forgot the little matrix wrapper. Zed A. Shaw 2024-12-02 08:11:47 -0500
  • aadf15e439 Created an initial README. Zed A. Shaw 2024-12-02 07:17:46 -0500
  • 68d8bdce12 Map is now cleaned out of anything not directly related to the map, and there's a new WorldBuilder class that will turn into a more sophisticated random world generator. Zed A. Shaw 2024-12-02 06:32:00 -0500
  • 3f7a9cc124 Lighting is now in its own class using the new Pathing class. This should allow me to make it more consistent and possibly make Pathing more efficient. Zed A. Shaw 2024-12-01 17:54:43 -0500
  • e05335b153 Initial stab at pulling the pathing out. Zed A. Shaw 2024-12-01 09:49:48 -0500
  • d515c33afc Make the lighting and the enemy pathing separate things, but now I think this needs to come out of map entirely. Zed A. Shaw 2024-12-01 08:33:15 -0500
  • 10c152a1c2 A bit of cleanup and refinement before refactoring. Zed A. Shaw 2024-12-01 08:08:06 -0500
  • e86d474c7c Now have more test for the base functionality but need to push render tests and find a way to test the GUI. I've also brought in sol2 for lua integration but not sure what to do with it. Zed A. Shaw 2024-11-30 10:43:25 -0500
  • d0d62836e3 Now have good coverage on map but need to actually confirm results in the test. Zed A. Shaw 2024-11-29 11:24:23 -0500
  • 97255eb813 First coverage reports. Tests don't get near enough coverage but running the program does. Zed A. Shaw 2024-11-29 09:41:02 -0500
  • 988edf13d7 Map is now working well and all light is good but it's causing saturation fatigue because of the low levels and low saturation. I'll have to work on contrast and probably jut up the wall contrast. Zed A. Shaw 2024-11-28 04:27:14 -0500
  • 1fab1d2d6d Map now brings back wall light. Zed A. Shaw 2024-11-28 03:13:48 -0500
  • 435ad8f237 Enemy pathing is back. Zed A. Shaw 2024-11-28 02:45:29 -0500
  • 54fa1a23ce Refactor the light calculations to be part of map instead of spread out all over. Still need to bring back lighting on walls and also pathing for enemies is currently busted. Zed A. Shaw 2024-11-28 02:41:01 -0500
  • 0e8a2e520a Light works with multiple sources and strengths, walls are faked out but I think I may keep that to make it easier to play. Zed A. Shaw 2024-11-27 04:02:57 -0500
  • 6174df5ec7 Lighting now works, now to get multiple lights. Zed A. Shaw 2024-11-26 05:03:49 -0500
  • 4ceacecfda Lighting system now works and does illumination for the whole map plus entities, but not walls or multiple lights yet. Zed A. Shaw 2024-11-26 02:22:15 -0500
  • 62f986719d Quick hack to test finding a better light. If you find the gold you get a better light. Zed A. Shaw 2024-11-25 02:38:24 -0500
  • a9217e8423 Now have a basic prototype lighting system. Zed A. Shaw 2024-11-25 02:32:16 -0500
  • 1bb04b4562 Tried to set the background color in the ftxui canvas and weirdly it started doing almost what I want with lighting, but I didn't write any code to do that. There's some bug in how I'm doing it that's causing it to set the colors...correctly. Must find out why. Zed A. Shaw 2024-11-23 23:11:20 -0500
  • fb1fd9d8bc A bit of some clean up, API unifying, and some performance tweaks. Zed A. Shaw 2024-11-22 23:12:18 -0500
  • a4926bedcb Get a better cell size for the rendering of the image. Zed A. Shaw 2024-11-21 16:43:39 -0500
  • 6f0f3f01d9 A bit of playing with sizes and motion on the image. Zed A. Shaw 2024-11-21 16:33:29 -0500
  • 15a302d133 Renderer is now more standalone and doesn't try to protect against small maps, that's the GUI's job. Zed A. Shaw 2024-11-21 15:51:22 -0500
  • 19b8bf1850 Totally a pile of garbage with a bunch of debug prints because I'm going to have to rewrite the renderer resizing to allow for any size image, not just the map. But this does display an image using averaged squares. Zed A. Shaw 2024-11-21 02:49:58 -0500
  • 3bb3b654e7 Fixes to build on non-windows and give the answer parser a real name. Zed A. Shaw 2024-11-19 13:23:38 -0500
  • 111429b974 A slight improvement to avoid rendering boxes behind text that is default bg color. Zed A. Shaw 2024-11-18 22:12:40 -0500
  • be144e2a05 Start of image to ansi converter. Zed A. Shaw 2024-11-18 14:45:06 -0500
  • b7002917c1 Color is now in one nice location. Zed A. Shaw 2024-11-18 14:28:39 -0500
  • c8fa68815b A bit more cleanup of render but kind of stuck on what to do further. Zed A. Shaw 2024-11-18 13:29:22 -0500
  • 7cb03594a3 Renderer now knows how to render panels as grid/text based on how the panel is configured. Zed A. Shaw 2024-11-18 12:51:57 -0500
  • f79e7638c0 Panel now holds data on how it should be rendered and render just uses that instead of calculating it. Zed A. Shaw 2024-11-18 12:07:44 -0500
  • 1a3bbaedda Use the MID value for borders. Zed A. Shaw 2024-11-18 11:34:49 -0500
  • 958c8545a7 It's actually better to just use FTXUI's Modal system than to invent my own. Zed A. Shaw 2024-11-17 22:28:29 -0500
  • 88d362d6a5 A little clean up while I think about how to do this.... Zed A. Shaw 2024-11-17 18:36:38 -0500
  • d36c42038d Simple mouse clicks working but probably wrong coordinates. Zed A. Shaw 2024-11-17 16:00:57 -0500
  • 64855f3c90 The gui can now pop open a modal based on clicking a button but I need to manage focus next. Zed A. Shaw 2024-11-17 13:23:18 -0500
  • 34c84343db Mostly working now, just had to manually calculate the grid. Needs a cleanup but I'm moving on for now. Zed A. Shaw 2024-11-17 12:37:07 -0500
  • 89a70f398a Rewrote the ansi parser to exactly callback on color setting, so now just need to clean this all up and fix a few little bugs. Zed A. Shaw 2024-11-16 12:10:14 -0500
  • 96ee16e598 Figured out that I don't need a special screen, just send events to the component directly with OnEvent. However, you have to component->Add() or call Render(component, []) with it or else it's not considered a child. Zed A. Shaw 2024-11-14 12:37:31 -0500
  • e3cff8142c Barely working stripped down version of ScreenInteractive. Now to bring on the SFML events. Zed A. Shaw 2024-11-13 12:48:42 -0500
  • 7d3605f58b A bit of cleanup and testing of the panel, then some optimization to avoid re-rendering and multiple wchar converts. Zed A. Shaw 2024-11-12 08:06:09 -0500
  • 6e848004c4 Panel is working and now I can work on the gui interactions parts. Zed A. Shaw 2024-11-11 13:03:31 -0500
  • 9bc9c9007f Now have a nice panel to hold all the UI panels we'll use later. Zed A. Shaw 2024-11-11 12:23:40 -0500
  • baaf56d4de Can do better rendering of individual components and 'panels' but it's not too clean right now. Zed A. Shaw 2024-11-11 10:12:36 -0500
  • 7b5c84b5f7 Cleaned up the gui display some more for future GUI elements. Zed A. Shaw 2024-11-10 12:53:29 -0500
  • 2ced72a475 Slight improvement in the renderer efficiency. Zed A. Shaw 2024-11-09 12:19:09 -0500
  • 824a384ffd Font sizes and map view now work with arbitrary map sizes. Zed A. Shaw 2024-11-09 10:56:22 -0500
  • 2dccc6b17b Initial fix of the crash with different map sizes but that's not the ultimate fix. Zed A. Shaw 2024-11-09 10:14:53 -0500
  • 809ec9ed0d Merge branch 'main' of git.learnjsthehardway.com:learn-code-the-hard-way/roguish Zed A. Shaw 2024-11-09 03:58:03 -0500
  • 5af6d75b4c FINALLLYYYY!!! Can't believe it took so long to solve this but now I can gdb and catch aborts. Zed A. Shaw 2024-11-09 03:57:38 -0500
  • badc0ca438 The json output is a problem but I don't even use it. Zed A. Shaw 2024-11-08 21:45:40 -0500
  • 43fb60ebaa Removed the ambient sound until I can redesign it. Zed A. Shaw 2024-11-08 13:24:31 -0500
  • 113811bc84 Got some new sounds and camera shake came back but has a bug. Zed A. Shaw 2024-11-08 13:18:43 -0500
  • ed9d0de8e0 Event system now accepts any data and the GUI receives simpler events with data for them. Zed A. Shaw 2024-11-07 09:16:21 -0500
  • 0e79288afc More notes on the next things to do. Zed A. Shaw 2024-11-07 02:06:22 -0500
  • 011fee4872 A little bit nicer but ultimately the way the system talks to the GUI needs a redesign to be more 'coarse grain' Zed A. Shaw 2024-11-07 01:00:17 -0500
  • 0a268591c2 Started working on the loot system which will eventually become the inventory/improved collision system. Zed A. Shaw 2024-11-07 00:29:06 -0500
  • c1d43694b0 Couldn't debug the map size crash so just did this small change until I can. Zed A. Shaw 2024-11-06 23:38:01 -0500
  • 67cacd5dcd Can actually save the game now. Zed A. Shaw 2024-11-06 22:24:23 -0500
  • b2ed598c1f Kind of working save now, but does have problems with dead things. Zed A. Shaw 2024-11-06 15:06:10 -0500
  • 99d56b246c Looks like this is _possibly_ working but the last step of actually loading a save needs to be figured out. Zed A. Shaw 2024-11-06 07:18:59 -0500
  • 6add24fed2 Big revelation is that anytime you're doing file I/O you _must_ use std::filesystem. It simplifies so much about working with files. Zed A. Shaw 2024-11-06 02:40:29 -0500