PDA

View Full Version : XTool Addons Question & Explication on Oodle libraries.


Yourname
24-03-2024, 10:14
Hi all, given the issue of understanding at least part of the full functioning of the "XTool" compressor (nowhere in the forum have I found an explanation and detailed examples of how to use all the Plugins and in which scenario to use them) I examined some files of the game "AloneinTheDark2024" with precision only the extensions with small dimensions, to minimize the testing time as much as possible, the "*.pak.*.ucas*.utoc" files.


AloneInTheDark\Content\Paks\pakchunk0optional-WindowsNoEditor.pak
AloneInTheDark\Content\Paks\pakchunk0-WindowsNoEditor.pak
AloneInTheDark\Content\Paks\pakchunk1optional-WindowsNoEditor.pak
AloneInTheDark\Content\Paks\pakchunk1-WindowsNoEditor.pak
AloneInTheDark\Content\Paks\global.ucas
AloneInTheDark\Content\Paks\pakchunk0optional-WindowsNoEditor.ucas
AloneInTheDark\Content\Paks\pakchunk1optional-WindowsNoEditor.ucas
AloneInTheDark\Content\Paks\global.utoc
AloneInTheDark\Content\Paks\pakchunk0optional-WindowsNoEditor.utoc
AloneInTheDark\Content\Paks\AloneInTheDark\Content \Paks\pakchunk0-WindowsNoEditor.utoc
AloneInTheDark\Content\Paks\pakchunk1optional-WindowsNoEditor.utoc
AloneInTheDark\Content\Paks\pakchunk1-WindowsNoEditor.utoc


Knowing that, read here in the forum, for an excellent compression ratio, the codec used for these files is the Kraken, I carried out some pre-compression and final compression tests using these methods with these results:

Without Codec: "oo2core_9_win64.dll"

• [ 1)Xtool+kraken+Lzma: [ xtool:c32mb:t16:t100p:mkraken:dd3+4x4:b64mb:lzma:u ltra:bt4:fb273:lc8:mc1000000:64mb ] •
• [ Compressed 12 files, 414,708,417 => 170,299,088 bytes. Ratio 41.06% ] •
• [ Compression time: cpu 0.20 sec/real 12.30 sec = 2%. Speed 33.73 mB/s ] •

With Codec: "oo2core_9_win64.dll"

• [ 1)Xtool+kraken+Lzma: [ xtool:c32mb:t16:t100p:mkraken:dd3+4x4:b64mb:lzma:u ltra:bt4:fb273:lc8:mc1000000:64mb ] •
• [ Compressed 12 files, 414,708,417 => 140,237,364 bytes. Ratio 33.82% ] •
• [ Compression time: cpu 0.27 sec/real 19.89 sec = 1%. Speed 20.85 mB/s ] •

With Codec: "oo2core_9_win64.dll"

• [ 1)Xtool+kraken+srep64+Lolz: [ xtool:c32mb:t16:t100p:mkraken:dd3+srep64:m5f:a2:d1 g+delta+exe2+lolz:d59:mtt1:mt16:mc1023 ] •
• [ Compressed 12 files, 414,708,417 => 133,334,785 bytes. Ratio 32.15% ] •
• [ Compression time: cpu 0.69 sec/real 72.03 sec = 1%. Speed 5.76 mB/s ] •

With Codec: "oo2core_9_win64.dll"

• [ 1)Xtool+kraken+NanoZip: [ xtool:c32mb:t16:t100p:mkraken:dd3+nz64:m16g:br512m :bw512m:p16:t16 ] •
• [ Compressed 426 779 164 into 129 915 446 in 28.28s, 14 MB/s (2.435 bpb) ] •
• [ Compressed 12 files, 414,708,417 => 129,915,447 bytes. Ratio 31.33% ] •
• [ Compression time: cpu 0.30 sec/real 35.22 sec = 1%. Speed 11.77 mB/s ] •

With Codec: "oo2core_9_win64.dll"

• [ 1)Xtool+kraken+Razor: [ xtool:c32mb:t16:t100p:mkraken:dd3+Razor:256m ] •
• [ Compressed 12 files, 414,708,417 => 129,013,533 bytes. Ratio 31.11% ] •
• [ Compression time: cpu 0.28 sec/real 411.45 sec = 0%. Speed 1.01 mB/s ] •


Now it is known that the codec to be used must be inside the "XTool.exe" directory, the method provided by my friend @Danziel123 and recommended to him by @Kaktor "xtool:mkraken:core_2.9.5:dd3+4x4:b64mb :lzma:ultra: 64m:bt4:fb273:lc8:mc1000000 " the call "core_2.9.5" what is it is a folder, where inside there is the codec to use "oo2core_9_win64.dll"...??? because tried but not works...!!!!

Can the files of any game with the extension "*.pak.*.ucas*.utoc" all be compressed with Oodle Compression...???

How is it possible to know, through a tool, or by scanning directly with the XTool compressor, which Plugins to use from a game examined, and therefore use the correct compression method...???

In the case where, as in "AloneinTheDark2024", using the "oOdle" Plugins, how do you recognize which encoding to use between "Kraken/Mermaid/Selkie/Leviathan/LZNA"...???

It is once known that coding is the "Kraken" how do I find out which libraries to use between "oo2core_3_win64.dll, oo2core_4_win64.dll, oo2core_5_win64.dll, oo2core_6_win64.dll, oo2core_7_win64.dll...etc".. .?

I apologize for my little doubts, I hope that someone really good can enlighten me.

KaktoR
24-03-2024, 10:30
Now it is known that the codec to be used must be inside the "XTool.exe" directory, the method provided by my friend @Danziel123 and recommended to him by @Kaktor "xtool:mkraken:core_2.9.5:dd3+4x4:b64mb :lzma:ultra: 64m:bt4:fb273:lc8:mc1000000 " the call "core_2.9.5" what is it is a folder, where inside there is the codec to use "oo2core_9_win64.dll"...??? because tried but not works...!!!!
"core_2.9.5" is not a codec, it is just a fake parameter for xtool used in diskspan_gui. It simply tells dsg to use oo2core library v2.9.5.

You can find all aviable libraries in "Resources\ADDONS\Libraries\Oodle\Oodle_Libs.7z" or "Resources\Win64\ADDONS\Libraries\Oodle\Oodle_Libs. 7z".

Can the files of any game with the extension "*.pak.*.ucas*.utoc" all be compressed with Oodle Compression...???

How is it possible to know, through a tool, or by scanning directly with the XTool compressor, which Plugins to use from a game examined, and therefore use the correct compression method...???
No. Each game use a different compression algo. However, while most of UE4 games use algos such as zlib, most of the newer UE5 games use oodle algo. You have to check what codec is used and what library you have to use for it. I suggest using xtoolui for this purpose (xtool.exe + xtoolui.dll in same folder).

In the case where, as in "AloneinTheDark2024", using the "oOdle" Plugins, how do you recognize which encoding to use between "Kraken/Mermaid/Selkie/Leviathan/LZNA"...???

It is once known that coding is the "Kraken" how do I find out which libraries to use between "oo2core_3_win64.dll, oo2core_4_win64.dll, oo2core_5_win64.dll, oo2core_6_win64.dll, oo2core_7_win64.dll...etc".. .?
Either just test blind, or use hxd and search for oodle headers (8C 06 = kraken, 8C 0A = mermaid/selkie, 8C 0C = leviathan).

For new UE5 games, I would always consider starting with library version 2.9.5 or above.
https://fileforums.com/showpost.php?p=500772&postcount=18

Yourname
24-03-2024, 10:47
"core_2.9.5" is not a codec, it is just a fake parameter] I imagined this since it didn't lead to any references.

"using xtoolui for this purpose (xtool.exe + xtoolui.dll in same folder).] where do I find this "xtoolui.dll".

"Either just test blind, or use hxd and search for oodle headers (8C 06 = kraken, 8C 0A = mermaid/selkie, 8C 0C = leviathan).

For new UE5 games, I would always consider starting with library version 2.9.5 or above.] Perfect excellent clarification, so in general this table is also valid::)

8C 07 - 0:LZH
8C 00 - 1:LZHLW
8C 01 - 2:LZNIB
CC 07 - 3:None
8C 02 - 4:LZB16
8C 03 - 5:LZBLW
8C 04 - 6:LZA
8C 05 - 7:LZNA
8C 06 - 8:Kraken
8C 0A - 9:Mermaid
8C 0B - 10:BitKnit
8C 0A - 11:Selkie
8C 0A - 12:Hydra
8C 0C - 13:Leviathan


where do I download this tool

https://imgur.com/jtBUHUF

KaktoR
24-03-2024, 10:53
It is included in this archive

https://www.patreon.com/posts/release-v0-8-7-99004708
https://fileforums.com/showpost.php?p=503717&postcount=674

Yourname
24-03-2024, 12:47
So to summarize what interests me, in an examined file, if on the offset(hex) *13750 line I find a match to the table I posted, the codec is the corresponding one... right?

KaktoR
24-03-2024, 13:28
Not always. For example you will most probably find "8C 06" in any other file on your drive, no matter what.

You don't have to look with hex editor in most cases. I suggest to use hex editor only to find specific streams inside a archive like bink videos or wwise audio.

For all other cases use scanners and xtoolui.

But yes, if you know that the file is compressed with oodle kraken, then "8C 06" is a match.