Zed A. Shaw
|
24b1e4a500
|
Further cleaning of the renderer.
|
2 months ago |
Zed A. Shaw
|
fd8180bc61
|
Refactored the ansi_parser into a class that can be reused between render calls.
|
2 months ago |
Zed A. Shaw
|
e864e14eab
|
Rendering with color is working now but still has problems with enabling/resetting the default colors.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
ae484bf425
|
ANSI code renderer starts working but I have to make it utf8/wchar_t friendly.
|
2 months ago |
Zed A. Shaw
|
6ca4614fcb
|
A bit better method of setting foreground vs. background.
|
2 months ago |
Zed A. Shaw
|
2d550978b8
|
This seems to be the best way to do this, but I kepts a few other experiments in scratchpad.
|
2 months ago |
Zed A. Shaw
|
058ab23fa2
|
This also does almost the same thing but using fgoto to switch between ansi and not.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
a44a9a04f9
|
Learned yesterday that you can do a multi-return assing to auto[] by just returning a struct.
|
2 months ago |
Zed A. Shaw
|
3394327981
|
Better working but still picks up stray numbers I didn't specify.
|
2 months ago |
Zed A. Shaw
|
74310304bd
|
Start of a ragel parser that can do the ansi code parsing for me.
|
2 months ago |
Zed A. Shaw
|
35ef1e786d
|
A bit more cleanup before I redesign the renderer.
|
2 months ago |
Zed A. Shaw
|
9397af2a11
|
Rendering code stripped out of the GUI code.
|
2 months ago |
Zed A. Shaw
|
009b1e63a7
|
More refactoring to get the GUI dumber.
|
2 months ago |
Zed A. Shaw
|
2fdbd63f4c
|
Cleaning up and sorting out how to use the new events best.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
3f87d19911
|
Simple event system for entities in the world.
|
2 months ago |
Zed A. Shaw
|
ea6cf1362b
|
Create a test for the ECS before we add more functionality.
|
2 months ago |
Zed A. Shaw
|
143fe7784c
|
Clean up the DinkyECSso that it's easier to understand and more obvious what a fact vs. component is.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
753bc70b77
|
Basic ragel test that can parse 1 ASNI sequence and do nothing with it.
|
2 months ago |
Zed A. Shaw
|
4162287841
|
Implement a simple combat system and killing off enemies. See status for next steps.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
5a123ae74c
|
Refactor some code to have better naming and move Point and related point things into their own .hpp.
|
2 months ago |
Zed A. Shaw
|
c19cd707d1
|
Better unit test for the collision system.
|
2 months ago |
Zed A. Shaw
|
ec1ed23c52
|
Now using a simple collision map to track entities and then determine if they're near the player for attacking.
|
2 months ago |
Zed A. Shaw
|
743f906bc7
|
Implemented a simple collision hash table.
|
2 months ago |
Zed A. Shaw
|
dbc2a10933
|
Very basic collision and combat to work out the idea and a logging system on the left.
|
2 months ago |
Zed A. Shaw
|
98993481b0
|
Playing around with it some more to see how a move would work.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
6f2fba4f7f
|
Make a few comments to keep this straight.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
fe5f7673ea
|
Remove some unused variables.
|
2 months ago |
Zed A. Shaw
|
8b61a4fad8
|
Forgot to set targets for pathing.
|
2 months ago |
Zed A. Shaw
|
3dae65fe82
|
Merge in the refactor from earlier.
|
2 months ago |
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.
|
2 months ago |
Zed A. Shaw
|
1bb8999610
|
A bit more cleanup, but still looking for more organization.
|
2 months ago |
Zed A. Shaw
|
e42647d727
|
I think I've got my head around what ECS does and am slowly reshaping the engine to use it better.
|
2 months ago |
Zed A. Shaw
|
da04c5ec54
|
Not sure why I didn't think of this before, but you can just copy all the .wrap files to another directory, and then instead of meson wrap install you just copy them to subprojects. That's how you lock the versions of dependencies.
|
2 months ago |
Zed A. Shaw
|
33327154ad
|
DinkyECS is now controlling the game and can handle multiple enemies easily. Next is to clean this up so it's not just one gross pile of code in the gui.
|
2 months ago |
Zed A. Shaw
|
86c98c43c2
|
Fixes to make it build on OSX with old gear. I have an ancient OSX laptop that uses Clang 14 and it actuall works there. Amazing.
|
2 months ago |
Zed A. Shaw
|
b9c27cd6ba
|
Now calling this DinkyECS and will use it in the game to move the enemies and such.
|
2 months ago |