Commit graph

71 commits

Author SHA1 Message Date
Zed A. Shaw
e63a8dd920 Using an event for the device interaction is better. If I get to where there's tons of devices then I'll rethink it but right now this is less convoluted. 2025-01-16 15:15:02 -05:00
Zed A. Shaw
8defc0bedf Initial idea for the interactive devices thing but I kind of hate it. Going to try another idea that will be simpler. 2025-01-16 14:33:07 -05:00
Zed A. Shaw
e30c18fbdf Fixed up the idea for having dynamic callbacks on devices. Might become the new way to do stuff but not sure. 2025-01-15 23:43:25 -05:00
Zed A. Shaw
d2162910f6 Implemented configurable randomization in the world builder, and then got the beginning of devices to work for the next part of going down a level through stairs. 2025-01-14 16:21:41 -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
ee304c30e3 Made a curative component really quick. 2025-01-09 14:38:07 -05:00
Zed A. Shaw
d6916b675e Enemies can be tagged as moving randomly, but it's very subtle. 2025-01-09 14:25:34 -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
9ce4fbd552 Reworked the way that entities are loaded so they're more dynamic and can be configured without modifying C++code. 2025-01-08 16:09:22 -05:00
Zed A. Shaw
6cabd62c7f There's a simple death screen now and you can exit. More work on what death means later. 2025-01-07 14:07:10 -05:00
Zed A. Shaw
31e5eb7fce Picking up gold doesn't add it to your inventory. 2025-01-06 12:52:46 -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
aaa6d9f9f3 Can display items picked up but man is this some garbage code. I need to rethink how inventory is stored so that it'll work with the Menu. 2025-01-03 21:09:42 -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
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
194cc6664b Lighting is working way better and now for world generation work. 2024-12-28 12:04:21 -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
8a94108874 Entities now look like they stand on the tiles. 2024-12-25 01:29:03 -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
89e31279be Now have color and display char coming from assets/tiles.json but lighting still needs work. 2024-12-24 02:56:17 -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
290affa49a Upgraded to the latest winlibs/gcc 14. 2024-12-20 16:53:03 -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
1295e9631d A slightly working flood iterator and a working compass iterator. 2024-12-17 17:32:27 -05:00
Zed A. Shaw
043c0d91df Now using the box iterator everywhere I can before writing a flood iterator. 2024-12-16 01:17:11 -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
0edd948101 A barely working tool to find font characters and pick their color. 2024-12-07 13:42:30 -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
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
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
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
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
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
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
67cacd5dcd Can actually save the game now. 2024-11-06 22:24:23 -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