Quote:
Originally Posted by Razor12911
...I can tell you how it works if you want, it's no secret.
|
That would be helpful, you can PM me or post it here whatever you prefer.
I actually tried to use lib from this version that I know works with the game and could not get it unpack anything with ztool(output same size). But I am not sure if I did it right, you see your lz4.dll have ~60kb while my compiled had around ~200+kb and I made .dll by manually changing function in makefile code - in function "add_library" where I added "SHARED" flag, something like this:
Code:
add_library(liblz4 ${LZ4_SRCS_LIB}) >> add_library(liblz4 SHARED ${LZ4_SRCS_LIB})
Now the thing is if I dont do that and just check to make lib in cmake gui, it does output library around same size as yours(~60kb), but its a .lib not windows dll. When I tried that big dll ztool did not complain with errors but output same size, if I rename lib to dll it output error(obviously not same). Maybe someone can hint me here what I did wrong, you can also try yourself if you can compile more properly.
Additionally, I found on zenhax forums that zstd may not be so bad after all, it does keep track of different version in header:
"zstd
It starts with a little endian 32bit magic number, when seen with a hex editor only the first byte (the low 8bit) is different because it depends by the version of the algorithm:
Code:
1e b5 2f fd v0.1
22 b5 2f fd v0.2
23 b5 2f fd v0.3
24 b5 2f fd v0.4
25 b5 2f fd v0.5
26 b5 2f fd v0.6
27 b5 2f fd v0.7
28 b5 2f fd v0.8, current version"
Unfortunately lz4 dont do it, but its the only one at least. Of course, there still have to be a header present in game resource to know.