Jump to content

[PC, 2024] Indiana Jones and the Great Circle Wwise .pack archives


Recommended Posts

Hello there! Looking for a extractor of wwise .wem files from .pack archives in new Indiana Jones game. And, if possible, a way to rip names and paths for them from soundmetadata.bin. At the first look it uses system close to used in Doom Eternal, but sound extractor that I have for it works only with .snd files and instead of .pck there was used .bnk.

Here is an example of these files, including Init.bnk
https://drive.google.com/file/d/1AqCfXE1r2F7azDMfHOkntMYeb_xnLuRZ/view?usp=sharing

Link to comment
Share on other sites

On 12/7/2024 at 4:56 PM, unknown1stalker said:

Looking for a extractor of wwise .wem files from .pack archives in new Indiana Jones game

Try this

# Wolfenstein II: The New Colossus (0.3.1a)
# script for QuickBMS http://quickbms.aluigi.org
# Edited for Indiana Jones and the Great Circle

comtype oodle

# .resources, .pack and so on
 
idstring "IDCL"
get VER long  # 13 in Indiana Jones and the Great Circle
getDString HASH 8
get Unk long # 116 New var in Indiana Jones and the Great Circle
get ZERO long
get DUMMY long  # 1
get DUMMY long  # -1
get DUMMY long
#get DUMMY longlong
get FILES long
get DUMMY_NUM long
get DUMMY2_NUM long
get FILES_2 long
get ZERO longlong
get DUMMY2 longlong
get NAMES_OFF longlong
get DUMMY4_OFF longlong
get INFO_OFF longlong
get DUMMY6_OFF longlong
get DUMMY7_OFF longlong
get DATA_OFF longlong

goto NAMES_OFF
get NAMES longlong
for i = 0 < NAMES
	get NAME_OFF longlong
	putarray 0 i NAME_OFF
next i
savepos NAMES_OFF

for i = 0 < NAMES
	getarray NAME_OFF 0 i
	math NAME_OFF + NAMES_OFF
	goto NAME_OFF
	get NAME string
	string NAME % "$"
	string NAME | "#"
	putarray 0 i NAME
next i

# thanks toxic72 https://zenhax.com/viewtopic.php?p=27774#p27774
goto DUMMY7_OFF
for i = 0 < DUMMY2_NUM
	get DUMMY long
next i
savepos DUMMY7_OFF
 
goto INFO_OFF
for i = 0 < FILES
get ZERO longlong
get DUMMY longlong  # 1
get DUMMY longlong  # -1
get TYPE_ID longlong
get NAME_ID longlong
get ZERO longlong
get ZERO longlong
get OFFSET longlong
get ZSIZE longlong
get SIZE longlong
get DUMMY longlong  
get DUMMY long
get DUMMY long
get DUMMY longlong
 
get DUMMY long  # ZIP related?
get DUMMY long  # ZIP related?
get ZIP_FLAGS longlong  # 0, 2, 4, 0x210002, 0x410002 and so on
get ZERO longlong
get FLAGS long  # 2
get FLAGS2 long
get ZERO longlong
 
math TYPE_ID * 8
math TYPE_ID + DUMMY7_OFF
math NAME_ID + 1
math NAME_ID * 8
math NAME_ID + DUMMY7_OFF
savepos TMP
goto TYPE_ID
get TYPE_ID longlong
goto NAME_ID
get NAME_ID longlong
goto TMP
#getarray STR1 0 TYPE_ID
getarray STR2 0 NAME_ID
#string NAME p "%s/%s" STR1 STR2
string NAME p "%s" STR2
 
if SIZE == ZSIZE
	log NAME OFFSET SIZE
else
	if ZIP_FLAGS & 4
		if ZIP_FLAGS & 1
                # no idea but ZIP_FLAGS 5 doesn't need the +12
        else
			math OFFSET + 12
			math ZSIZE  - 12
		endif
	endif
	clog NAME OFFSET ZSIZE SIZE
endif
next i

 

On 12/7/2024 at 4:56 PM, unknown1stalker said:

if possible, a way to rip names and paths for them from soundmetadata.bin

for mus_ packs only MediaID in pack itself

narrative_ and systemic_ packs has full wem names

 

Edited by Sarinan
  • Like 3
Link to comment
Share on other sites

9 hours ago, Sarinan said:

Try this

# Wolfenstein II: The New Colossus (0.3.1a)
# script for QuickBMS http://quickbms.aluigi.org
# Edited for Indiana Jones and the Great Circle

comtype oodle

# .resources, .pack and so on
 
idstring "IDCL"
get VER long  # 13 in Indiana Jones and the Great Circle
getDString HASH 8
get Unk long # 116 New var in Indiana Jones and the Great Circle
get ZERO long
get DUMMY long  # 1
get DUMMY long  # -1
get DUMMY long
#get DUMMY longlong
get FILES long
get DUMMY_NUM long
get DUMMY2_NUM long
get FILES_2 long
get ZERO longlong
get DUMMY2 longlong
get NAMES_OFF longlong
get DUMMY4_OFF longlong
get INFO_OFF longlong
get DUMMY6_OFF longlong
get DUMMY7_OFF longlong
get DATA_OFF longlong

goto NAMES_OFF
get NAMES longlong
for i = 0 < NAMES
	get NAME_OFF longlong
	putarray 0 i NAME_OFF
next i
savepos NAMES_OFF

for i = 0 < NAMES
	getarray NAME_OFF 0 i
	math NAME_OFF + NAMES_OFF
	goto NAME_OFF
	get NAME string
	string NAME % "$"
	string NAME | "#"
	putarray 0 i NAME
next i

# thanks toxic72 https://zenhax.com/viewtopic.php?p=27774#p27774
goto DUMMY7_OFF
for i = 0 < DUMMY2_NUM
	get DUMMY long
next i
savepos DUMMY7_OFF
 
goto INFO_OFF
for i = 0 < FILES
get ZERO longlong
get DUMMY longlong  # 1
get DUMMY longlong  # -1
get TYPE_ID longlong
get NAME_ID longlong
get ZERO longlong
get ZERO longlong
get OFFSET longlong
get ZSIZE longlong
get SIZE longlong
get DUMMY longlong  
get DUMMY long
get DUMMY long
get DUMMY longlong
 
get DUMMY long  # ZIP related?
get DUMMY long  # ZIP related?
get ZIP_FLAGS longlong  # 0, 2, 4, 0x210002, 0x410002 and so on
get ZERO longlong
get FLAGS long  # 2
get FLAGS2 long
get ZERO longlong
 
math TYPE_ID * 8
math TYPE_ID + DUMMY7_OFF
math NAME_ID + 1
math NAME_ID * 8
math NAME_ID + DUMMY7_OFF
savepos TMP
goto TYPE_ID
get TYPE_ID longlong
goto NAME_ID
get NAME_ID longlong
goto TMP
#getarray STR1 0 TYPE_ID
getarray STR2 0 NAME_ID
#string NAME p "%s/%s" STR1 STR2
string NAME p "%s" STR2
 
if SIZE == ZSIZE
	log NAME OFFSET SIZE
else
	if ZIP_FLAGS & 4
		if ZIP_FLAGS & 1
                # no idea but ZIP_FLAGS 5 doesn't need the +12
        else
			math OFFSET + 12
			math ZSIZE  - 12
		endif
	endif
	clog NAME OFFSET ZSIZE SIZE
endif
next i

 

for mus_ packs only MediaID in pack itself

narrative_ and systemic_ packs has full wem names

 

It works very well for extraction !!! Thanks !!!Now I got all wems with ID. I checked most of packs and bnks (and dumped bnk like structure.bnk) . it seems like all the correct names are in the soundmetadata.bin. I checked it with HxD but I can not find the relationship of Ids and names. I want rename them to correct names, any suggestion?💓

Link to comment
Share on other sites

6 hours ago, wpnb666 said:

I want rename them to correct names, any suggestion?💓

Haven't checked every file of the game yet, but maybe that is what the corresponding BNK files are for. Those seem to be encrypted, though.

Link to comment
Share on other sites

7 hours ago, wpnb666 said:

It works very well for extraction !!! Thanks !!!Now I got all wems with ID. I checked most of packs and bnks (and dumped bnk like structure.bnk) . it seems like all the correct names are in the soundmetadata.bin. I checked it with HxD but I can not find the relationship of Ids and names. I want rename them to correct names, any suggestion?💓

EternalAudioExtractor can work with names from soundmetadata.bin, but I didn't test it on Indiana Jones through, and don't know how to change program to work with it.
https://github.com/dcealopez/EternalAudioExtractor

Edited by unknown1stalker
Link to comment
Share on other sites

I had a look at the soundmetadata.bin. I'm not sure it contains all the names. For instance, for the Peru prologue, 57 music tracks are listed, but extraction outputs 65 tracks. Here is the list:

Spoiler

ch00_intro_jungle_explore ch00_demon02 ch00_arrow01 ch00_arrow02
ch00_doublecross02_start
ch00_doublecross02_disarm
ch00_explore_templeinterior ch00_chasm01
ch00_chasm01_rescued
ch00_chamberidol01_start
ch00_chamberidol01_grab
ch00_templecollapse
ch00_boulderchase_start
ch00_boulderchase_death
ch00_temple_enter
ch00_spiders01_start
ch00_spiders03_end
ch00_lighttrap_intro
ch00_lighttrap_oneshot
ch00_chambertrap_intensity_a
ch00_chambertrap_intensity_b
ch00_chambertrap_intensity_c
ch00_chamber_approach
ch00_chamber_dart
ch00_chasm_idol
ch00_chasmclimb_jump
ch00_chasmclimb_movinghold
ch00_chasmclimb_vine
ch00_grabwhip
ch00_idolpickup
ch00_jungle_exploration_01
ch00_arrow_mh
ch00_doublecross02_mh ch00_cs_skip
ch00_chasm01_mh
ch00_lighttrap_mh
ch00_lighttrap_gameplay
ch00_lighttrap_deathstinger
ch00_chasmclimb_deathstinger
ch00_templecollapse_deathstinger
ch00_chambertrap_deathstinger
ch00_generic_mh
ch00_jungle_exploration_02
ch00_temple_enter_intro
ch00_templecollapse_mh
ch00_idolpickup_mh
ch00_chasmclimb_start
ch00_chasm_idol_mh
ch00_chasm_idol_jump_mh
ch00_chasm_idol_catch
ch00_post_doublecross_explore
ch00_chasm_attached
ch00_chasm_satipo_swing
ch00_intro01_cm
ch00_spiders_satipo_mh
ch00_chamber_approach_idol_shot
ch00_gameintro

 

Link to comment
Share on other sites

13 hours ago, FunnyML said:

我查看了 soundmetadata.bin。我不确定它是否包含所有名称。例如,对于秘鲁序幕,列出了 57 个音乐曲目,但提取输出了 65 个曲目。以下是列表:

  显示隐藏内容

ch00_intro_jungle_explore ch00_demon02 ch00_arrow01 ch00_arrow02
ch00_doublecross02_start
ch00_doublecross02_disarm
ch00_explore_templeinterior ch00_chasm01
ch00_chasm01_rescued
ch00_chamberidol01_start
ch00_chamberidol01_grab
ch00_templecollapse
ch00_boulderchase_start
ch00_boulderchase_death
ch00_temple_enter
ch00_spiders01_start
ch00_spiders03_end
ch00_lighttrap_intro
ch00_lighttrap_oneshot
ch00_chambertrap_intensity_a
ch00_chambertrap_intensity_b
ch00_chambertrap_intensity_c
ch00_chamber_approach
ch00_chamber_dart
ch00_chasm_idol
ch00_chasmclimb_jump
ch00_chasmclimb_movinghold
ch00_chasmclimb_vine
ch00_grabwhip
ch00_idolpickup
ch00_jungle_exploration_01
ch00_arrow_mh
ch00_doublecross02_mh ch00_cs_skip
ch00_chasm01_mh
ch00_lighttrap_mh
ch00_lighttrap_gameplay
ch00_lighttrap_deathstinger
ch00_chasmclimb_deathstinger
ch00_templecollapse_deathstinger
ch00_chambertrap_deathstinger
ch00_generic_mh
ch00_jungle_exploration_02
ch00_temple_enter_intro
ch00_templecollapse_mh
ch00_idolpickup_mh
ch00_chasmclimb_start
ch00_chasm_idol_mh
ch00_chasm_idol_jump_mh
ch00_chasm_idol_catch
ch00_post_doublecross_explore
ch00_chasm_attached
ch00_chasm_satipo_swing
ch00_intro01_cm
ch00_spiders_satipo_mh
ch00_chamber_approach_idol_shot
ch00_gameintro

 

Yes it makes me very confused. I tried to use wwiser but it keeps throwing errors. It seems that a better solution is needed.

9 hours ago, xXnightdragonXx said:

你在使用 foobar 吗?

Yes , I checked  bnks and wems with it 

 

Link to comment
Share on other sites

33 minutes ago, wpnb666 said:

Are the file ids in the BankSection files different with event ids in the EventSection.xml?

if not. how can I find their relationship?

I only noticed that BnkEvent in EventSection matches the number of BankSection files, but the order is broken, I couldn't find any more similarities, but if you look at the xml file from another game, which also has wwise, there is a similarity between many sections and the file.

Link to comment
Share on other sites

3 hours ago, FunnyML said:

请这样做,因为它对我来说对任何包文件(游戏的 Steam 版本)都不起作用。

It works very well,but the audio files still number😂I think it  is good for model moddingimage.thumb.png.4cca2559dc920b7d5f5c8297f432159a.png

Link to comment
Share on other sites

Well wwiser updated recently. Using the wwiser with wwnames created by bnnm I can get 60823 txtp , which is very close to the number of media files. But the wwnames was not complete. I guess we have to wait a whileimage.png.b8882d288653b45e937537b06da1f255.png

Link to comment
Share on other sites

1 hour ago, wpnb666 said:

After several days of effort, I have completed almost half of the creation of wwnames (thanks to bnnm). However, I've noticed that many event names are missing. The following txt file contains the missing IDs. I'm wondering if some data was lost during the dump process, or if these missing IDs are indeed stored elsewhere?event names not found.zip

All lines were extracted from the file.

Link to comment
Share on other sites

Hello, I'm new here 🙂

I'm trying to get some classic Lucasfilm/SkywalkerSound sfx into the game, particularly the sound of the pistol/revolver - thank you Sarinan for the quickbms script to extract the wem files! I was just wondering if there is any easy way to repack the files after I've modified the wems, or if its tricky? This is not my area of expertise at all sorry, I'm looking into it as I have an extensive library of Indiana Jones sound effects from years of collecting so would love to get some more official sounds from the films into the game. Thanks for any help!

EDIT: Here are my modified wems to try get packed back into relicrevo01.bnk/relicrevo01.pack

 

 

Indy_revolver_Mod_wems V2.7z

Edited by CaptainJack
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...