Commit graph

77 commits

Author SHA1 Message Date
Zed A. Shaw
03c5546cdf World builder now loads the tile map json and usese the keys to figure out how to randomize the floor configurations. 2024-12-28 13:25:23 -05:00
Zed A. Shaw
6b4bc6cc11 fixed the map generator doing paths that hit the edge which made it look like the map was out of bounds. 2024-12-28 12:37:19 -05:00
Zed A. Shaw
194cc6664b Lighting is working way better and now for world generation work. 2024-12-28 12:04:21 -05:00
Zed A. Shaw
9c03e850b5 Now have more fancy rooms with different floors to play with. 2024-12-27 12:52:23 -05:00
Zed A. Shaw
f46b5f15ef Lighting now uses pathing to determine where it can go, but _distance_ to determin strength. Looks way better. 2024-12-26 04:39:07 -05:00
Zed A. Shaw
9ac8da30ea Circle adjusted to work better but now I think hirdrac was right that it's easier to just calculate a distance from center and use that to determine light levels rather than a whole dpath. 2024-12-25 06:03:11 -05:00
Zed A. Shaw
857cd2f910 Circle iterator now compensates for the matrix size and won't overflow. 2024-12-25 01:15:33 -05:00
Zed A. Shaw
35f2defc11 Better lighting and a circle algorithm that works more reliably. 2024-12-25 00:27:45 -05:00
Zed A. Shaw
7fe6ad174d Now have a configurable displayable tilemap to do better tiles. 2024-12-24 01:36:25 -05:00
Zed A. Shaw
b66a3154c7 Basic tile map implemented. 2024-12-20 19:39:11 -05:00
Zed A. Shaw
290affa49a Upgraded to the latest winlibs/gcc 14. 2024-12-20 16:53:03 -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
d916d1c383 A very jank circle algorithm that overdraws many of the lines but mostly works. 2024-12-19 19:02:27 -05:00
Zed A. Shaw
d4b6c35120 Working line iterator, and mostly working flood iterator that should be good enough for world gen. 2024-12-18 19:22:22 -05:00
Zed A. Shaw
1295e9631d A slightly working flood iterator and a working compass iterator. 2024-12-17 17:32:27 -05:00
Zed A. Shaw
70cd963e5c Iterators are now working far more reliably and have more extensive tests that randomize inputs and fuzz them to check they keep working. 2024-12-15 19:38:16 -05:00
Zed A. Shaw
8e470df554 A bit of late night work designing the little iterators. 2024-12-14 11:00:52 -05:00
Zed A. Shaw
da0b941dfd A first exploration of doing a matrix iterator. 2024-12-13 16:23:55 -05:00
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
6b3ce5eb3d Fixed a bunch of random little bugs everywhere. 2024-12-05 10:38:25 -05:00
Zed A. Shaw
56b26e1c4a Matrix now just does the dumping but I need to make this more formal I think. 2024-12-05 09:17:30 -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
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
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
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
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
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
badc0ca438 The json output is a problem but I don't even use it. 2024-11-08 21:45:40 -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
0a268591c2 Started working on the loot system which will eventually become the inventory/improved collision system. 2024-11-07 00:29:06 -05:00
Zed A. Shaw
b2ed598c1f Kind of working save now, but does have problems with dead things. 2024-11-06 15:06:10 -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
71bc97a016 Save system should work better now, just needed to switch to basic map. This would probably a lot better if tser.hpp supported std::any. 2024-11-05 06:11:50 -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
babc190525 Tser can now output wstring and already saves wstring, so now need to use it. 2024-11-04 23:58:56 -05:00
Zed A. Shaw
b113b90257 Cleaned up the tests for tser more and then removed cereal. 2024-11-04 22:30:48 -05:00
Zed A. Shaw
bf57713416 Stripped tser.hpp down to the essentials so I can study it. No base64 encoding, less than comparison (wtf is that for), and I may even remove the 'json' output. 2024-11-04 09:10:27 -05:00
Zed A. Shaw
713d400d17 Cereal works pretty well so I may use it, but there's one more library I want to try first called tser. 2024-11-04 05:07:49 -05:00