A Rogue style game in C++ which renders the ANSI terminal into an SFML graphics window.
Find a file
2024-11-03 00:16:52 -04:00
assets 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
scratchpad 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
scripts A bit more cleanup, but still looking for more organization. 2024-10-16 23:15:56 -04:00
tests 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
wraps 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. 2024-10-16 20:01:01 -04: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 Refactored the ansi_parser into a class that can be reused between render calls. 2024-11-02 16:56:46 -04:00
ansi_parser.hpp Refactored the ansi_parser into a class that can be reused between render calls. 2024-11-02 16:56:46 -04:00
ansi_parser.rl 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
collider.cpp 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
collider.hpp 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
combat.cpp 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
combat.hpp 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
components.hpp More refactoring to get the GUI dumber. 2024-10-30 02:13:31 -04: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 Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
events.hpp More refactoring to get the GUI dumber. 2024-10-30 02:13:31 -04: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 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
gui.hpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
LICENSE Initial commit 2024-09-25 00:10:33 +02:00
main.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
Makefile 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
map.cpp 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. 2024-10-16 15:01:53 -04:00
map.hpp Rendering with color is working now but still has problems with enabling/resetting the default colors. 2024-11-02 06:02:13 -04:00
meson.build 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
point.hpp 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
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 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
render.hpp Further cleaning of the renderer. 2024-11-02 17:41:19 -04: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 Rendering with color is working now but still has problems with enabling/resetting the default colors. 2024-11-02 06:02:13 -04:00
systems.cpp Rendering with color is working now but still has problems with enabling/resetting the default colors. 2024-11-02 06:02:13 -04:00
systems.hpp 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

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.