Commit graph

91 commits

Author SHA1 Message Date
Zed A. Shaw
73b85e8057 Finally have a name for my little matrix shape iterator library. I present to you, the SHITErators. Are they THE shit? Shit? Or just Shite? 2025-01-12 20:01:54 -05:00
Zed A. Shaw
e9277bf052 Mostly cleaned up world get to handle more rooms and paths, but rando_rect needs to be actually random. 2025-01-12 14:57:54 -05:00
Zed A. Shaw
2b53363635 Fix up a few operator things in amit's code. 2025-01-11 15:07:25 -05:00
Zed A. Shaw
079734941c Amit's 1d->2d matrix that I can base a rewrite of mine on. 2025-01-11 14:47:05 -05:00
Zed A. Shaw
128fc4f540 Turned on all the warnings I could handle and made them into errors then fixed them all. Worldbuilder needs a refactor in random_path. 2025-01-10 15:22:37 -05:00
Zed A. Shaw
f3f875ee80 Initial changes to clean up the code. 2025-01-10 11:12:14 -05:00
Zed A. Shaw
222b39c403 Fixed up building enemies and items using componentsin the JSON. 2025-01-09 14:01:40 -05:00
Zed A. Shaw
f2864a62ee Game now loads random enemies and items into rooms but in rudimentary way. Need to now randomize more of it and make it more robust so only changing the .json is needed to get new effects and enemies. 2025-01-06 15:20:54 -05:00
Zed A. Shaw
f35b74f335 Results of today's code review session. 2025-01-05 15:07:30 -05:00
Zed A. Shaw
14b3ea7676 Inventory system is mostly working and I can pick up everything and use it. 2025-01-04 13:32:26 -05:00
Zed A. Shaw
135d9a128b Basic inventory system working and can pick up items but needs to be reflected in the UI next. 2025-01-03 13:41:57 -05:00
Zed A. Shaw
3d461bce6d Very simple items system to get into the inventory work. 2025-01-01 13:21:01 -05:00
Zed A. Shaw
4cb41a61db Took the plunge and converted my 'shaperators' into templates so they'll work on any 'matrix-like' thing. 2024-12-31 08:13:20 -05:00
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
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