Commit graph

171 commits

Author SHA1 Message Date
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
Zed A. Shaw
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. 2024-11-14 12:37:31 -05:00
Zed A. Shaw
e3cff8142c Barely working stripped down version of ScreenInteractive. Now to bring on the SFML events. 2024-11-13 12:48:42 -05:00
Zed A. Shaw
7d3605f58b A bit of cleanup and testing of the panel, then some optimization to avoid re-rendering and multiple wchar converts. 2024-11-12 08:06:09 -05:00
Zed A. Shaw
6e848004c4 Panel is working and now I can work on the gui interactions parts. 2024-11-11 13:03:31 -05:00
Zed A. Shaw
9bc9c9007f Now have a nice panel to hold all the UI panels we'll use later. 2024-11-11 12:23:40 -05:00
Zed A. Shaw
baaf56d4de Can do better rendering of individual components and 'panels' but it's not too clean right now. 2024-11-11 10:12:36 -05:00
Zed A. Shaw
7b5c84b5f7 Cleaned up the gui display some more for future GUI elements. 2024-11-10 12:53:29 -05:00
Zed A. Shaw
2ced72a475 Slight improvement in the renderer efficiency. 2024-11-09 12:19:09 -05:00
Zed A. Shaw
824a384ffd Font sizes and map view now work with arbitrary map sizes. 2024-11-09 10:56:22 -05:00
Zed A. Shaw
2dccc6b17b Initial fix of the crash with different map sizes but that's not the ultimate fix. 2024-11-09 10:14:53 -05:00