Commit Graph

18 Commits

Author SHA1 Message Date
Lily Tsuru e82d693dfc eupak: Implement creation command
Ditto. Also has a cute little progress indicator (more detailed
progress will probably have to be done later..)

Removes pakcreate, as it's now replaced by eupak for good.
2022-09-22 12:32:28 -05:00
Lily Tsuru a27ab63c96 eupak: Add bodge for MinGW compilation
also fix paktest, oops.
2022-09-22 05:58:53 -05:00
Lily Tsuru a95d104e7f *: Introduce "eupak" utility
I have been preparing for this for a while. Instead of having a bunch
of strewn out utilities, let's just have one solid multitool
which is nice to use.

This commit also removes europa_pack_extractor, as it's now unnesscary
and replaced with a better utility, that does more.

Creation wasn't implemented yet, but I really need to sleep. It can be done later, and pakcreate can be used as a temporary stopgap.
2022-09-22 05:43:35 -05:00
Lily Tsuru 87b02d8659 cmake: Use FetchContent for dependencies, add argparse dep 2022-09-21 03:18:13 -05:00
Lily Tsuru 4b7a0ea612 cmake: change library name to just "europa" 2022-09-21 03:00:17 -05:00
Lily Tsuru f79c92c742 chore(*): .h -> .hpp
Preferences change a bit.
2022-09-21 02:59:16 -05:00
Lily Tsuru 8d607675d0 chore(cmake): cmake license header, update a bit
Instead of using set_target_properties on all tool binaries,
instead we can use target_compile_features([xxx] PUBLIC cxx_std_20).

This properly alienates projects which depend on libeuropa, allowing the src/tools CMakeLists to be trimmed down quite a bit.

Also fixes a build break I accidentally introduced.
2022-09-21 02:55:57 -05:00
Lily Tsuru 6228bf77e8 chore(*): fix spdx headers for right license
Oops!
2022-09-21 02:49:57 -05:00
Lily Tsuru cab58d0d34 Mishmash commit
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.
2022-09-21 02:31:33 -05:00
Lily Tsuru 4452b87780 Fix io::PakWriter, add pakcreate
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
2022-09-15 04:11:53 -05:00
Lily Tsuru 81dad9965c bump libpixel (msvc builds should work now, i hope.) 2022-09-07 04:17:26 -05:00
Lily Tsuru 29404402aa dammit 2022-09-07 04:14:47 -05:00
Lily Tsuru 4d72803725 oops, fix paktest 2022-09-07 04:09:48 -05:00
Lily Tsuru fae513fdfe Try to optimize things a bit
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.
2022-09-07 04:07:40 -05:00
Lily Tsuru 5d03f49e21 Add possibly not WIP package writer
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.
2022-09-05 19:59:46 -05:00
Lily Tsuru 1782fef0dc Add WIP YATF exporter
Doesn't work for *everything* but works for a good chunk of stuff
2022-09-05 03:24:50 -05:00
Lily Tsuru 7fd4c470af Add YATF ImHex pattern and add libpixel submodule 2022-09-04 22:21:59 -05:00
Lily Tsuru 62862d832f Initial commit 2022-09-04 16:11:14 -05:00