libpixel (suprisingly) still compiles, but depends on libraries in a very annoying manner that makes EuropaTools hard to compile. Also, I don't like stb_image_write.
Replace it with some hand-done structs and the simpler/faster/better `lodepng`.
As it turns out, the unix time is NOT junk in them. The short I identified is *before* it. Oops
The hexpat is also fixed up so it can analyze v3, v4, and v5 successfully.
As it turns out the thing I marked as "header size" is more likely just a discarded revision.
Anyways, to detail this: pak version 5 adds fields to the header for sector alignment. The reader now handles this and reads the sectoralignment TOC entry, which now allows STREAMS (and any other packages with this set?) to extract properly.
Woohoo.
................. fuck
This really needs to be cleaned up before I'm willing to call it "good" but ultimately the API changes here needed to be done anyhow
While working with scrc I made the pak files output sorted by size. This doesn't
seem to have helped with performance but I guess it might be nice to maybe
do the conversion in hand.. or just make the writer take a vector of pair to use.
Also improves paktest.
Pakcreate is a new utility for creating completely new archives from a directory.
Usage:
pakcreate [input path] [output .PAK/pmdl filename] [--jedi]
Options:
--jedi : Make Jedi Starfighter archive
PakReader won't read everything in ReadData(), it now only reads the header and TOC.
Files now need to be read in separately.
Adds progress bar to europa_pack_extractor.
Moved code around.
Don't have a tool for building "fresh" packages yet, but the "paktest" tests regurgitating a pak into a new pak file.
Usage is:
./paktest [pak file]
it will write to "new.pak" always, which meh. It's just a test utility.