lolbas wrote:kkdf2 wrote:Thanks, it succeeded to export 14,863 chunks (6.20GB!), and 8,557 (4.75GB!) wav files from retail version of Mirror's Edge Catalyst (Origin PC)!
Excuse me, but how do you use that tool? I seem to miss some tutorial on that app
Hi.
We can try it but I'm not sure whether we can acquire satisfied output from extraction for now...
What I have tried:
- Obtain swbf.rar from
viewtopic.php?f=10&t=13584
- Explode it.
- Edit
swbf_dump/sw_dumper.py
Line 5-7:
Code: Select all
#Adjust paths here.
bf4Directory=r"H:\Program Files (x86)\Origin Games\Mirrors Edge Catalyst"
targetDirectory = r"H:\MEC"
Line21-30: (Updated 2016/08/29)
Code: Select all
#Feel free to comment out one or both cats if they don't exist (some Frostbite 2 games shipped without cats).
#Although in that case you could just as well use an invalid path, i.e. not change anything.
cat1Path = r"Data\Win32\gameconfigurations\anchorinstallpackage\cas.cat"
cat2Path = r"Data\Win32\gameconfigurations\backinthegameinstallpackage\cas.cat"
cat3Path = r"Data\Win32\gameconfigurations\cityglobalinstallpackage\cas.cat"
cat4Path = r"Data\Win32\gameconfigurations\cityrevealinstallpackage\cas.cat"
cat5Path = r"Data\Win32\gameconfigurations\defaultinstallpackage\cas.cat"
cat6Path = r"Data\Win32\gameconfigurations\downtownnorthinstallpackage\cas.cat"
cat7Path = r"Data\Win32\gameconfigurations\downtownsouthinstallpackage\cas.cat"
cat8Path = r"Data\Win32\gameconfigurations\initialinstallpackage\cas.cat"
cat9Path = r"Data\Win32\gameconfigurations\prisonexteriorinstallpackage\cas.cat"
cat10Path = r"Data\Win32\gameconfigurations\releaseinstallpackage\cas.cat"
cat11Path = r"Data\Win32\gameconfigurations\rezoninginstallpackage\cas.cat"
#updateCatPath = r"Update"
around line 274 (Added 2016/08/29)
Code: Select all
#make the paths absolute and normalize the slashes
for path in "cat1Path", "cat2Path", "cat3Path", "cat4Path", "cat5Path", "cat6Path", "cat7Path", "cat8Path", "cat9Path", "cat10Path", "cat11Path", "updateCatPath", "tocRoot", "tocRoot2":
if path in locals():
locals()[path]= os.path.normpath(bf4Directory+"\\"+locals()[path])
around line 291 (Added 2016/08/29)
Code: Select all
cat=dict()
try: readCat(cat, cat1Path)
except: print "cat1Path cat not found."
try: readCat(cat, cat2Path)
except: print "cat2Path cat not found."
try: readCat(cat, cat3Path)
except: print "cat3Path cat not found."
try: readCat(cat, cat4Path)
except: print "cat4Path cat not found."
try: readCat(cat, cat5Path)
except: print "cat5Path cat not found."
try: readCat(cat, cat6Path)
except: print "cat6Path cat not found."
try: readCat(cat, cat7Path)
except: print "cat7Path cat not found."
try: readCat(cat, cat8Path)
except: print "cat8Path cat not found."
try: readCat(cat, cat9Path)
except: print "cat9Path cat not found."
try: readCat(cat, cat10Path)
except: print "cat10Path cat not found."
try: readCat(cat, cat11Path)
except: print "cat11Path cat not found."
if "tocRoot" in locals(): dumpRoot(tocRoot)
if "tocRoot2" in locals(): dumpRoot(tocRoot2)
- Launch sw_dumper.py thru
IDLE (Python GUI) of Python 2.7
For some .wav files extraction:
- Edit
fb3decoder/fb3decoder.py.
Line20-25:
Code: Select all
#Choose where you dumped the files and where to put the decoded audio:
dumpDirectory = r"H:\MEC"
targetDirectory = r"H:\MEC\snd"
#Download Zench's tool so the script can handle EALayer3.
ealayer3Path=r"H:\DL\swbf\fb3decoder\ealayer3.exe"
around line 294, add
0xc11d:("q",8) to numDict: (Added 2016/08/30)
Code: Select all
numDict={
0xC12D:("Q",8),
0xc0cd:("B",1),
0x0035:("I",4),
0xc10d:("I",4),
0xc14d:("d",8),
0xc0ad:("?",1),
0xc0fd:("i",4),
0xc0bd:("b",1),
0xc0ed:("h",2),
0xc0dd:("H",2),
0xc13d:("f",4),
0xc11d:("q",8), #unknown
}
- Launch
fb3decoder/fb3decoder.py. Using
IDLE (Python GUI) of Python 2.7 is useful for printing export progress.
-
We will get some wav files. But I think many sounds are still unextracted in current status. We can get most wav files including game music. 61,415 files in 28GB. It took 3 days for extraction. (Updated 2016/09/04)
For texture (.dds, direct draw surface?) extraction: (2016/09/06 Updated)
- Obtain
Batch_Itexture_Converter.exe from somewhere.
- [Select Itexture] H:\MEC\bundles
2330 6433 or such
- [Select Chunk] H:\MEC\chunks
14863 53239 or such
- [Get DDS Files]
2330 6433 or such
- We will get some dds files. However most of them are unreadable with my usual tools.
I have tested some tools to preview DX10 dds texture files: (2016/09/06 Added)
- DirectX Texture Tool (64-Bit) in Microsoft DirectX SDK (June 2010)\DirectX Utilities (64-Bit)
→ An error occurred trying to open that file.
- DDS Viewer from ddsviewer.com
→ DDS Viewer has stopped working
- NVIDIA Corporation\DDS Utilities\readdxt.exe
→ generates transparent tga. is it correct?
- Windows Texture Viewer from nvidia.com
→ show nothing.
- PicoPixel-0.6.11-x86-installer.exe from pixelandpolygon.com
→ can preview!
- texconv.exe from github.com Microsoft/DirectXTex
→ can convert!
texconv.exe usage sample:
Code: Select all
texconv.exe -o %USERPROFILE%\Desktop -ft png "H:\MEC\bundles\res\characters\enemy\drone_hunter\t_drone_hunter_d d3286deeb3eca4ed 0b000000010000000000000000000000.dds"
Microsoft (R) DirectX 11 Texture Converter (DirectXTex version)
Copyright (C) Microsoft Corp. All rights reserved.
reading H:\MEC\bundles\res\characters\enemy\drone_hunter\t_drone_hunter_d d3286deeb3eca4ed 0b000000010000000000000000000000.dds (2048x2048 BC1_UNORM_SRGB 2D) as (2048x2048 R8G8B8A8_UNORM_SRGB 2D)
writing C:\Users\Sola\Desktop\t_drone_hunter_d d3286deeb3eca4ed 0b000000010000000000000000000000.PNG