Page 1 of 3

Mirror's Edge Catalyst Beta

Posted: Mon Apr 25, 2016 5:38 pm
by OriginOfWaves
hello there other xentax folks. i've been digging through the files of the Mirror's Edge Catalyst Beta trying to extract some files. Unfortunately i had no success using the BF4 dumper or the DAI tools. I think it's because the folder structure is quite a bit different than BF4 or DAI. For instance, both Battlefield 4 and Dragon Age have all of their .cas and .cat files together in the "Data" folder, while MEC had all of it's .cat and .cas files separated into individual folders inside the "Data\Win32\gameconfigurations\" folder.

here are some screen grabs for easier understanding of my problem.
ImageImageImage

as you can see, the Data folder has no .cat or .cas files on the MEC side, while the Win32 folder is mostly similar with .sb and .toc files on both sides. the biggest difference is in the Gameconfigurations folders which are inside completely different folders and contain different file types.

I tried to edit the bf4 dumper script to point to these .cat and .cas files but it still fails, probably 'cause the .cas and .cat files are all separated and not together in one folder. Using DAI tools i can read some of the .sb files but loading .cat or .cas files always fails and gives out errors. so there are probably some changes in those files as well.

anyways, any sort of help i could get here is greatly appreciated. so let me know if you need me to upload any of the game files. thanks in advance.

Re: Mirror's Edge Catalyst Beta

Posted: Tue Apr 26, 2016 10:19 pm
by daemon1
It can be unpacked with StarWars Battlefront unpacker / decoder

viewtopic.php?f=10&t=13584

Re: Mirror's Edge Catalyst Beta

Posted: Wed Apr 27, 2016 12:59 pm
by OriginOfWaves
thanks for pointing me to it. i'll try it out.

Update: unfortunately after setting up the directories for the dumper script, it only manages to dump 8 GB out of 12 GB. there are a lot of empty folders and the mesh and chunk management tool was only able to find a few matching chunks. i tried importing some meshes with corresponding chunks into 3ds max with BF4 script but it does nothing on import. looks like they made some changes from the SW Battlefield. so maybe all the tools and scripts need some updating to be able to work with MEC.

Re: Mirror's Edge Catalyst Beta

Posted: Sun May 01, 2016 9:27 pm
by dainazinas
OriginOfWaves wrote:thanks for pointing me to it. i'll try it out.

Update: unfortunately after setting up the directories for the dumper script, it only manages to dump 8 GB out of 12 GB. there are a lot of empty folders and the mesh and chunk management tool was only able to find a few matching chunks. i tried importing some meshes with corresponding chunks into 3ds max with BF4 script but it does nothing on import. looks like they made some changes from the SW Battlefield. so maybe all the tools and scripts need some updating to be able to work with MEC.

Can you share your dumper script and main python folder. As I only get 4257 empty folders and 0 files when I use the above mentioned BF4 dumper. If I get mesh and chunk files I might adjust my maxscripts to work with these, thx.

Re: Mirror's Edge Catalyst Beta

Posted: Sun May 01, 2016 10:19 pm
by StreamThread
i'm extract with all standard settings and have only 2,89 gb of extracted data - no more .ebx files and textures with names, and 2,57 gb of chunks.

Re: Mirror's Edge Catalyst Beta

Posted: Sun May 01, 2016 11:12 pm
by dainazinas
1. adding/replacing(swbf) these lines to row 23 seems to help the extractor a bit
cat1Path = r"Data\Win32\gameconfigurations\downtownnorthinstallpackage\cas.cat"
cat2Path = r"Data\Win32\gameconfigurations\prisonexteriorinstallpackage\cas.cat"
cat3Path = r"Data\Win32\gameconfigurations\releaseinstallpackage\cas.cat"
cat4Path = r"Data\Win32\gameconfigurations\downtownsouthinstallpackage\cas.cat"
cat5Path = r"Data\Win32\gameconfigurations\backinthegameinstallpackage\cas.cat"
cat6Path = r"Data\Win32\gameconfigurations\cityglobalinstallpackage\cas.cat"
cat7Path = r"Data\Win32\gameconfigurations\cityrevealinstallpackage\cas.cat"
cat8Path = r"Data\Win32\gameconfigurations\initialinstallpackage\cas.cat"
2. Here is updated version of Mesh and chunk file tool
https://dl.dropboxusercontent.com/u/881 ... Reader.exe

Re: Mirror's Edge Catalyst Beta

Posted: Mon May 02, 2016 4:05 pm
by daemon1
dainazinas wrote:Can you share your dumper script and main python folder. As I only get 4257 empty folders and 0 files when I use the above mentioned BF4 dumper.
Because you DON'T have to use BF4 dumper. Use Star Wars dumper. The link is up there.

Re: Mirror's Edge Catalyst Beta

Posted: Sat Jul 02, 2016 2:16 pm
by kkdf2
daemon1 wrote:It can be unpacked with StarWars Battlefront unpacker / decoder

viewtopic.php?f=10&t=13584
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)! fyi, game's Data&Patch folder contain 22.8GB

And, anyone is trying to extract more data like modelling data from raw chunk files? If you have, please share it... :wink:

Re: Mirror's Edge Catalyst Beta

Posted: Sat Jul 09, 2016 2:47 pm
by lolbas
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

Re: Mirror's Edge Catalyst Beta

Posted: Mon Jul 11, 2016 4:35 pm
by kkdf2
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

Re: Mirror's Edge Catalyst Beta

Posted: Thu Jul 28, 2016 5:39 pm
by OriginOfWaves
phew finally found some time to share my progress on this front. these are some of the meshes and textures that i was able to obtain form the Demo, thanks to the edited BF4 dumper script and Shakotay's Hex2Obj app (thanks a bunch Shakotay for all the help you provided).

Image

Re: Mirror's Edge Catalyst Beta

Posted: Thu Jul 28, 2016 10:03 pm
by redspike474
Looking awesome, any idea if shaders accessible in any of these recent dice games?
I sure would like to take a look.
I guess its rare that games come with uncompiled shaders these days, but the recent doom, division and watchdogs did!

Re: Mirror's Edge Catalyst Beta

Posted: Fri Jul 29, 2016 2:32 pm
by OriginOfWaves
not to my knowledge. the Frostbite engine is pretty locked up. i remember having to go through multiple hoops just to mod a tiny bit of Dragon Age Inquisition. but i can tell you the basics about how Frostbite shaders handle different materials like cotton, metal, leather. they use color mask maps to identify different materials. they look something like this.
Image
in this example the red parts are where the shader applies a shiny leather material, green is for a simple cotton material and blue is for a faux leather material. these color maps are always red, green and blue and sometimes with an alpha layer for further control, but which material they represent differs from example to example.

Re: Mirror's Edge Catalyst Beta

Posted: Mon Aug 15, 2016 2:46 pm
by OriginOfWaves
uploaded Faith models and drones to dropbox. they are .obj's with textures, no bones.

https://www.dropbox.com/sh/qolc2o7tt5y4 ... U3IHa?dl=0

Re: Mirror's Edge Catalyst Beta

Posted: Tue Aug 16, 2016 1:10 am
by trexjones
Great work, dude! Can't wait to see how this goes!