Originally Posted by elit
Here is how it work today:
You install the game to get its individual files in folder. First, nowadays we have many specialized compressors, we have bpk for compressing bik/bk2 (bink) videos, we have mpz for mp3 files, we have oggre for ogg files, we have packjpg for jpg files and some others but these count most.
So you use their respective compressors for those. Next we replaced internal lzma of FA for 64bit variant(to allow bigger dictionaries etc). XZ/7zip is one choice, I made xnlz by modifying plzip to get as close to FA:xlzma experience as possible in terms of speed and features, however you can also use FA's default its not that big difference.
Bigger difference is from lolz which can pull ~10% better to lzma. Lolz is a general purpose compressor but specialized on textures using lzma with additional cm modeling for textures/images, whose can detect within files, so its good for games. Its slower so you may combine it with lzma for different files. Its not really better outside of textures than lzma thats why.
As you may noticed, I spoke lot about specialization and individual files, thats the game now. If game files are in packs and compressed, then(and only then) you need tools like ztool, xtool,punity or precomp. In fact for precomp I dont see much purpose anymore, it doesnt support stdio and is generally slower, really tools from Razor is all about. Also, often you may need to go deeper and extract/repack game files using quickbms scripts and other tools, for example you can only compress XCOM2 WotCh that way as it use oodle compression.
I forgot, there are also specialized precomps for certain engines, uelr for Unreal's lzo, afr for anvil(Ubisoft's .forge) lzo, xtool for CRI, punity for Unity's lz4. Ztool is for older lzo/zstd/lz4 but work always for pzlib/deflate.
To scan files you can use GFS scanner or my lz_scan, GFS have nice UI but is buggy and unstable in anything other than zlib/deflate. lz_scan also support afr/uelr scan.
Srep you use latest 393a 64bit, FA 0.67 as it fixed *lot* of bugs and added features, dont even think about anything lower.
Finally, you generally use default internal delta of FA on all but images/textures. As for xdelta, this has to do with recomposing CRC matched files back. For example, before xtool you would have to use quickbms with cpk.bms to extract .cpk files. When you repack them back they were not same because of header data change so you would use xdelta for that final touch. Same goes for recompressing .wem files. Other than that I dont see much point for xdelta compression itself, its all about canceling duplicates and srep is already doing that AFAIK(FitGirl you may want to step here to explain better if I am wrong).
1. What is DELTA and when to use it?
A: delta type compression for canceling duplicates and get diffs, use always except on textures, or never, usually no big deal
2. When to use what precompressor or any of the programs following? (precomp, srep, pzlib, ztool, xtool, PrecompMT, msc )
I have seen different versions of precompressors delivering different results. Sometimes older versions worked better than newer ones?
A: first forget precomp(MT),pzlib,msc and all that crap, just use:
ztool for deflate/pzlib,lzo,lz4,zstd(last 3 will likely not work on newest games)
xtool for deltate/pzlib,CRI
punity for *some* unity games
uelr for most unreal games(.tfc, .upk...)
afr for anvil games
srep always, its for data deduplication not a recompressor
3. Why is FreeArc alsways the recommended tool? Depending on my files I got better results with also 7z (lzma2) and rar? Is it because of the ease of use for external compressors?
A: Because FA is so much more that that. I dont think you can use bpk+oggre+mpz+packjpg+uelr+srep+lzma in one go, on files sorted with one of many advanced ways best fitting its game files structure, in anything else other than FA or based on FA, can you? You can use 7zip as external LZMA within FA if you like.
4. Whats are the benefits of xz? (In my unterstanding its just a container, am i right?)
A: Same as 7zip or xnlz, 64bit support
5. Is there any benefit in using FreeArcs successor (FreeArcNext(?)?)
A: Its still early alpha/beta and lack feature I believe. Its also not (supposed) to be free once finished. My personal opinion is that Bulat pretty much killed his own legacy, almost nobody will use it and he is wasting his time.
6. Most importantly: Are there any already written guides that I have missed that have answers to my questions?
A: Start reading threads on all mentioned tools upside down both here and on encode.ru. In fact, read this whole site(and encode). Then learn Russian and read whole Krinkels.org website. Then (and only then), you will become Jedi.
So thats about it. As you see its not anymore old times when you could just precomp+(srep)+FA and thought you done. Today its much more complicated and often exotic practices are required. Good luck.
|