Commit graph

100 commits

Author SHA1 Message Date
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
Zed A. Shaw
ea6cf1362b Create a test for the ECS before we add more functionality. 2024-10-29 16:04:40 -04:00
Zed A. Shaw
143fe7784c Clean up the DinkyECSso that it's easier to understand and more obvious what a fact vs. component is. 2024-10-29 07:33:00 -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
62562faad3 Give the player first move advantage, but maybe this should be a setting on motion so that some enemies can beat the player. 2024-10-26 19:47:40 -04:00
Zed A. Shaw
5a123ae74c Refactor some code to have better naming and move Point and related point things into their own .hpp. 2024-10-26 18:26:42 -04:00
Zed A. Shaw
c19cd707d1 Better unit test for the collision system. 2024-10-26 18:13:06 -04:00
Zed A. Shaw
ec1ed23c52 Now using a simple collision map to track entities and then determine if they're near the player for attacking. 2024-10-26 04:33:23 -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
Zed A. Shaw
98993481b0 Playing around with it some more to see how a move would work. 2024-10-22 02:09:28 -04:00
Zed A. Shaw
98baa13264 Tried out Google's AI response to the question of a C++ spatial hash and it kind of came close. This took some massaging but it could work. 2024-10-22 01:52:15 -04:00
Zed A. Shaw
6f2fba4f7f Make a few comments to keep this straight. 2024-10-21 23:26:54 -04:00
Zed A. Shaw
e57a13846f A bit more caching and optimization then determine how to center glyphs in the center of the background if it fits. 2024-10-21 22:43:34 -04:00
Zed A. Shaw
9083582420 Make it possible to zoom in/out, but I may make this a combat thing where it's zoomed out until you encounter an enemy. 2024-10-21 20:31:59 -04:00
Zed A. Shaw
02a45d890f Make it so the canvas for the map view is calculated based on the font size, which will allow for zooming. 2024-10-21 00:12:04 -04:00
Zed A. Shaw
9f1e9717a0 Super jank prototype of my idea but I am rendering multiple characters per cell to give the effect of a more complex character. Now to make this a data setup so it's easy to make characters. Also, probably have little add ons to show things like weapons equiped, etc. 2024-10-18 21:59:06 -04:00
Zed A. Shaw
31c86fa2b3 Cleanup before trying to make the tile rendering faster by pre-loading the sprites needed, or caching as they're requested. 2024-10-18 20:53:19 -04:00
Zed A. Shaw
08d71f9bdc Super duper slow but this renders the text glyphs directly as sprites so I can do special colorization. Probalby then need to process the ftxui color ansi codes. 2024-10-18 16:00:13 -04:00
Zed A. Shaw
fe5f7673ea Remove some unused variables. 2024-10-18 00:28:23 -04:00
Zed A. Shaw
8b61a4fad8 Forgot to set targets for pathing. 2024-10-17 23:50:07 -04:00
Zed A. Shaw
3dae65fe82 Merge in the refactor from earlier. 2024-10-17 21:49:57 -04:00
Zed A. Shaw
da64e526c4 Systems now control most of the game's operations and a lot of the rendering logic, this now brings in a camera so maps can be larger than the viewport. 2024-10-17 21:43:19 -04:00
Zed A. Shaw
1bb8999610 A bit more cleanup, but still looking for more organization. 2024-10-16 23:15:56 -04:00