Commit graph

58 commits

Author SHA1 Message Date
Zed A. Shaw
ee1e2e5bc5 Started working on a random flood function for paths to do things like fill rooms with stuff. 2024-12-12 11:38:38 -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
f05f652c26 Fixed the overflows and make the render handle SFML's weird window coordinates not matching world coordinates. 2024-12-11 16:57:18 -05:00
Zed A. Shaw
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. 2024-12-11 11:56:37 -05:00
Zed A. Shaw
9ab064126f Before freetype2 use to iterate through the font's glyphs diretly. 2024-12-09 08:25:16 -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
2f8c9bd1a9 Change the color namespace to ColorValue. Need to come up with the organizational theme for the code. 2024-12-05 09:24:56 -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
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
aadf15e439 Created an initial README. 2024-12-02 07:17:46 -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
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
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
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
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
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
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
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
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
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
67cacd5dcd Can actually save the game now. 2024-11-06 22:24:23 -05:00
Zed A. Shaw
e864e14eab Rendering with color is working now but still has problems with enabling/resetting the default colors. 2024-11-02 06:02:13 -04:00
Zed A. Shaw
f32b39afe2 Barely working ansi color codes parser but I _really_ don't like this one. Too much code to just get it to process correctly which means it'll be brittle as hell later. 2024-11-01 00:40:42 -04:00
Zed A. Shaw
04350cb51e GUI is now decoupled from the ECS using the new DinkyECS event queues. That makes it easier to update and change the GUI without having to constantly alter the systems. 2024-10-29 18:33:11 -04:00
Zed A. Shaw
3f87d19911 Simple event system for entities in the world. 2024-10-29 17:27:12 -04:00
Zed A. Shaw
4ed06b10b1 Need the hit.wav to be mono, but now we have a sound we can move around, just not sure how to place it based on the visuals. 2024-10-28 19:46:55 -04:00
Zed A. Shaw
9102bdc8ad Created a combat system to start with and also added a 'HEARING' mechanic where enemies can hear you from a certain distance before moving to you. 2024-10-27 18:44:54 -04:00
Zed A. Shaw
753bc70b77 Basic ragel test that can parse 1 ASNI sequence and do nothing with it. 2024-10-27 17:34:49 -04:00
Zed A. Shaw
4162287841 Implement a simple combat system and killing off enemies. See status for next steps. 2024-10-26 20:29:55 -04:00
Zed A. Shaw
c19cd707d1 Better unit test for the collision system. 2024-10-26 18:13:06 -04:00
Zed A. Shaw
743f906bc7 Implemented a simple collision hash table. 2024-10-25 22:31:09 -04:00
Zed A. Shaw
dbc2a10933 Very basic collision and combat to work out the idea and a logging system on the left. 2024-10-25 20:49:11 -04:00