A weird game that watches you code and makes fun of you when you suck at it.
Find a file
2024-08-21 18:49:25 -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 Improve the GameEngine test. 2024-08-21 18:49:25 -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
builder.cpp Make the game engine use a start/end round and do healing if you don't make any mistakes. 2024-08-21 18:44:32 -04:00
builder.hpp More refactoring in prep for a real design. 2024-08-21 18:34:46 -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 More refactoring in prep for a real design. 2024-08-21 18:34: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 Make the game engine use a start/end round and do healing if you don't make any mistakes. 2024-08-21 18:44:32 -04:00
game_engine.hpp Make the game engine use a start/end round and do healing if you don't make any mistakes. 2024-08-21 18:44:32 -04:00
gui.cpp Make the game engine use a start/end round and do healing if you don't make any mistakes. 2024-08-21 18:44:32 -04:00
gui.hpp More refactoring in prep for a real design. 2024-08-21 18:34: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 More refactoring in prep for a real design. 2024-08-21 18:34: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
watcher.cpp More refactoring in prep for a real design. 2024-08-21 18:34:46 -04:00
watcher.hpp More refactoring in prep for a real design. 2024-08-21 18:34:46 -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.