Featured Post
Deus Ex - Extraction Guides (Master Post)
Deus Ex (2000) Extract Audio Extract Textures & Models Deus Ex: The Conspiracy (2002) Extract Video Deus Ex: Invisible War (2003) Extrac...
Saturday, 18 March 2023
Deus Ex: Mankind Divided - Extract Textures & Models
Note: In this post, I will not be covering how to unpack the game content as I have already covered this before in a previous post. You must unpack the game files before starting here, so for instructions on how to do that please follow the other guide I created, and then come back to this post which is purely focusing on textures and models.
Exporting textures to .png using DEMDDatabase
- Run DEMDDatabase.exe and open the unpacked database from the DXMDExtract extraction
- In the file tree, search for the texture(s) you want, for example for character textures, they are usually found under characters > {character you want} > {character you want}_material, etc.
- Select the .tex file and go to File > Export as... > and then you can save the individual texture
Exporting meshes using DEMDDatabase
- Similar to the above, character models can be exported following the same method, just instead of going into the character materials, go back one step and find the character model file. This can be exported as an .obj file
- You can also export all the textures and meshes for a specific character by going to their parent node in the tree > File > Mass fast export.Note: This will not work unless you set your fast export savepath. To do this, go to File > Settings > Fast export tab > select the folder you wish to save to, and you can also change the automatic Image format and Models format from here too
This provides the basis of extracting meshes, but anything more complicated such as functional wireframes and animations goes beyond the scope of this instruction guide. It is possible to load and combine the different mesh parts and material textures into Blender (or preferred 3D software):
Tools
- Blender:
https://www.blender.org/download - DXMD Model - Pure Hair:
https://drive.google.com/file/d/1Ifqkcfbg2r8NdGSLgWkBlunfrv6Ob1Ox/view?usp=drive_link
Upcoming
Deus Ex: Mankind Divided - Extract Audio & Video
Note: All tools used are linked at the bottom of the post.
- How to extract content from the game and locate audio and video files
- How to convert the audio and video into viewable formats
- Extracting the files from the game using DXMD Extract
- Browsing the contents of the extracted files using DEMDDatabase
- Convert unsorted audio files with HxD
- Extract unsorted audio files containing music layers with Game Extractor
- Extract specific audio (i.e. conversational dialogue) with DEMD Database
- Fix corrupted .ogg audio files with QuickBMS
- Convert unsorted video files (cinematics, loading screens) with HxD
- Extract and split audio tracks from .bk2 files with VGMToolbox
- Convert the audio streams using RAD Video Tools
- Convert the audio streams using VLC Media Player
- Convert the video stream using RAD Video Tools
- Combine the video stream and the audio streams using FFmpeg
- Final results
Extracting the files from the game using DXMD Extract
- Unpack the DXMDExtract archive and move DXMDExtract.exe to the installation location for the game,
for example, for the Steam version:
Main game: Steam\steamapps\common\Deus Ex Mankind Divided\runtime
DLC: Steam\steamapps\common\Deus Ex Mankind Divided\DLC\runtime
- In that same folder, create a new text file. Open it in a text editor, and enter the following
line:
DXMDExtract . .\extracted
Example: - Save and exit, and then rename the file to unpack.bat
- Double-click on it, and then the Command Prompt will appear and begin to unpack the game
Browsing the contents of the extracted files using DEMDDatabase
- Unpack the DEMDDatabase archive and run DEMD Database.exe
- File > Open > Open unpacked DB
- Navigate to the NameMap.txt file from the extracted folder created previously when unpacking with DXMDExtract
- After loading, the file trees are now displayed graphically and can be browsed, for example if you’re searching for conversational dialogue, you can expand the file list until you find what you need
Convert unsorted audio files with HxD
- Navigate to the runtime folder for either the main installation of Mankind Divided or the DLC runtime folder. Here the audio and video files appear to be unsorted and scattered. Audio files have the extension .pc_fsbm
-
Save the file with HxD editor, this will automatically create a backup of the original .pc_fsbm file in the same folder
-
As a .fsb file, it can now be converted to.wav using vgmstream or FSB Extractor - this is covered in detail in my other guide on extracting audio and video from Deus Ex: Human Revolution - the process is identical.
Extract unsorted audio files containing music layers with Game Extractor
- Download and install Game Extractor, and run the tool.
- One open, you will see a file browser on the right panel; browse to your game runtime where all of the .pc_fsbm files are located. It may help to already copy all the .pc_fsbm files to a specific folder to work from if you don't want to clutter up the main folder.
- The browser should now list all the .pc_fsbm files. From this view you can double click one, and on the central panel, a new list will display of the file contents in .ogg format, which are music layers. With this information you will be able to find the missing files that were listed in the NameMap but not displayed in the DEMD DB file tree.
- You can extract the contents of that .pc_fsbm by clicking the icon at the top which looks like a floppy disk with a green arrow pointing at a file.
- After clicking the button, a section underneath the file browser on the right will appear, where you can input the extraction directory. To the right of that input field are two more buttons which look the same as before. The first one will extract the individual selected file from the archive only, and the second one will extract all files from the archive instead.
- Click the one you want, and the files should be saved inside the extraction directory you specified as .ogg files.
- Repeat the process for the other .pc_fsbm files you want to extract. As the music for some areas in the game are divided up into multiple layers (some more than others), you may have to import every layer and downmix them into one stereo file in an audio editing software like Audacity, similarly to how I demonstrated with the cutscene audio layers in this section
Extract specific audio (i.e. conversational dialogue) with DEMD Database
- For a more targeted approach, the NameMap.txt file that is generated from the DXMD Extraction comes in useful as it lists every file and where they can be found within the file tree
- Opening it with a text editor and using the find function can help narrow down the search, in this instance I was searching for a specific conversation, and in the .txt file it is called dlc_1_441_con. I was able to find this easily in the file tree
-
It is possible to export the entire conversation in one go, but in order to do that the fast export savepath needs to be set first. To do this, go to File > Settings
Fix corrupted .ogg audio files with QuickBMS
- Assuming you've already extracted the game files using the above instructions, and you have DEMD
Database set up to explore the extracted content, you need to find the problematic audio files again
in the file tree. You should have the names of the corrupted audio already from the failed
conversion, so just search for the name.
- After you find it, check the right panel for more information. The first line should display a long
string of numbers and letters, a forward slash and then another string of text followed by a .bin
extension. The second line displays the name of the file. We need the first line, as these strings
are pointing to a path to where the audio is actually located. The first section is the
name of the .pc_headerlib file the audio was contained within, and the second section the name of
the .bin file that contained the actual audio.
- In your game directory, go to the /extracted folder made earlier when extracting the game where the
NameMap.txt is located (either the default runtime or DLC runtime, in this case I've extracted from
the DLC). In this folder, you should be able to find a subfolder with a name that matches the first
section of the path displayed in the panel. Within that folder, should be the .bin file with the
audio. You can also use the search function and type the .bin names in manually to find the files.
- Depending on how many corrupted files you may need to repeat this process again, for me I had
multiple corrupted audio within the same dialogue "conversation", so all the .bin files I needed
were located within just one folder. I copied these .bin files to my Desktop so I could continue
working outside of the game installation files.
- Next you need to create a script file for converting the .bin files into .fsb audio files. You can
do this by opening up Notepad or any text editor of your choice, pasting this code in, and then saving it as a .bms file.
- Download and extract QuickBMS. In the QuickBMS folder, place the bin2fsb script and also make a
subfolder called extraction.
- Run QuickBMS.exe - when prompted, select the script you created, the input files (.bin files),
and the output destination (extraction subfolder) and continue. The progress will display for every
file selected as well as any errors.
- Once done, various .fsb audio files should have been extracted in the output folder set.
- To convert the .fsb files to .wav you need to use vgmstream. Download and extract vgmstream on your
computer, and either drag each of the .fsb files one-by-one onto vgmstream-cli.exe or create a batch
script, making sure to set the path to match where vgmstream-cli.exe is located on your drive, like
so:
FOR /R
%%a IN (*.fsb) DO "...\vgmstream-cli.exe" -l 2 -f 10 -o "%%a.wav" "%%a"
- To run the batch convert, first place all the .fsb files into the vgmstream folder, and then
double-click the .bat file.
- The audio should now all be converted to playable .wav files in the same folder.
- This step is optional, but I found that it helped with organising, I renamed each of the .wav file
to match the corresponding name in DEMD Database.
- I opened one of the .wav files in Audacity to compare it to the corrupted ones. The properly
converted .wav files appear to have multiple layers of audio, the first two being the stereo channel
for the voice, the second two appearing empty, and the third two with environmental effects such as
reverb and echo. The corrupted ones are just one channel with various peaking blips and noise. Here
are screenshots of the difference:
- Assuming you've already extracted the game files using the above instructions, and you have DEMD
Database set up to explore the extracted content, you need to find the problematic audio files again
in the file tree. You should have the names of the corrupted audio already from the failed
conversion, so just search for the name.
- After you find it, check the right panel for more information. The first line should display a long string of numbers and letters, a forward slash and then another string of text followed by a .bin extension. The second line displays the name of the file. We need the first line, as these strings are pointing to a path to where the audio is actually located. The first section is the name of the .pc_headerlib file the audio was contained within, and the second section the name of the .bin file that contained the actual audio.
- In your game directory, go to the /extracted folder made earlier when extracting the game where the NameMap.txt is located (either the default runtime or DLC runtime, in this case I've extracted from the DLC). In this folder, you should be able to find a subfolder with a name that matches the first section of the path displayed in the panel. Within that folder, should be the .bin file with the audio. You can also use the search function and type the .bin names in manually to find the files.
- Depending on how many corrupted files you may need to repeat this process again, for me I had multiple corrupted audio within the same dialogue "conversation", so all the .bin files I needed were located within just one folder. I copied these .bin files to my Desktop so I could continue working outside of the game installation files.
- Next you need to create a script file for converting the .bin files into .fsb audio files. You can do this by opening up Notepad or any text editor of your choice, pasting this code in, and then saving it as a .bms file.
- Download and extract QuickBMS. In the QuickBMS folder, place the bin2fsb script and also make a subfolder called extraction.
- Run QuickBMS.exe - when prompted, select the script you created, the input files (.bin files), and the output destination (extraction subfolder) and continue. The progress will display for every file selected as well as any errors.
- Once done, various .fsb audio files should have been extracted in the output folder set.
- To convert the .fsb files to .wav you need to use vgmstream. Download and extract vgmstream on your
computer, and either drag each of the .fsb files one-by-one onto vgmstream-cli.exe or create a batch
script, making sure to set the path to match where vgmstream-cli.exe is located on your drive, like
so:
FOR /R %%a IN (*.fsb) DO "...\vgmstream-cli.exe" -l 2 -f 10 -o "%%a.wav" "%%a"
- To run the batch convert, first place all the .fsb files into the vgmstream folder, and then double-click the .bat file.
- The audio should now all be converted to playable .wav files in the same folder.
- This step is optional, but I found that it helped with organising, I renamed each of the .wav file to match the corresponding name in DEMD Database.
- I opened one of the .wav files in Audacity to compare it to the corrupted ones. The properly converted .wav files appear to have multiple layers of audio, the first two being the stereo channel for the voice, the second two appearing empty, and the third two with environmental effects such as reverb and echo. The corrupted ones are just one channel with various peaking blips and noise. Here are screenshots of the difference:
Convert unsorted video files (cinematics, loading screens) with HxD
- Before starting, you need RAD Video Tools (Bink Video Player) to play the videos after converting them. Download and install it, as you'll need it for the next section of this guide to convert the audio streams from the video.
- Navigate to the runtime folder for either the main installation of Mankind Divided or the DLC runtime folder. Here the audio and video files appear to be unsorted and scattered. Video files have the extension .pc_binkvid
-
Save the file with HxD editor, this will automatically create a backup of the original .pc_binkvid file in the same folder
Extract and split audio tracks from .bk2 files with VGMToolbox
- Open VGMToolbox > Misc. Tools > Stream Tools > Video Demultiplexer > Options > set the Format to BIK (Bink Video Container) > check Split Audio Tracks > check Extract Audio and Video
- Drag and drop the .bk2 file you want to extract into the grey area and it will automatically run with the options set
Convert the audio streams using RAD Video Tools
- Open RAD Video Tools > navigate to and select every .audio.split.bik file you want to convert > Convert a File > Yes to Batch Process dialogue box if you are converting multiple files
Convert the audio streams using VLC Media Player
- Open VLC Media Player > Media > Convert/Save
-
The .bik file should now be converted into a .wav file and can be found in your set destination folder
Convert the video stream using RAD Video Tools
- Open RAD Video Tools > navigate to and select the original .BK2 file you want to convert > Convert a File
- Within the Bink Converter window > change the Output Type to .MP4 > leave the other settings as default > make sure Audio is NOT selected > click the Convert button on the right
- A window will appear showing the progress of the conversion
- The .BK2 file should now be converted to an .MP4 file without audio
Combine the video stream and the audio streams using FFmpeg
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
ffmpeg -i 2B4301F00CBF6612436EB95C599AAFC3.mp4 -i 2B4301F00CBF6612436EB95C599AAFC3_00000000.audio.merge.wav -c:v copy -shortest output.mp4
To understand the command, the video and audio are set as inputs (filename will be different depending on which files you are doing this with), it will copy the same codec settings to avoid quality loss, it will cut to the shortest stream length to avoid overrunning if the lengths differ, and the output name will simply be output.mp4:
Tools
- DXMDExtract:
https://sktest.aruarose.com/DXMDExtract_v002.7z - DEMDDatabase:
https://disk.yandex.com/d/qUxdTmJa3MxHEs - QuickBMS:
https://aluigi.altervista.org/papers/quickbms.zip - QuickBMS bin2fsb script:
https://gist.github.com/criminalelements/bbeea8faa8980eb652fe3a1e9b82e209#file-bin2fsb-bms - vgmstream (make sure the version you use is bundled
with foobar2000):
https://github.com/vgmstream/vgmstream/releases/download/r1951/vgmstream-win64.zip - HxD:
https://mh-nexus.de/en/hxd - GameExtractor (make sure you get release version 3.16 which has .pc_fsbm to ogg support):
https://sourceforge.net/projects/gameextractor - RAD Video Tools:
http://www.radgametools.com/bnkdown.htm - VLC Media Player:
https://www.videolan.org - FFmpeg:
https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z