A weird game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Zed A. Shaw f73d3fbfd8 Added in an openal dependency for today's stream. 3 months ago
patches First drop the game's core mechanic that compiles. 4 months ago
scripts Move the tests to catch2 so I can get tap output for the game. 4 months ago
tests Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 3 months ago
.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. 4 months ago
.vimrc_proj A little better build but I really need to clean this up and use a state machine to handle the process. 4 months ago
LICENSE First drop the game's core mechanic that compiles. 4 months ago
README.md First drop the game's core mechanic that compiles. 4 months ago
builder.cpp Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 3 months ago
builder.hpp More refactoring in prep for a real design. 3 months ago
dbc.hpp GUI is now in its own unit. 3 months ago
efsw.wrap First drop the game's core mechanic that compiles. 4 months ago
escape_turings_tarpit.cpp More refactoring in prep for a real design. 3 months ago
ftx_thread_test.cpp Got a simple GUI layout working for the most part. 3 months ago
ftxtest.cpp Got a simple GUI layout working for the most part. 3 months ago
game_engine.cpp Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 3 months ago
game_engine.hpp Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 3 months ago
gui.cpp Game now keeps track of deaths, rounds, streaks and other fun stuff. You can also die finally. 3 months ago
gui.hpp More refactoring in prep for a real design. 3 months ago
libgit2.wrap First drop the game's core mechanic that compiles. 4 months ago
meson.build Added in an openal dependency for today's stream. 3 months ago
regtest.cpp The watchgit works but I don't think I really need libgit2 at all if I can just process the .gitignore correctly. 4 months ago
watcher.cpp More refactoring in prep for a real design. 3 months ago
watcher.hpp More refactoring in prep for a real design. 3 months ago
xmake.lua Quick attempt at an xmake.lua build. Doesn't work. 4 months ago

README.md

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.