A Rogue style game in C++ which renders the ANSI terminal into an SFML graphics window.
Find a file
2024-12-02 06:32:00 -05:00
assets Now have a basic prototype lighting system. 2024-11-25 02:32:16 -05:00
scratchpad 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
scripts First coverage reports. Tests don't get near enough coverage but running the program does. 2024-11-29 09:41:02 -05:00
tests 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
wraps 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
.gdbinit 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
.gitignore Ignore more irrelevant things. 2024-10-02 17:01:30 -04:00
.tarpit.json Ignore more irrelevant things. 2024-10-02 17:01:30 -04:00
.vimrc_proj Mostly working prototype that uses FTXUI to render to SFML and then plays a sound when you hit a wall. 2024-10-02 16:56:06 -04:00
ansi_parser.cpp Now have a basic prototype lighting system. 2024-11-25 02:32:16 -05:00
ansi_parser.hpp 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
ansi_parser.rl Now have a basic prototype lighting system. 2024-11-25 02:32:16 -05:00
collider.cpp 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
collider.hpp 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
color.hpp Color is now in one nice location. 2024-11-18 14:28:39 -05:00
combat.cpp 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
combat.hpp First coverage reports. Tests don't get near enough coverage but running the program does. 2024-11-29 09:41:02 -05:00
components.hpp 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
config.cpp 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
config.hpp 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
dbc.cpp Initial commit that has most of what I need. 2024-09-24 18:28:01 -04:00
dbc.hpp Initial commit that has most of what I need. 2024-09-24 18:28:01 -04:00
dinkyecs.hpp Event system now accepts any data and the GUI receives simpler events with data for them. 2024-11-07 09:16:21 -05:00
events.hpp Event system now accepts any data and the GUI receives simpler events with data for them. 2024-11-07 09:16:21 -05:00
flecs.wrap Brought in FLECS to play with, tomorrow we learn it. 2024-10-05 18:15:14 -04:00
fsm.hpp Conver to using \ for member variables in classes. In structs just use the name. 2024-10-03 17:05:23 -04:00
gui.cpp 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
gui.hpp 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
LICENSE Initial commit 2024-09-25 00:10:33 +02:00
lights.cpp 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
lights.hpp 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
main.cpp 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
Makefile A bit of cleanup and refinement before refactoring. 2024-12-01 08:08:06 -05:00
map.cpp 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
map.hpp 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
meson.build 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
panel.cpp 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
panel.hpp 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
pathing.cpp 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
pathing.hpp 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
point.hpp 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
rand.cpp Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -04:00
rand.hpp Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -04:00
README.md 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. 2024-10-13 14:01:18 -04:00
render.cpp A bit of some clean up, API unifying, and some performance tweaks. 2024-11-22 23:12:18 -05:00
render.hpp A bit of some clean up, API unifying, and some performance tweaks. 2024-11-22 23:12:18 -05:00
save.cpp 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
save.hpp More notes on the next things to do. 2024-11-07 02:06:22 -05:00
sound.cpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
sound.hpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
status.txt 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
systems.cpp 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
systems.hpp 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
tser.hpp The json output is a problem but I don't even use it. 2024-11-08 21:45:40 -05:00
tser.wrap 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
worldbuilder.cpp 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
worldbuilder.hpp 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

roguish

The next little game in the series where I make a fancy rogue game.

OSX Build Notes

  • Quite a bad experience. Need to install Python, cmake, meson, and ninja all which are in homebrew but if you don't use homebrew then this is a problem.
  • You need to run the .command script in Application/your python that updates the SSL certs.
  • You have to give iTerm access to your keystrokes...because wtf it already has them?
  • This points out a problem that I'm getting the keys using FTXUI but should either get them from SFML or connect FTXUI to SFML's keyboard input events instead.
  • Takes forever to load on older computers, and I've got no idea why SFML is like that. It seems the sound system is a pig that takes forever to load, so am I using it wrong?
  • No actually this first run delay seems to be related to the security feature that blocks keyboard access on iTerm, so probably fixing that would speed it up.