The package.toc file contains all the file names, except for itself (but we know it always so this isn't a problem).
Therefore, we don't need to store a hardcoded string table! Yay!
A skeleton `jmmt` crate with some stuff
has been created.
There is also a reimplementation of the jmmt_renamer tool.
More stuff will be reimplemented later.
This is probably my last addition to the C++ version of this code,
at least if an Experimental ~~Rodeo~~ Rewrite doesn't end up panning
out.
This is a tool for generating the HashID values that the game uses.
Maybe later on I might try and see if I can write a multi-threaded
hash cracker, or better yet, a GPU powered one (no better way to
try and learn GPGPU then actually doing it!), but for now, this is
all you get.
Feel free to lavish in my argument parsing implementation. I just wanted
something simple and fairly easy to read, and this seems to work ok,
while still being platform-independent (no getopt, and I wouldn't need to
drag in additional code to reimplement getopt or such for Windows/Mac/...)
I am probably going to take a break from this project for at least a little while (probably a week or two, which despite github commit dates, has been about the time I've spent on this project), because even though I got through, I've been feeling really overworked (especially due to the fact I've been.. pressured? to say the least, to do this at a way quicker pace than I really wanted to.), and it's affecting my personal life (in a not-so-good way.).
This doesn't mean I'm completely dropping the project, if I were I'd be offering maintainership to someone else and/or moving/archiving the repository. Rather, I just need a breather.