View Single Post
  #7  
Old 23-10-2021, 02:53
Masquerade Masquerade is offline
Registered User
 
Join Date: Jan 2020
Location: Monte d'Or
Posts: 1,217
Thanks: 294
Thanked 1,404 Times in 637 Posts
Masquerade is on a distinguished road
KaktoR
You can use the following tools to extract all of the compressed ZSTD streams from NieR replicant. It will allow for decompression of 99% of streams.

1. VGM Toolbox and this script. Download latest zstd.exe.

2. Place the XML file in plugins\AdvancedCutter folder of VGMToolbox.

3. Open VGMToolbox, go to Misc. Tools > Extraction Tools > Generic > Advanced Cutter

4. From the drop down menu in the top right, select NieRReplicant and click LOAD.

5. Next, you can drop each of the arc files into the top left box and it will extract the streams. You only really need to do this for the large arc files. No need on the little ones.

6. After extracting the streams, run this python script for each of the files. This will remove the extra padding bytes (@) that the devs added so that each stream begins at an offset of divisible by 16. ZSTD will not decompress files that contain data after the end of the stream.

Code:
for %f in (*.MSQ) do trimmer.py "%f"
Ignore that it involves .MSQ extension. You can switch it to .TMP or whatever.

7.
Code:
for /r %f in (*.MSQ) do zstd -d "%f" -o "%~df%~pf%~nf.DEC"
This will use zstd to decompress the streams. Afair it fails on about 16 streams out of ~7800, but you can decompress most of the game this way.
Reply With Quote
The Following User Says Thank You to Masquerade For This Useful Post:
KaktoR (23-10-2021)