Commit graph

11 commits

Author SHA1 Message Date
69a7b0e45e (experimental) libeuropa: Make libeuropa a shared library
Bleh. Might as well.

NO ABI GUARANTEES UNTIL A REAL 1.0.0 RELEASE.
2025-01-17 22:25:13 -05:00
9c6448a817 libeuropa,libeuropa/tools: Drop libpixel dependency
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`.
2025-01-15 23:40:41 -05:00
341f914e1d *: Add some hardening compile options.
Also fix some warnings and potential issues that building the entire EuropaTools codebase under those flags showed.

Later on once we drop the libpixel and stbiw dependencies, we can probably turn on -Werror for release builds.
2025-01-08 13:08:49 -05:00
bdc55f5483 *: Relicense to MIT
A ironically more-free license. Also no more foot fungus (or other various shitty things a certain RMS has done.)
2025-01-07 18:02:27 -05:00
307e92768c *: Correct all license headers 2025-01-07 14:17:50 -05:00
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
87b02d8659 cmake: Use FetchContent for dependencies, add argparse dep 2022-09-21 03:18:13 -05:00
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
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
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
62862d832f Initial commit 2022-09-04 16:11:14 -05:00