Commit graph

80 commits

Author SHA1 Message Date
Zed A. Shaw
5adeb4e078 I think the actual map drawing is more of a view thing than in the system, so I've moved it to the MapViewUI out of system. 2024-12-31 06:18:25 -05:00
Zed A. Shaw
380e18b91a All of the GUI panels are now their own classes and pulled out of the main GUI so I can devise how they're managed. 2024-12-31 05:53:27 -05:00
Zed A. Shaw
941be008f8 Very jank but now I can set different panels as active and test for mouse events in them to enable mouse. This needs a big cleanup and probably some FSM love. 2024-12-30 20:20:17 -05:00
Zed A. Shaw
f0829bb9ea Starting a bit of refactoring to sort out how to handle the various UIs. 2024-12-30 16:33:56 -05:00
Zed A. Shaw
d8400d0a76 Tinkering with a way to do modal UIs for things like inventory etc. 2024-12-30 09:41:16 -05:00
Zed A. Shaw
db441000f8 Added in an initial test to blur the current screen for any pause actions, before doing a modal or new UI. 2024-12-29 06:53:08 -05:00
Zed A. Shaw
5a6494acf5 Fixing a stupid bug where it would crash because a fact wasn't in the world. 2024-12-19 20:46:47 -05:00
Zed A. Shaw
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. 2024-12-19 20:04:10 -05:00
Zed A. Shaw
ffc787df64 Designer is working great now, and this fixes a bunch of things about the mouse. 2024-12-12 10:14:43 -05:00
Zed A. Shaw
0edd948101 A barely working tool to find font characters and pick their color. 2024-12-07 13:42:30 -05:00
Zed A. Shaw
6b3ce5eb3d Fixed a bunch of random little bugs everywhere. 2024-12-05 10:38:25 -05:00
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
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
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
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
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
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
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
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
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
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
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
Zed A. Shaw
43fb60ebaa Removed the ambient sound until I can redesign it. 2024-11-08 13:24:31 -05:00
Zed A. Shaw
113811bc84 Got some new sounds and camera shake came back but has a bug. 2024-11-08 13:18:43 -05:00
Zed A. Shaw
ed9d0de8e0 Event system now accepts any data and the GUI receives simpler events with data for them. 2024-11-07 09:16:21 -05:00
Zed A. Shaw
0e79288afc More notes on the next things to do. 2024-11-07 02:06:22 -05:00
Zed A. Shaw
011fee4872 A little bit nicer but ultimately the way the system talks to the GUI needs a redesign to be more 'coarse grain' 2024-11-07 01:00:17 -05:00
Zed A. Shaw
99d56b246c Looks like this is _possibly_ working but the last step of actually loading a save needs to be figured out. 2024-11-06 07:18:59 -05:00
Zed A. Shaw
da63f006c2 Config and save system almost there. 2024-11-05 21:33:28 -05:00
Zed A. Shaw
d113dba42f Almost working save sytem but the data I store is totally wrong. I need to also save the entity IDs being used and map them to the components. 2024-11-05 02:38:36 -05:00
Zed A. Shaw
707e9e3d6e Have to force the terminal detected by FTXUI to use full color no matter what it detects in the actual terminal. 2024-11-03 00:16:52 -04:00
Zed A. Shaw
35ef1e786d A bit more cleanup before I redesign the renderer. 2024-10-30 19:06:51 -04:00
Zed A. Shaw
9397af2a11 Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
Zed A. Shaw
009b1e63a7 More refactoring to get the GUI dumber. 2024-10-30 02:13:31 -04:00