A weird game that watches you code and makes fun of you when you suck at it.
Find a file
2024-08-20 18:02:46 -04:00
patches First drop the game's core mechanic that compiles. 2024-07-30 06:01:39 -04:00
scripts Move the tests to catch2 so I can get tap output for the game. 2024-08-10 06:59:28 -04:00
tests Sort of working scrolling window thing. 2024-08-20 16:52:54 -04:00
.gitignore Way quicker and easier to simply use the .gitignore to figure out if an important file has changed. This is probably chock full of bugs and memory leaks but it is working. 2024-08-04 08:51:22 -04:00
.vimrc_proj A little better build but I really need to clean this up and use a state machine to handle the process. 2024-08-01 07:01:27 -04:00
dbc.hpp GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
efsw.wrap First drop the game's core mechanic that compiles. 2024-07-30 06:01:39 -04:00
escape_turings_tarpit.cpp GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
ftx_thread_test.cpp A thread version of a UI that updates the the background. 2024-08-09 12:31:38 -04:00
ftxtest.cpp First kind of working FTXUI for the game. 2024-08-20 17:29:58 -04:00
game_engine.cpp Sort of working scrolling window thing. 2024-08-20 16:52:54 -04:00
game_engine.hpp GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
gui.cpp GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
gui.hpp GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
libgit2.wrap First drop the game's core mechanic that compiles. 2024-07-30 06:01:39 -04:00
LICENSE First drop the game's core mechanic that compiles. 2024-07-30 06:01:39 -04:00
meson.build GUI is now in its own unit. 2024-08-20 18:02:46 -04:00
README.md First drop the game's core mechanic that compiles. 2024-07-30 06:01:39 -04:00
regtest.cpp The watchgit works but I don't think I really need libgit2 at all if I can just process the .gitignore correctly. 2024-08-01 18:30:29 -04:00
xmake.lua Quick attempt at an xmake.lua build. Doesn't work. 2024-08-01 07:01:04 -04:00

A game I'm working. It's a weird one.

Right now I've got a command that watches your files for changes, and runs a build command. It's entirely overengineered for this purpose, but it has what I'll need later. To build it do this:

./scripts/reset_build.ps1
meson compile -C builddir

If you get a bad compile because of libgit2's src/util/process.h then do this:

cp patches/process.h subprojects/libgit2/src/util/
meson compile -C builddir

I don't know why it fails at this, and only on Windows but I've talked to them repeatedly and it's mostly "works for me" responses. I also can't figure out how Meson exactly applies patches. I've generated every possible patch I can and Meson just can't apply them.

Once it's running, we have even more annoying BS to deal with, and that's because Meson doesn't actually statically compile efsw or libgit2. Even though I said --default-librart=static --prefer-static in the setup it just ignores that and makes DLLs. The "fix" for this asinine stupidity is this:

meson devenv -C builddir
cd ..
cp builddir/watchgit .
./watchgit . "meson compile -C builddir

Do all that garbage and yay, this little program runs. Finally.

Future Changes

  1. If I can't figure out why libgit2 has compilation errors in src/util/process.h then I may just rip it out and just shell out to git directly.
  2. Ultimately I can jsut use efsw to watch the directory for all changes, but I wanted to only focus on what's in git. Oh well.
  3. I also have to find out why efsw and libgit2 refuse to compile statically. Once I do that I can static compile watchgit and then work on the next part of the game.