Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Quantic Dream Sample Thread

Featured Replies

  • Author
  • Localization

AnonBaiter, posted Mon Aug 22, 2016 11:23 pm (16768)


Acutally, the PARTITIO(.par) files on the XBOX version were encoded using the Microsoft IMA ADPCM(4-bit) codec.
So far the output I'm getting out of an converted GENH looks a bit garbled(looks like it uses an variant of the codec) but you get the idea.
  • Author
  • Localization

AnonBaiter, posted Fri Sep 09, 2016 2:46 am (17369)


After looking at a decrypted EBOOT file, I learned that these decrypted .sdat files were actually .idm files.
But the problem is that I can't figure these monsters out at all. I mean, there is an hex byte over there that is actually the location of the offsets, the chunks, etc. but it's not even clear about what exactly they are supposed to represent. This kind of thing has been bugging me for years, but to be honest I don't think these games themselves are even that interesting at all, but anyway...

It's really messy. Take a look at this file if you see what I mean. This file came from Heavy Rain Move Edition.
  • Author
  • Localization

AnonBaiter, posted Tue Oct 11, 2016 2:09 am (17949)


I have written a script in which it can check "QUANTICDREAMTABIDMEM" files used on PS3 games developed by Quantic Dream.
Code:
open FDDE "idm"
idstring "QUANTICDREAMTABIDMEM"

endian big
get INFO_OFF long
get INFO_QUANT long
get ZERO long
for i = 0 < INFO_QUANT
   get DUMMY1 long
   get DUMMY2 long
   get INFO_LOCATION long
next i
So far it only checks everything contained within the file. It must be executed into a decrypted .sdat file in question and renamed to .idm; the -V parameter is optional.
  • Author
  • Localization

AnonBaiter, posted Tue Oct 11, 2016 1:18 pm (17969)


I'm surprised your script even works with the Remastered version of Fahrenheit/Indigo Prophecy, which now has its title: Fahrenheit: Indigo Prophecy Remastered.
  • Author
  • Localization

fignyafsyakaya, posted Tue Feb 15, 2022 2:58 pm (69899)


aluigi wrote:
"data" is ok but it's really just data and not files to extract, you will have thousands of "things".


Recently I tried to split databanks into something useful - this is what I managed to cook up.

".partoffs" turned out to be essential for ".partitio"-files, but I haven't figured them out completely yet, situations came up that were unclear for me.
Maybe I'll try to describe things I understood - if I'll be able to, of course.

Code:
idstring "DATABANK"
get VER long
get SIZE long
get FILES short
get DUMMY short
get DUMMY long
get INFO_SIZE long
get DUMMY long
PutArray 0 FILES 0

for i = 0 < FILES
    get SMTH long
    get ID short
    get UNK short
    get ZERO long
    get OFFSET long
    putarray 0 i SMTH
    putarray 1 i ID
    putarray 2 i OFFSET
next i

get ZISE asize
putarray 2 i ZISE
getarray ZISE 2 i


for i = 0 < FILES
    getarray SMTH 0 i
    getarray ID 1 i
    getarray OFFSET 2 i
    math i 1
    getarray NEXT_OFFSET 2 i
    math i - 1
    math NEXT_OFFSET - OFFSET

    if SMTH == 0x00000FFC
          string ID = ".partoffs"
    elif SMTH == 0x000003F8
          string ID = ".filenames"
    elif SMTH == 0x00000FA7
          string ID = ".filename_single"
    elif SMTH == 0x00000FD3
          string ID = ".event"
    elif SMTH == 0x00000FFB
          string ID = ".language"
    Endif

    log ID OFFSET NEXT_OFFSET
next i
  • Author
  • Localization

fignyafsyakaya, posted Thu Feb 17, 2022 12:47 pm (69943)


After much trial and error, I wrote something for getting filenames and playable audio for speech files and it worked... at least, with files I tried out.
The collection of scripts is kind of "work_in_progress": at the moment it can extract names only for one language (UK) and I'm not sure if all the problems with audio extraction are solved - sometimes the files can be extracted either with empty useless data or not completely and I haven't figured out how to detect number of audio channels yet.

If you would like to benefit from this Frankenstein's monster, I would recommend to follow those steps:

1. Firstly, you'll have to extract files from archives using AnonBaiter's script (you can find it in the attachment if something goes wrong with the "Script Compendium" topic).
2. After that, use "1_databank.bms" on all the ".databank" files in "0007" folder and save result into any folder you want.
3. Put all the extracted ".filenames" files into 0ffb folder - that's where all the speech ".partitio" files should be located.
4. Use "2_filenames_UK.bms" on all the ".filenames" files and save the output into a separate folder - it's supposed to get files with their actual filenames.
5. Put all the extracted ".partoffs" files into the folder where you will have put the files with filenames.
6. And now, use "3_partitio-tables.bms" onto the ".partitio" files and save the extracted audio parts into a separate folder (again).
7. Put the programme called "vgmstream" and the remaining files from the attachment (".txth" and "for_vgmstream.bat") into the last mentioned folder.
8. Launch "for_vgmstream.bat".

Now it should get the audio files playable. Sometimes they might have 2 channels instead of 1 - in this case you have to change the "channels" value in the ".txth".
Also, this whole operation extracts audio as 6 seconds parts - it was the problem I couldn't see a way to resolve.

P.S. Useful information for audio seems to be located in "STREAMAB" part of "PARTITIO" files, such as sampling frequency or (maybe) number of audio channels but I didn't realize how to use it specifically for each file.

Fahrenheit_bms_vgm.rar

  • Author
  • Localization

fignyafsyakaya, posted Sat Feb 19, 2022 9:11 am (70006)


Eventually, after Fahrenheit, I got my hands on archives of Heavy Rain from PC (WIN) version.
All the speech .partitio-files turned out to be in "O-..." and "LanguageData".

Also, all the filenames were found inside the .dbg-files of the same names.

After I used AnonBaiter's script on the .idm-files of the archives mentioned above, I put .dbg-file into each according folder with .partitio-files and used the script below onto each one:

Code:
endian big

idstring "QUANTICDREAMTABINDEX"
get SMTH long
get ALLFILES long

for i = 0 < ALLFILES
    get PARTITIO_ID long
    get SOME_NUMBER long
    get AUDIONAME long
    get NAME_LENGTH long
    getdstring FILENAME NAME_LENGTH
    savepos OFFSET
    math OFFSET = 0x18
    goto OFFSET
    string NAME p "x.%s" AUDIONAME partitio
    open FDSE NAME 1
    get SIZE asize 1
    log FILENAME 0 SIZE 1
next i


That was the way I've got files with their actual filenames.
Now, it's up to finding the .partoffs and using them to get a normally playable audio - they don't seem to be located in the archives above.

PS3-version might be significantly different in finding filenames, but I have no idea whether I'll be able to get to it.

hr_dbg_filenames.bms

  • Author
  • Localization

fignyafsyakaya, posted Sat Feb 19, 2022 7:56 pm (70018)


Also. getting files from PC-version of Beyond: Two Souls was difficult at first, but I slightly redrafted AnonBaiter's script for Fahrenheit for both .idm and .idx lists.
Now it seems to handle the extraction but .idm is likely to miss information of some assets.

beyond.bms

  • Author
  • Localization

fignyafsyakaya, posted Sun Feb 20, 2022 3:15 pm (70034)


During exploration, I tried to interact with .dep-files in PC-version of Beyond.
After a couple of hours, I wrote something (in the attachment) that seems to print out the files and their connections to other files.

Sadly, it hasn't made any progress in finding either .partoffs or filenames - connections to "0ffc"-partoffs seem to be inside .segs-files, they are incomprehensible for me.
If somebody would like to take part in this "research" but doesn't have a game, I'll try to send some examples.

beyond_dep.bms

  • Author
  • Localization

micTronic, posted Thu Mar 10, 2022 10:48 am (70411)


Thanks a lot fignyafsyakaya for your research on the QD games, it's extremely helpful :-)
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.