Commit graph

281 commits

Author SHA1 Message Date
Zed A. Shaw
eb0ca38e30 Removed the variable limit setting since it's never used and instead just have WALL_PATH_LIMIT. 2024-12-05 08:41:10 -05:00
Zed A. Shaw
9abb39a3bf Did a full code review to identify things to fix and either fixed them or noted BUG where I should come back. 2024-12-04 21:43:59 -05:00
Zed A. Shaw
ae43dad499 Minor fixes to make initializing the terminal more consistent and to remove a magic number for wall limits. 2024-12-04 08:19:04 -05:00
Zed A. Shaw
2d5490131d Merge branch 'main' of git.learnjsthehardway.com:learn-code-the-hard-way/roguish 2024-12-03 19:32:26 -05:00
Zed A. Shaw
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. 2024-12-03 19:17:20 -05:00
Zed A. Shaw
381b82ee4e Small fix to build on non-windows platforms. 2024-12-03 06:08:25 -05:00
Zed A. Shaw
c7607533ce A bit of a quick test for the GUI system, but not sure how to make this do more. 2024-12-02 17:02:59 -05:00
Zed A. Shaw
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. 2024-12-02 10:57:02 -05:00
Zed A. Shaw
2576b16869 Test coverage back and save system should work again but have to confirm it in-game. 2024-12-02 09:58:54 -05:00
Zed A. Shaw
6b4ebf7629 More complete readme but need a screenshot. 2024-12-02 08:37:52 -05:00
Zed A. Shaw
bdfd61c8e7 GUI had old code when I was toying with doing lighting with a png. 2024-12-02 08:15:27 -05:00
Zed A. Shaw
c11384df59 Forgot the little matrix wrapper. 2024-12-02 08:11:47 -05:00
Zed A. Shaw
aadf15e439 Created an initial README. 2024-12-02 07:17:46 -05:00
Zed A. Shaw
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. 2024-12-02 06:32:00 -05:00
Zed A. Shaw
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. 2024-12-01 17:54:43 -05:00
Zed A. Shaw
e05335b153 Initial stab at pulling the pathing out. 2024-12-01 09:49:48 -05:00
Zed A. Shaw
d515c33afc Make the lighting and the enemy pathing separate things, but now I think this needs to come out of map entirely. 2024-12-01 08:33:15 -05:00
Zed A. Shaw
10c152a1c2 A bit of cleanup and refinement before refactoring. 2024-12-01 08:08:06 -05:00
Zed A. Shaw
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. 2024-11-30 10:43:25 -05:00
Zed A. Shaw
d0d62836e3 Now have good coverage on map but need to actually confirm results in the test. 2024-11-29 11:24:23 -05:00
Zed A. Shaw
97255eb813 First coverage reports. Tests don't get near enough coverage but running the program does. 2024-11-29 09:41:02 -05:00
Zed A. Shaw
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. 2024-11-28 04:27:14 -05:00
Zed A. Shaw
1fab1d2d6d Map now brings back wall light. 2024-11-28 03:13:48 -05:00
Zed A. Shaw
435ad8f237 Enemy pathing is back. 2024-11-28 02:45:29 -05:00
Zed A. Shaw
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. 2024-11-28 02:41:01 -05:00
Zed A. Shaw
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. 2024-11-27 04:02:57 -05:00
Zed A. Shaw
6174df5ec7 Lighting now works, now to get multiple lights. 2024-11-26 05:03:49 -05:00
Zed A. Shaw
4ceacecfda Lighting system now works and does illumination for the whole map plus entities, but not walls or multiple lights yet. 2024-11-26 02:22:15 -05:00
Zed A. Shaw
62f986719d Quick hack to test finding a better light. If you find the gold you get a better light. 2024-11-25 02:38:24 -05:00
Zed A. Shaw
a9217e8423 Now have a basic prototype lighting system. 2024-11-25 02:32:16 -05:00
Zed A. Shaw
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. 2024-11-23 23:11:20 -05:00
Zed A. Shaw
fb1fd9d8bc A bit of some clean up, API unifying, and some performance tweaks. 2024-11-22 23:12:18 -05:00
Zed A. Shaw
a4926bedcb Get a better cell size for the rendering of the image. 2024-11-21 16:43:39 -05:00
Zed A. Shaw
6f0f3f01d9 A bit of playing with sizes and motion on the image. 2024-11-21 16:33:29 -05:00
Zed A. Shaw
15a302d133 Renderer is now more standalone and doesn't try to protect against small maps, that's the GUI's job. 2024-11-21 15:51:22 -05:00
Zed A. Shaw
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. 2024-11-21 02:49:58 -05:00
Zed A. Shaw
3bb3b654e7 Fixes to build on non-windows and give the answer parser a real name. 2024-11-19 13:23:38 -05:00
Zed A. Shaw
111429b974 A slight improvement to avoid rendering boxes behind text that is default bg color. 2024-11-18 22:12:40 -05:00
Zed A. Shaw
be144e2a05 Start of image to ansi converter. 2024-11-18 14:45:06 -05:00
Zed A. Shaw
b7002917c1 Color is now in one nice location. 2024-11-18 14:28:39 -05:00
Zed A. Shaw
c8fa68815b A bit more cleanup of render but kind of stuck on what to do further. 2024-11-18 13:29:22 -05:00
Zed A. Shaw
7cb03594a3 Renderer now knows how to render panels as grid/text based on how the panel is configured. 2024-11-18 12:51:57 -05:00
Zed A. Shaw
f79e7638c0 Panel now holds data on how it should be rendered and render just uses that instead of calculating it. 2024-11-18 12:07:44 -05:00
Zed A. Shaw
1a3bbaedda Use the MID value for borders. 2024-11-18 11:34:49 -05:00
Zed A. Shaw
958c8545a7 It's actually better to just use FTXUI's Modal system than to invent my own. 2024-11-17 22:28:29 -05:00
Zed A. Shaw
88d362d6a5 A little clean up while I think about how to do this.... 2024-11-17 18:36:38 -05:00
Zed A. Shaw
d36c42038d Simple mouse clicks working but probably wrong coordinates. 2024-11-17 16:00:57 -05:00
Zed A. Shaw
64855f3c90 The gui can now pop open a modal based on clicking a button but I need to manage focus next. 2024-11-17 13:23:18 -05:00
Zed A. Shaw
34c84343db Mostly working now, just had to manually calculate the grid. Needs a cleanup but I'm moving on for now. 2024-11-17 12:37:07 -05:00
Zed A. Shaw
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. 2024-11-16 12:10:14 -05:00