FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Best Compression Methods for 'Specific' Games. Q&A (https://fileforums.com/showthread.php?t=99554)

adrianskiloses 11-05-2023 06:49

Quote:

Originally Posted by Hexagon123 (Post 501070)
Depends on the game,

Some use LZ4, LZMA or none

SREP+LOLZ

How do you find out?
Also what I'm looking for is some sort of tool that you can take Unity assets off of and precompress, and during install they're decompressed and put back on the Unity files. Is it possible?

Masquerade 11-05-2023 10:30

Quote:

Originally Posted by adrianskiloses (Post 501075)
Also what I'm looking for is some sort of tool that you can take Unity assets off of and precompress, and during install they're decompressed and put back on the Unity files. Is it possible?

You can use the XTool unity plugin to precompress lz4 compressed Unity Asset Bundles.

Junior53 15-05-2023 00:31

Assassins Creed 2 *.dat files blocks addresses doesn't match
 
1 Attachment(s)
I extract the DataPC.forge file using quickBMS script and after that i try to put them back into where it was using raw injector but it doesn't work out because the all extracted *.dat files doesn't have the same hexadecimals address so my question is how do i solve this & why blocks are isn't the same?

Trying to find the 87.dat block Start Offset and End Offset in DataPC.forge using HxD
https://drive.google.com/file/d/15Og...atcpOML7D/view

But it doesn't work out?
https://drive.google.com/file/d/1ME-...GABq2mgRJ/view

These are the unpack files
https://drive.google.com/file/d/1ova...U1YYmZxn-/view

KaktoR 18-05-2023 03:47

1 Attachment(s)
Can someone look at this kind of files and what I can do with them? They have "RIFF8-��WAVEfmt".

Sample as attachment

Masquerade 18-05-2023 04:55

Not sure what it is. VGMStream cannot detect what it is and wwise2ogg will only give a 17kb output.

Masquerade 18-05-2023 13:12

Golf With Your Friends (Build 11145867)

Code:

xtool_unity_dd5+lolz
4.6GB ---> 2.3GB

shazzla 21-05-2023 00:56

Hi all !

Frostpunk V1.6.1 - GOTY

Latest XTool : Zero inflation. Any kind of variations of ZLib,Preflate,Reflate -cXXmb ,no success.

But this version inflates the data well !

XTool version 0.9

Created by Razor12911

Commands:
e - encode
d - decode

Operations and codecs available:
precomp - data precompression
zlib : loaded
crilayla : not loaded
lz4 : loaded
zstd : loaded
lzo : loaded
oodle : loaded

Options:
precomp - data precompression
c# : chunk size (default 16mb)
t# : number of threads, use p for percentage
dm#: decoding memory [1(low) .. 3(max)]
dt#: diff tolerance (default 0.1)


Other game's ZLib files are OK.
What am i do wrong ?

KaktoR 21-05-2023 11:50

1 Attachment(s)
^
I can confirm.

Sample should be around 106%

kuyhaa 21-05-2023 20:41

Quote:

Originally Posted by shazzla (Post 501168)
Hi all !

Frostpunk V1.6.1 - GOTY
XTool version 0.9


try xtool 0.12

shazzla 21-05-2023 20:56

1 Attachment(s)
@kuyhaa : i would like to use the newest version,btw thank you !:)


Sample from GOTY V1.6.1 :

XTool v0.9 :

arc a -mxprecomp32 e:\animations32.arc e:\animations.dat
FreeArc 0.67 (March 15 2014) creating archive: e:\animations.arc
Compressed 1 file, 29,260,989 => 50,177,682 bytes. Ratio 171.48%
Compression time: cpu 0.02 sec/real 12.71 sec = 0%. Speed 2.30 mB/s
All OK

arc t e:\animations32.arc
FreeArc 0.67 (March 15 2014) testing archive: e:\animations32.arc
Tested 1 file, 50,177,682 => 29,260,989 bytes. Ratio 171.48%
Testing time: cpu 0.02 sec/real 0.85 sec = 2%. Speed 34.25 mB/s
All OK

Latest XTool :
Nothing.

Edit:

XTool V0.7.1 : Works fine ! Thank you Razor12911 !

Masquerade 22-05-2023 14:34

Marvels Spiderman Remastered [Build 10619930]

Archive 1 content: All files from asset_archive folder except dag, toc and languages.
Archive 2 content: All remanining files except languages.

Archive 1:
Code:

xtool_spidey_dd5+lolz
Archive 2:
Code:

xtool_reflate+razor-stdio
Languages:
Code:

razor-stdio
Repack

Code:

Original Size          |  79GB
--------------------------------
Game                    | 37.5GB
--------------------------------
+ Arabic                | +1.1GB
+ English              | +1.1GB
+ French                | +1.1GB
+ German                | +1.1GB
+ Italian              | +1.1GB
+ Japanese              | +1.1GB
+ Polish                | +1.1GB
+ Portguese            | +1.1GB
+ Portuguese-Brazil    | +1.1GB
+ Russian              | +1.1GB
+ Spanish-Latin-America | +1.1GB
+ Spanish-Spain        | +1.1GB
--------------------------------
TOTAL                  | 50.9GB

Thanks to Razor12911 for XTool, ProFrager for lolz, Bulat Ziganshin for FreeArc and srep.

Wanterlude 23-05-2023 12:04

Warhammer 40,000: Boltgun [1.17.38829.471]

Code:

kraken+preflate+dedup+lolz
4.38 gb => 2.96 gb

Masquerade 23-05-2023 12:44

Quote:

Originally Posted by Wanterlude (Post 501188)
[B][U]Warhammer 40,000: Boltgun

You can also use this database I made using bms2xtl:
https://bayfiles.com/D6bdh7taze/Boltgun_xtl

hwang4 26-05-2023 05:00

Quote:

Originally Posted by Masquerade (Post 501189)
You can also use this database I made using bms2xtl:
https://bayfiles.com/D6bdh7taze/Boltgun_xtl


Which Version of oo2core.dll , should i use ?

deepshit 29-05-2023 05:26

1 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 501132)
Can someone look at this kind of files and what I can do with them? They have "RIFF8-��WAVEfmt".

Sample as attachment

This is a custom wwise bnk archive.
It contains multiple wem files.
I converted one of them.

L33THAK0R 29-05-2023 10:02

State of Decay 2
 
1 Attachment(s)
Has anyone had any luck with any LZ4 library for "State of Decay 2"? Threads around the net indicate it uses some sort of "custom" LZ4 solution, however QuickBMS is able to parse it with it's built in LZ4 comtype. Currently exhausted a good collection of ~20 libraries through trials and I'm yet to pick up or detect a single stream.

Attached is a sample ".pak" archive should this compression quandary tickle anyone else's fancy.

Masquerade 31-05-2023 09:58

Shame Legacy

*.pak:
Code:

ue4d:key=07E35C91100A9B400B1A87B15337BEEAC3545EEE30786F21CB2EE7283AF51743+xtool_zlib_dd5+lolz
Everything else:
Code:

razor-stdio
9.9GB ---> 6.9GB

Used CLS-UE4D library by Shegorat.
Thanks to Razor12911 and ProFrager for XTool and Lolz.
Thanks to Bulat Ziganshin for FreeArc and srep.

KaktoR 01-06-2023 09:09

Anyone can help me with srep options to use? I'm getting stuck here a bit.

Code:

ERROR! Can't allocate memory: 9705 mb required
Edit: -l# option seems to be the trick.

KaktoR 03-06-2023 16:39

Hitman 3 test using rpkg tool (because no plugin is available atm)

Code:

chunk0.rpkg (13.5GB)

 srep+lolz_fast
Overall input size: 14.03 GB
Overall output size: 12.10 GB (Ratio 86.29%)
Overall conversion time: 00:53:55
 
 
 srep+lolz_fast with rpkg tool
Overall input size: 15.50 GB
Overall output size: 11.41 GB (Ratio 73.61%)
Overall conversion time: 02:01:43

Input is bigger because chunk0.rpkg was extracted (lz4 variant is used). However output is smaller. But that time to process is insane and I recommend not to do this at all.

The time above was achived on a m2 ssd for a single test. Here again it is not recommended to do this kind of stuff on a ssd, even it is much faster.

Extracting all rpkg's on a HDD took barely 4 hours.
Next step is to make TAR files out of extracted files (this will take another bunch of hours), because somehow freearc seems to have problems with nearly 2 million extracted files.

Code:

*.WWEM
*.WWES

Rename them to *.WEM so you can use WemTool on them. After decoding rename them back to *.WWEM and *.WWES.
You can save approximately 10% of original size.


*.WWEV
They have "RIFF8-��WAVEfmt" but cannot do anything with them.
More info: https://fileforums.com/showpost.php?p=501212&postcount=3495

This is just a info test out of curiosity and I wanted to share some infos here.

dixen 05-06-2023 00:12

Quote:

Originally Posted by KaktoR (Post 499415)
Witcher 3 v4.0 Next Gen Update

Still the same algo from before
https://fileforums.com/showthread.ph...her#post498295

Code:

-mxtool:witcher3+xtool:zlib+xtool:lz4hc,l9

Compressed 1 file, 286,247,872 => 1,249,481,045 bytes. Ratio 436.50%
Compression time: cpu 0.41 sec/real 51.41 sec = 1%. Speed 5.57 mB/s
All OK

Extracted 1 file, 1,249,481,045 => 286,247,872 bytes. Ratio 436.50%
Extraction time: cpu 0.59 sec/real 37.01 sec = 2%. Speed 7.73 mB/s
All OK


Which version xtool and liblz4.dll needed?
With W3.xtl - decompression error for me:confused:

KaktoR 05-06-2023 00:20

XTool 0.6.9 + xdelta3_dll.dll + lz4_193 + doboz.dll

bms2xtl config
Code:

lz4=lz4hc:l9

dixen 05-06-2023 09:29

Quote:

Originally Posted by KaktoR (Post 501269)
XTool 0.6.9 + xdelta3_dll.dll + lz4_193 + doboz.dll

bms2xtl config
Code:

lz4=lz4hc:l9

It works but..VERY slow on lz4hc streams.

Masquerade 05-06-2023 09:39

Repella Fella

You can use ffmpeg to extract the vorbis audio tracks from the webm videos then make hdiffz patches to convert the oggs back into videos (note that the hdiff patches will be huge since they make up the entire video track).

Only issue is that oggre is buggy af with these oggs, so it may just be easier to use:

srep+lzma2 on the webm

precomps+srep+lolz on everything else.

Precomps = precomp stdin/stdio fork by Nicolas Comerci.

8GB > 7.2GB

I spent all day trying to get oggre working, but it will crash without much of a pattern to go off.

KaktoR 05-06-2023 09:53

Quote:

Originally Posted by dixen (Post 501273)
It works but..VERY slow on lz4hc streams.

Hm, no, not for me.

Did it today with latest version.

Code:

11:16:00 - Overall input size: 61.98 GB
 11:16:00 - Overall output size: 44.43 GB (Ratio 71.68%)
 11:16:00 - Overall conversion time: 01:58:29


dixen 05-06-2023 13:00

Quote:

Originally Posted by KaktoR (Post 501275)
Hm, no, not for me.

Did it today with latest version.

Code:

11:16:00 - Overall input size: 61.98 GB
 11:16:00 - Overall output size: 44.43 GB (Ratio 71.68%)
 11:16:00 - Overall conversion time: 01:58:29


Can you share your witcher3.xtl?

Masquerade 06-06-2023 11:06

Orcs Must Die! 3 [v1.2.1.0]

*.pak:
Code:

xtool_OMD3_dd5+lolz
Everything else:
Code:

xtool_zlib+razor-stdio
12.6GB ---> 6.8GB

Requires OMD3 database and lz4 library linked here.

Dragonis40 07-06-2023 10:08

Good evening, is there a way to create a .tmp file from a decompressed (or unpacked) file or batch of files in order to use hdiffz.exe and so to create a .diff file?
A lot of videogames have several files that can be unpacked using specific tools, but no way to repack them. Maybe hdiffz.exe is a solution, but it needs a .tmp file. How to create it? Thanks in advance for your help!

Masquerade 07-06-2023 13:57

HDiffz does not need a .tmp file, read the usage instructions.

Old file and new file makes differential patch.

Masquerade 09-06-2023 14:42

Hi,
Does anyone have any samples of LZMA compressed Unity Asset Bundles that they could share with me?
Thanks!

KaktoR 10-06-2023 00:27

Diablo IV
v1.0.2, incl. HD files

Code:

10:50:35 - Selected ARC/DS method for Data1a-01.bin was: xtool:dd3+lzma2:d96m:fb273:lc4:mc1000000
 10:50:35 - Selected ARC/DS method for Data1b-01.bin was: xtool:mzlib+xtool:mpreflate:dd3+lzma2:d96m:fb273:lc4:mc1000000
-----------------------------------------------------------------------------------------
 13:17:45 - Overall input size: 77.06 GB
 13:17:45 - Overall output size: 62.72 GB (Ratio 81.38%)
 13:17:45 - Overall conversion time: 02:27:08


L33THAK0R 16-06-2023 06:58

Does anyone know roughly what the average variance is for the final ratio of a given input, that's run through LOLZ?

KaktoR 16-06-2023 07:55

The Last of Us Part 1
v1.1.0.0

Code:

19:08:20 - Selected ARC/DS method for Data1a-01.bin was: xtool:c192mb:mpsarc:core_2.9.9+xtool:mpreflate:dd3+4x4:lzma
 19:08:20 - Selected ARC/DS method for Data1b-01.bin was: xtool:dd3+4x4:lzma
-----------------------------------------------------------------------------------------
 21:16:38 - Overall input size: 70.29 GB
 21:16:38 - Overall output size: 48.29 GB (Ratio 68.70%)
 21:16:38 - Overall conversion time: 02:08:17

You will get better ratio in increasing chunk size for xtool.

kj911 16-06-2023 14:10

L33THAK0R: Very input data dependent! Older, very older gamez, betterly compressible than previous 10-15 years ago to last years games. Average few percent to upto 10-25% betterly final compression ratio than LZMA. After, many data precompression (ex: xtool), prefiltering (ex: exe/delta) and such more...

Simply, this cannot be said in advance! It is necessary to experiment, it is possible to derive approximate information about the possible degree of compression from existing repacked games online.

Small examples: This very old modded MSTS games *.ACE files with xzlib+srep+lolz combo avg. 25-40% final ratio than uncompressed sizes.
*.RAW files in rare case upto 1.5-2* betterly compressed via delta+(srep)+lolz combo than simple LZMA only.
Sound files final sizes difference its minimal few percentage. Achieve better rates use sound specific compression.

KaktoR: What "mpsarc"??

KaktoR 16-06-2023 14:50

Quote:

Originally Posted by kj911 (Post 501356)
KaktoR: What "mpsarc"??

https://fileforums.com/showpost.php?...&postcount=352

L33THAK0R 17-06-2023 02:41

Quote:

Originally Posted by kj911 (Post 501356)
L33THAK0R: Very input data dependent! Older, very older gamez, betterly compressible than previous 10-15 years ago to last years games. Average few percent to upto 10-25% betterly final compression ratio than LZMA. After, many data precompression (ex: xtool), prefiltering (ex: exe/delta) and such more...

Simply, this cannot be said in advance! It is necessary to experiment, it is possible to derive approximate information about the possible degree of compression from existing repacked games online.

Small examples: This very old modded MSTS games *.ACE files with xzlib+srep+lolz combo avg. 25-40% final ratio than uncompressed sizes.
*.RAW files in rare case upto 1.5-2* betterly compressed via delta+(srep)+lolz combo than simple LZMA only.
Sound files final sizes difference its minimal few percentage. Achieve better rates use sound specific compression.

KaktoR: What "mpsarc"??

@@kj911 ah thank you for the explanation, what I meant was more how much could be chalked up to variance due to LOLZ being a non-deterministic compression algorithm (or series of, I'm not too sure on its inner-workings). I like to compare my results to my peers, for some titles, take the 2020 title "Manifold Garden" I got a result of 797 MB, however one of our peers got a result of 792 MB. Now I was working with the latest version of the title and I also included the weight of the installer, with mine being slightly larger (due to some un-optimised storing of the "VCL styles" library that I've yet to figure out how to compress and decompress during run-time), and I'm wondering whether I can chalk up this difference to variance or whether I've missed some data that can be packed more optimally.

kj911 17-06-2023 08:51

1 Attachment(s)
L33THAK0R: From what I have experienced with LOLZ so far, its operation is a bit more unusual compared to the standard LZMA. A given result cannot be reproduced, exactly byte, as with more commercial compressors. (Given compressed file size, like enwik8-10 results.) Certain switches of "Arc.exe" also affect the degree of final compression, I'm thinking here of the "-ds" switch, which is the default in principle or even if you (not) define it the final result may be different, say with "-dses/dsns" than otherwise.. LOLZ can sometimes be better without -dt/dtb, in some cases, than if we set everything to the max.

This small image shows the results of data files precompressed with xZLib+srep:m3f:a0 mode, and separately compressed to 7z, with the same compression settings. The difference between them is whether or not "-ds" or "-dses" switch was used during precompression. We would think that the end result would be the same if LZMA/LOLZ final compression were used for that archive.

Wanterlude 24-06-2023 12:43

Hi all, can anyone look at the files of the game Bramble The Mountain King, there UE4 and encrypted files inside + kraken.
I tried the latest version of the unreal plugin, but it didn't work. (xtool last ver.). With ucas database the same thing.
Can someone please see if it's the plugin not working or am I crooked?
Key:
Code:

0x0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3
//edit. woks fine with latest xtool

Masquerade 24-06-2023 15:18

Quote:

Originally Posted by Wanterlude (Post 501395)
Hi all, can anyone look at the files of the game Bramble The Mountain King, there UE4 and encrypted files inside + kraken.
I tried the latest version of the unreal plugin, but it didn't work. (xtool last ver.). With ucas database the same thing.
Can someone please see if it's the plugin not working or am I crooked?
Key:
Code:

0x0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3

Apologies if you tried already, but please may you try XTool v0.7.1 with Unreal Plugin and Oodle core v2.9.5 with this packcmd? I cpuldn't help but notice you mentioned UE4 whereas the UTOC/UCAS structure is a fearure of UE5 that got added backwards.

Code:

xtool precomp -c128mb -t50p -mue5:0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3+kraken

Wanterlude 24-06-2023 17:28

Quote:

Originally Posted by Masquerade (Post 501400)
Apologies if you tried already, but please may you try XTool v0.7.1 with Unreal Plugin and Oodle core v2.9.5 with this packcmd? I cpuldn't help but notice you mentioned UE4 whereas the UTOC/UCAS structure is a fearure of UE5 that got added backwards.

Code:

xtool precomp -c128mb -t50p -mue5:0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3+kraken

XTool v0.7.1 with Unreal Plugin and Oodle core v2.9.5
Code:

xtool precomp -c128mb -t50p -d1 -mue5:0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3+kraken
Streams: 8910 / 8910
Time: 00:00:18 (CPU 00:01:30)

Size: 6.70 GB >> 6.71 GB

Code:

xtool precomp -c128mb -t50p -d1 -mue4:0D29D2B91A3564686C106FA7A96BE98D3AA13A55C80D4E3200EE608DA2C105E3+kraken
Streams: 984 / 984
Time: 00:00:14 (CPU 00:01:01)

Size: 6.70 GB >> 6.72 GB

*xtool 0.7.2h same results

KaktoR 25-06-2023 09:07

Just read a topic about unpacking PCK files. Nothing new, honestly, but an idea came in my mind about not just unpacking them, but also encode/decode the WEMs inside the PCK files. So far, nothing new. Just wanted to know, if there is a "elegant" way instead of my idea floating in my head. Maybe somthing more "automated".

I already know that this method works and it's CRC perfect after the last step.

Code:

1. Unpack PCK files with quickbms + wwise.bms
2. Copy unpacked files to somewhere else, so you have 2 copys of them
3. Use WEMTool on the first copy in game folder
4. Null all WEM files on the second copy outside of game folder and reimport them back with quickbms to PCK files in game folder. This way you can compress the PCK files* with ~0-1% ratio
5. Compress the game with nulled PCK files* and encoded WEM files

Code:

Installing the repack
1. After installing, you have to decode all processed WEM files back to their original with WEMTool again
2. Reimport decoded WEM files and BNK files back to PCK files with quickbms import feature



All times are GMT -7. The time now is 21:35.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com