Anddd now after fixing a few things I decided the whole branch is in a good enough spot to merge, so there we go! I still want to go through and test everything, but all the basics definitely work.
Turns out a bunch of new stuff was broken, but now it's significantly less broken than before. The git history is going to be a mess but that doesn't bother me at all.