Commit graph

126 commits

Author SHA1 Message Date
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
2ced72a475 Slight improvement in the renderer efficiency. 2024-11-09 12:19:09 -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
809ec9ed0d Merge branch 'main' of git.learnjsthehardway.com:learn-code-the-hard-way/roguish 2024-11-09 03:58:03 -05:00
Zed A. Shaw
5af6d75b4c FINALLLYYYY!!! Can't believe it took so long to solve this but now I can gdb and catch aborts. 2024-11-09 03:57:38 -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
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
c1d43694b0 Couldn't debug the map size crash so just did this small change until I can. 2024-11-06 23:38:01 -05:00
Zed A. Shaw
67cacd5dcd Can actually save the game now. 2024-11-06 22:24:23 -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
6add24fed2 Big revelation is that anytime you're doing file I/O you _must_ use std::filesystem. It simplifies so much about working with files. 2024-11-06 02:40:29 -05:00
Zed A. Shaw
da63f006c2 Config and save system almost there. 2024-11-05 21:33:28 -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
Zed A. Shaw
ddf1ba955c Now have a working config manager that can exist in the world properly. 2024-11-03 05:57:35 -05:00
Zed A. Shaw
f6ddf4b03b Make it clear this is testing an ftxui setting. 2024-11-03 01:24:26 -05:00
Zed A. Shaw
f223257aad Have to tweak when to test that true color is set, and also when to do it for the test. 2024-11-03 01:21:00 -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
0ba789697a Basic config system from a json file but it's got serious issues. Can't copy construct it because of the variable blocking copying, and it can't even be put into the dinkyecs in any way. 2024-11-02 21:14:58 -04:00
Zed A. Shaw
24b1e4a500 Further cleaning of the renderer. 2024-11-02 17:41:19 -04:00
Zed A. Shaw
fd8180bc61 Refactored the ansi_parser into a class that can be reused between render calls. 2024-11-02 16:56:46 -04: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
a36b187879 Renderer of ANSI codes to SFML is now working. Does seem to be a little slow but that'll be easy to fix later. 2024-11-02 03:53:33 -04:00
Zed A. Shaw
ae484bf425 ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
Zed A. Shaw
6ca4614fcb A bit better method of setting foreground vs. background. 2024-11-01 04:15:37 -04:00
Zed A. Shaw
2d550978b8 This seems to be the best way to do this, but I kepts a few other experiments in scratchpad. 2024-11-01 04:08:16 -04:00
Zed A. Shaw
058ab23fa2 This also does almost the same thing but using fgoto to switch between ansi and not. 2024-11-01 01:08:26 -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
a44a9a04f9 Learned yesterday that you can do a multi-return assing to auto[] by just returning a struct. 2024-11-01 00:40:04 -04:00
Zed A. Shaw
3394327981 Better working but still picks up stray numbers I didn't specify. 2024-10-31 10:08:46 -04:00
Zed A. Shaw
74310304bd Start of a ragel parser that can do the ansi code parsing for me. 2024-10-31 02:53:38 -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
Zed A. Shaw
2fdbd63f4c Cleaning up and sorting out how to use the new events best. 2024-10-29 23:39:03 -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
da8011cb14 Can just use the enum as the type for the map but it'd be nicer if I could use a class enum without tons of template BS. 2024-10-29 17:49:54 -04:00
Zed A. Shaw
3f87d19911 Simple event system for entities in the world. 2024-10-29 17:27:12 -04:00