Page 27 of 36

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Sun Sep 18, 2011 7:09 pm
by lapdragon
JohnBloggs wrote:its not there :? all files have names, not hashes. the only file with a "pi" at the beginning in this folder is pirate_radio.drm
You're missing a LOT of files - I have 10 "pi" files (including pirate_radio.drm) in the root folder of my extract.
How many total files do you have in your extract of the bigfile?
Mine is 15,975 files and 6,161 folders



WOW, Rick!
You completely ID'd the entire bigfile_english today?
Now to just iron out those last few mystery files in bigfile.000 and you'll have the whole thing licked :-)

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Sun Sep 18, 2011 8:56 pm
by JPulowski
Is there a way to decode "locals.bin" file?

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Sun Sep 18, 2011 9:57 pm
by JohnBloggs
lapdragon wrote:You're missing a LOT of files - I have 10 "pi" files (including pirate_radio.drm) in the root folder of my extract.
How many total files do you have in your extract of the bigfile?
Mine is 15,975 files and 6,161 folders
i have 6,555 files in 2,703 folders. upon unpacking the file again i saw that it crahes halfway through the unpacking, i didnt notice it the first time because i let it run in the background
Image
does anybodyhave a similiar problem?

sorry if the image to large, i couldnt find any hide or spoiler tags

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Sun Sep 18, 2011 10:15 pm
by mnn
JPulowski wrote:Is there a way to decode "locals.bin" file?
That file is actually pretty simple.

Code: Select all

class LangHeader
{
    public int languageID;
    public int headerSize; // 12 bytes
    public int entryCount;
}

class StringEntry
{
    public int offset;
    public string value;
}
Loading (pseudo)code:

Code: Select all

readHeader();

entries = new StringEntry[header.entryCount];

for (i = 0; i < header.entryCount; i++)
{
    entries[i].offset = readInt32();
}

for (i = 0; i < header.entryCount; i++)
{
    entries[i].value = readString();    // standard null-terminated string
}
Strings are stored in UTF8, if I remember correctly.

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 12:03 am
by lapdragon
JohnBloggs wrote:
lapdragon wrote:You're missing a LOT of files - I have 10 "pi" files (including pirate_radio.drm) in the root folder of my extract.
How many total files do you have in your extract of the bigfile?
Mine is 15,975 files and 6,161 folders
i have 6,555 files in 2,703 folders. upon unpacking the file again i saw that it crashes halfway through the unpacking, i didn't notice it the first time because i let it run in the background
does anybody have a similar problem?

sorry if the image to large, i couldn't find any hide or spoiler tags
Lol, you're having the same problem Lazarus is - your output path is too long.
You need to output your unpack command to a directory off the root of one of your drives.
Copy the following commands into a batch file - put the batch file and all of the DXHR tools files into the same directory as the source bigfiles, then all you have to do is run the batch and it'll do the rest.

Code: Select all

RebuildFileLists.exe
Gibbed.DeusEx3.Unpack.exe -o bigfile.000 d:\dxhr_unpack\bigfile
Gibbed.DeusEx3.Unpack.exe -o bigfile_english.000 d:\dxhr_unpack\bigfile_english
Gibbed.DeusEx3.Unpack.exe -o patch0.000 d:\dxhr_unpack\patch0
Gibbed.DeusEx3.Unpack.exe -o patch1.000 d:\dxhr_unpack\patch1

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 12:34 am
by Lazarus
O.K. Lapdragon, I've finally managed to get the bigfile.000 unpacked ( many thanks for your .bat file suggestion :D ). Next I used DRMEdit to view the various DTPData "subfiles" contained within the pickup_database.drm file. Following your instructions on page 21, I selected and saved a few of the DTPData "subfiles" as .dat files for viewing/editing in EditPad Pro. That's where my "noobness" once again reared its vile head. :?

As I indicated earlier, one of things I'm trying to do is change the stack sizes of some of the consumable items, e.g. painkillers. I'm only vaguely familiar with hex editing, but I can convert decimal to hexadecimal and back again. So if the normal stacksize for painkillers is 5 ( 05 in hex ), is it simply a matter of finding that byte in the file below, and changing it to say 10 ( 0A ) with EditPad Pro?

Image

Once that's been accomplished, how do I go about "repacking" the edited InventoryItems\painkillers.dat file back into the original pickup_database.drm file, and then incorporating the pickup_database.drm file into the patch1.0000 file?

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 1:24 am
by lapdragon
Lazarus wrote:O.K. Lapdragon... <snip>

As I indicated earlier, one of things I'm trying to do is change the stack sizes of some of the consumable items, e.g. painkillers. I'm only vaguely familiar with hex editing, but I can convert decimal to hexadecimal and back again. So if the normal stacksize for painkillers is 5 ( 05 in hex ), is it simply a matter of finding that byte in the file below, and changing it to say 10 ( 0A ) with EditPad Pro?

Once that's been accomplished, how do I go about "repacking" the edited InventoryItems\painkillers.dat file back into the original pickup_database.drm file, and then incorporating the pickup_database.drm file into the patch1.000 file?
You're mostly correct - the only reason you've extracted the painkillers.dat at all is so that you can isolate the painkillers info out of the whole pickup_database.drm, which gets very confusing to look at. You'll actually be editing the whole pickup_database.drm in Editpad (which is where having Editpad's tabs is a miracle).

Open both files in Editpad, then hit ctrl+f to open the "find" function at the bottom (and then hit the little magnifying glass icon, to fully expand the find panel - you only have to do that once tho)

For Painkillers, I'd search for "CE 3C CF 3C 01 01 00 00", which is the 8 bytes just in front of the stack size byte - those 8 bytes are pretty much unique for every item, so they're good for finding your items in the pickup_database.drm. After I've found it, I change the bytes (there's actually 2 bytes to the stack size) to what I want - up to "FF 00" for 255 items to the stack, or "FF FF" for 65k items to the stack. If you're going for a number over 255, you'll need to invert the bytes - for example, 5000 is 1388 in hex, but in the game files it would have to be entered as "88 13".

After you've made your changes to the pickup_database.drm, save it to the same place in the directory structure in a copy of the patch1.000 unpack, then drag/drop that unpack folder onto Gibbed.DeusEx3.Pack.exe, and then change the name of the resultant file to patch1.000.

As that probably made no sense, I'll break the whole process down a little. :-P

1.) Unpack bigfile.000 (c:\DXHR_Unpack\bigfile)
2.) Unpack patch1.000 (c:\DXHR_Unpack\patch1)
2a) Back up your original copy of patch1.000
3.) Make a copy of your patch1 directory (c:\DXHR_Unpack\patch1_copy)
3.) Find and edit pickup_database.drm (c:\DXHR_Unpack\bigfile\default\pc-w\pickup_database.drm)
4.) Save your edited pickup_database.drm into your copied patch1.000 directory (c:\DXHR_Unpack\patch1_copy\default\pc-w\pickup_database.drm)
4a) DO NOT SAVE YOUR EDITS TO THE ORIGINAL FILE!!!!!!!! :-)
5.) Again use the tabs in Editpad - open the bigfile.xml that's in c:\DXHR_Unpack\bigfile, and the bigfile.xml that's in c:\DXHR_Unpack\patch1_copy
6.) Copy the bigfile.XML hash path for your edited files (if there's more than one) from bigfile's XML into the copied patch's XML. Save your changes to the patch's XML, and close Editpad.
7.) Open windows explorer, and drag/drop the whole c:\DXHR_Unpack\patch1_copy directory onto Gibbed.DeusEx3.Pack.exe in your DXHR directory. (makes patch1_copy.000)
8.) Rename your new patch1_copy.000 to patch1.000 and put it into the DXHR game directory, so that the game can use it.
9.) Play DXHR :-)

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 2:03 am
by lapdragon
I've made a fairly comprehensive DXHR unpacking batch file - much fancier than the short one I've been handing out.

Copy/paste the following code into a blank notepad, and save it as DXHR_Unpack.bat (or whatever you want to name it).
The batch file needs to be run from the same directory that you've unpacked the Gibbed.DeusEx3 tools into (which no longer needs to be the DXHR install directory)

Code: Select all

@echo off
cls

SET output=D:\DXHR_Unpack
SET lang=english
SET steam=D:\Games\Steam\
SET DXHR=steamapps\common\deus ex - human revolution
SET TML=steamapps\common\dxhrml

rem The preceding three entries are the ONLY things that an end-user should be changing.
rem Output = Where you want the DXHR Files unpacked.
rem Lang = the language for your game (for most US users it will be "english").
rem Steam = Your Steam install directory
rem DXHR = the installation directory for the DXHR game, by default it should be 
rem        steamapps\common\deus ex - human revolution
rem TML = the installation directory for the Missing Link DLC, by default it should be 
rem        steamapps\common\dxhrml
rem If you've installed to a custom Steam directory, you will need to update this entry.
rem 
rem DO NOT CHANGE ANYTHING BELOW THIS LINE!
rem ----------------------------------------------------------------------------------------

echo.
echo   This file will unpack the DX:HR bigfiles for you.
echo   You need to place this file into the directory where 
echo   you've put Gibbed's DXHR tools.
echo.
echo  It is recommended to use a short unpack pathname, off of the 
echo  root of one of your drives.  A long path name or deep directory
echo  structure WILL cause errors, and the unpack will not complete.
echo.
echo    Presently, the output directory is:    %output%
echo    The game language is set to:           %lang%
echo    The DX:HR game files are located in:           
echo        %STEAM%%DXHR%
echo    The DX:HR-TML game files are located in:           
echo        %STEAM%%TML%
echo.
echo  If any of these are incorrect, select option Q to cancel, and
echo  edit the "SET output", "SET lang", or "SET steam" entries in
echo  this batch file.
echo.
echo.
echo  Select an Option:
echo.
echo  Main Game:
echo   A.) Unpack All Files           (8.15 Gb)
echo   P.) Unpack All Patches         (48.2 Mb)
echo.
echo   1.) Unpack bigfile.000         (7.31 Gb)
echo   2.) Unpack bigfile_%lang%.000 (~820 Mb)
echo   3.) Unpack Patch0.000          (28.7 Mb)
echo   4.) Unpack Patch1.000          (19.4 Mb)
echo   5.) Unpack Patch2.000          (18.0 Mb)
echo.
echo  Missing Link DLC:
echo   E.) Unpack All Files           (1.92 Gb)
echo   6.) Unpack bigfile.000         (1.61 Gb)
echo   7.) Unpack bigfile_%lang%.000 (~326 Mb)
echo.
echo  Music:
echo   M.) Demux .mul files to .fsb files
echo.
echo   R.) Rebuild File Lists
echo.
echo   Q.) Cancel
echo.
echo  This batch file will automatically time out if no choice is
echo  made within 30 seconds.
echo.

CHOICE /C ap12345e67mrq /T 30 /D q
IF ERRORLEVEL 13 GOTO None
IF ERRORLEVEL 12 GOTO Rebuild
IF ERRORLEVEL 11 GOTO Music
IF ERRORLEVEL 10 GOTO TML_Region
IF ERRORLEVEL 9 GOTO TML_Bigfile
IF ERRORLEVEL 8 GOTO TML_All
IF ERRORLEVEL 7 GOTO Patch2
IF ERRORLEVEL 6 GOTO Patch1
IF ERRORLEVEL 5 GOTO Patch0
IF ERRORLEVEL 4 GOTO Region
IF ERRORLEVEL 3 GOTO Bigfile
IF ERRORLEVEL 2 GOTO All_Patches
IF ERRORLEVEL 1 GOTO All_Files

:None
echo     Canceled or timed out...
GOTO End

:Rebuild
Gibbed.DeusEx3.RebuildFileLists.exe
GOTO End

:Music
MKDIR "%output%\music\"
FOR /R "%output%\bigfile\default\pc-w\audio\streams\music\" %%M IN (*.mul) DO Gibbed.DeusEx3.Demux.exe %%M
FOR /R "%output%\bigfile\default\pc-w\audio\streams\music\" %%M IN (*.fsb) DO MOVE /Y "%%M" "%output%\music\"
FOR /R "%output%\bigfile\default\pc-w\music\" %%M IN (*.mul) DO Gibbed.DeusEx3.Demux.exe %%M
FOR /R "%output%\bigfile\default\pc-w\music\" %%M IN (*.fsb) DO MOVE /Y "%%M" "%output%\music\"
DEL "%output%\music\*amb*" "%output%\music\det1_limbclinic_2*" "%output%\music\det1_limbclinic_3*" "%output%\music\*roomtone*"
GOTO End

:TML_Region
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%TML%\bigfile_%lang%.000" "%output%\TML_bigfile_%lang%"
GOTO End

:TML_Bigfile
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%TML%\bigfile.000" "%output%\TML_bigfile"
GOTO End

:TML_All
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%TML%\bigfile.000" "%output%\TML_bigfile"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%TML%\bigfile_%lang%.000" "%output%\TML_bigfile_%lang%"
GOTO End

:Patch2
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch2.000" "%output%\patch2"
GOTO End

:Patch1
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch1.000" "%output%\patch1"
GOTO End

:Patch0
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch0.000" "%output%\patch0"
GOTO End

:Region
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\bigfile_%lang%.000" "%output%\bigfile_%lang%"
GOTO End

:Bigfile
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\bigfile.000" "%output%\bigfile"
GOTO End

:All_Patches
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch0.000" "%output%\patch0"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch1.000" "%output%\patch1"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch2.000" "%output%\patch2"
GOTO End

:All_Files
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\bigfile.000" "%output%\bigfile"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\bigfile_%lang%.000" "%output%\bigfile_%lang%"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch0.000" "%output%\patch0"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch1.000" "%output%\patch1"
Gibbed.DeusEx3.Unpack.exe -o "%STEAM%%DXHR%\patch2.000" "%output%\patch2"
GOTO End

:End
pause

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 8:57 am
by Rick
I don't know if he posts here, but I'd like to give a thanks to Ekey for contributing a sizable amount of the remaining unknown file names. We're now at 31960/31999 (99%) completion for file names. 39 left.

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 12:03 pm
by Ekey
Hm who knows how to xenon are video files? Example file epilogue.usm

PC

Code: Select all

pc-w\design_database\videos\cinematics\final_cinematics\cut_22_epilogue\epilogue.usm
PS3

Code: Select all

ps3-w\design_database\videos\cinematics\final_cinematics\cut_22_epilogue\epilogue.usm
XBOX - Im trying use this but invalid.

Code: Select all

xenon-w\design_database\videos\cinematics\final_cinematics\cut_22_epilogue\epilogue.usm
In DRM found 2 path's

Code: Select all

cinematics\final_cinematics\cut_22_epilogue\epilogue.avi
cinematics\final cinematics\cut_22_epilogue\cinematics\final_cinematics\cut_22_epilogue\epilogue.avi
trying

Code: Select all

xenon-w\design_database\videos\cinematics\final cinematics\cut_22_epilogue\epilogue.usm
xenon-w\design_database\videos\cinematics\final cinematics\cut_22_epilogue\cinematics\final_cinematics\cut_22_epilogue\epilogue.usm
Invalid!

any idea ?

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 4:33 pm
by Rick
Ekey wrote:any idea ?
Are they actually usm files? Maybe the 360 version has wmv or something instead?

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 4:43 pm
by rambo919
Hello just found this website, love google.

I'm trying to edit the dialogue, audio and subtitles. Basically implementing a profanity filer by just blanking out the offending words. I have figured out how to do this with the subtitles (open the locals.bin in the latest patch.000 file with a hex editor and space it out the offending words) but how do I know which mul files are connected to which parts of the dialogue script?

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 5:18 pm
by Ekey
Rick wrote:
Ekey wrote:any idea ?
Are they actually usm files? Maybe the 360 version has wmv or something instead?
No. It's USM file's.

http://img64.imageshack.us/img64/7975/123gm.png
http://img225.imageshack.us/img225/5936/1234ho.png

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 7:51 pm
by JohnBloggs
thank you for the batchfile! it extracted everything now :D

in case somebody is looking for the character textures, they are in the pc-w folder:
friendly maincharacters have the prefix "civilian" and bosses "npc".
there are also textures for the main maincharacters in packs with "cinematic" prefix.
adams textures have the prefix "jensen" (who would have guessed that?) and there are also textures of him in the three jensen cinematic packs.

Re: BIGFILE.000 - Deus Ex Human Revolution Unpack

Posted: Mon Sep 19, 2011 10:25 pm
by JPulowski
mnn wrote:
JPulowski wrote:Is there a way to decode "locals.bin" file?
That file is actually pretty simple.

Code: Select all

class LangHeader
{
    public int languageID;
    public int headerSize; // 12 bytes
    public int entryCount;
}

class StringEntry
{
    public int offset;
    public string value;
}
Loading (pseudo)code:

Code: Select all

readHeader();

entries = new StringEntry[header.entryCount];

for (i = 0; i < header.entryCount; i++)
{
    entries[i].offset = readInt32();
}

for (i = 0; i < header.entryCount; i++)
{
    entries[i].value = readString();    // standard null-terminated string
}
Strings are stored in UTF8, if I remember correctly.
Thank you so much for your help. Also for the other .BIN files, is the file architecture same? I've unpacked .DRM files, when viewing via Gibbed.DeusEx3.DRMEdit.exe it is fine. But when unpacked I see only .BIN files.