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.

Shrek Forever After .PCK/.BNK

Featured Replies

  • Replies 51
  • Views 9
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

lorenzo, posted Sat Apr 30, 2016 1:57 pm (12987)


does anyone know a script that can extract .pck and .bnk sound containers ? thanks
  • Author
  • Localization

id-daemon, posted Sat Apr 30, 2016 8:21 pm (13000)


These are standard WWISE banks and PCKs. Moreover, sounds here are uncompressed PCM.
  • Author
  • Localization

AnonBaiter, posted Sun May 01, 2016 12:17 am (13009)


Huh, I didn't realize there was a script of yours that could extract .BNK files already. Maybe I overlooked that one all along...

EDIT: So, I just tested your Wwise .BNK script and it is a lot more stable than, say, Alpha23's Wwise .BNK script. However, the output filenames, when extracted with your script, they are named by hexadecimal/decimal/binary filenames rather than the fuzzy numbers(example: 137243) which is common in projects that use the Wwise middleware.
  • Author
  • Localization

lorenzo, posted Wed Jun 15, 2016 7:35 pm (14484)


at the time of extraction it shows dat instead of wav is normal?
  • Author
  • Localization

AnonBaiter, posted Wed Jun 15, 2016 7:45 pm (14485)


^ That's quite a common occurrence within the quickBMS scripts because if the file container isn't defined by the string it will just go with that container. Another example is where it tries to find file containers for that file by going at these strings.
  • Author
  • Localization

lorenzo, posted Fri Jul 29, 2016 2:55 pm (15871)


any way to get the names of extracted WAV files?
  • Author
  • Localization

id-daemon, posted Fri Jul 29, 2016 3:40 pm (15875)


Only if they are present in other game files. And even in this case it will be difficult.
  • Author
  • Localization

brendan19, posted Fri Jul 29, 2016 4:49 pm (15878)


Use Ravioli Game Tools to extract Wwise .BNK/PCK archives as they keep the original Wwise hash ID filenames.

To get the original names of the WAV files, there might be an .XML file with a full directory listing of all the audio assets matching the Wwise ID to a WAV file.
  • Author
  • Localization

lorenzo, posted Sun Jul 31, 2016 5:56 pm (16004)


how do I find this XML file?
  • Author
  • Localization

brendan19, posted Sun Jul 31, 2016 10:02 pm (16022)


The file is usually called SoundBanksInfo.xml
  • Author
  • Localization

lorenzo, posted Tue Aug 09, 2016 9:11 pm (16317)


aluigi you can upgrade these two scripts for me to get the real names of wav files from pck and bnk files? thank you
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 1:22 am (16324)


^ I agree with this. Give it a try out of figuring out the filenames sometime, aluigi.
  • Author
  • Localization

aluigi, posted Wed Aug 10, 2016 1:31 am (16326)


If the filenames are available in the archive, probably, but if the scripts extract nameless files it means that there are no filenames.
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 1:37 am (16328)


Well, I'm pretty sure the filenames are scattered around somewhere... I think.
  • Author
  • Localization

aluigi, posted Wed Aug 10, 2016 1:40 am (16330)


Well, prove it and show where and how the strings are located and referenced.
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 1:59 am (16334)


Let me check my samples first to see if I deleted something!
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 2:09 am (16335)


Okay, here's some "proof"(ignore the error):
Code:
- current_folder: E:\quickbms
- bms_folder:     E:\quickbms_scripts
- exe_folder:     E:\quickbms
- file_folder:    E:\DmC_Devil_may_Cry_JPN_XBOX360-Caravan\cvn-dmcj\DevilGame\CookedXbox360\Main_Xenon
- output_folder:  E:\quickbms
- temp_folder:    C:\Users\TCA\AppData\Local\Temp\
- open input file E:\DmC_Devil_may_Cry_JPN_XBOX360-Caravan\cvn-dmcj\DevilGame\CookedXbox360\Main_Xenon\01bde0fe.bnk
- open script E:\quickbms_scripts\wwise_bnk.bms
- set output folder .

  offset   filesize   filename
--------------------------------------
. 00000000 idstr              "BKHD" 4
    42 4b 48 44                                       BKHD
. 00000004 get     SIZE_HEADER 0x000007ac 4
. 00000008 get     FSIZE      0x002fe3fb -2
. 000007b4 idstr              "DIDX" 4
    44 49 44 58                                       DIDX
. 000007b8 get     SIZE_DIDX  0x0000003c 4
. 000007bc get     BNAME      "01bde0fe" -1001
. 000007bc get     DIDX       0x30594ccb 4
. 000007c0 get     OFFSET     0x00000000 4
. 000007c4 get     SIZE       0x00076000 4
. 00076000 putvarc            0x00000000 1
.
. 00000000 get     MSIZE      0x00076000 -2
. 00000000 get     TEST       0x00000052 1
.
. 00000002
. 00000001 get     TEST       0x00000049 1
.
. 00000003
. 00000002 get     TEST       0x00000046 1
.
. 00000004
. 00000003 get     TEST       0x00000058 1
.
. 00000005
. 00000000 getdstr TYPE       "RIFX" 4
    52 49 46 58                                       RIFX
.
. 00000008 getdstr TYPE       "WAVEfmt " 8
    57 41 56 45 66 6d 74 20                           WAVEfmt
. 00000014 get     CODEC      0x00000166 2
  00000800 483328     811158731 (01bde0fe).xma
.
. 00000002
. 000007c8 get     DIDX       0x862b0c29 4
. 000007cc get     OFFSET     0x00600700 4
. 000007d0 get     SIZE       0x48170100 4
. 48170100 putvarc            0x00000000 1

Error: incomplete input file 0: E:\DmC_Devil_may_Cry_JPN_XBOX360-Caravan\cvn-dmcj\DevilGame\CookedXbox360\Main_Xenon\01bde0fe.bnk
       Can't read 1209467136 bytes from offset 00600f00.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.

  coverage file 0    15%   483368     3138555

Last script line before the error or that produced the error:
  32  elif TYPE == "And here's the script used for debugging. It requires the func_getTYPE.bms script though.
  • Author
  • Localization

aluigi, posted Wed Aug 10, 2016 2:22 am (16338)


A proof of what?
The BKHD archives have no filename strings stored in them, what you have there is just a 32bit number that has been assigned as name and not the original filename.
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 2:52 am (16340)


Okay, let me get this straight:
The .bnk files don't have their original filenames; rather, they have 32-bit numbers that have been assigned as names.
In any case, what do you think about implementing these 32-bit numbers as output filenames into your script? Like this:
Code:
811158731.wav
  • Author
  • Localization

aluigi, posted Wed Aug 10, 2016 3:34 am (16342)


From:
Code:
    log "" OFFSET SIZE
To:
Code:
    string NAME p "%d.wav" DUMMY
    log NAME OFFSET SIZE
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 4:38 am (16345)


Yeah, more like that. Exactly as I envisioned it.
I'll just test this later when I get into my PC. Been typing this into my cellphone as of now.

P.S.: Auto-correcto sucks ass.
  • Author
  • Localization

AnonBaiter, posted Wed Aug 10, 2016 4:46 am (16346)


Well, I did test the edited script on the .bnk file and that method proved to be much better than the dull 'log ""' extracting output.
However, that's just the .bnk files. Does anyone feel that there's something missing?
  • Author
  • Localization

lorenzo, posted Wed Aug 10, 2016 2:51 pm (16358)


aluigi and the actual names of wav files from pck files? some help?
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.