Useful 010 templates/scripts for Monster Hunter: Rise audio modding.
For a step-by-step tutorial on how to inject music to arena maps, see wiki.
A template files that can be applied to extracted .bnk.2.X64
files. Can either applied to
- A complete, valid
.bnk
files starts with aBHKD
header section. - Or alternatively, a list of
HIRC
items in theHIRC
sections.
Currently, the template can parse the following types of HIRC
items:
Name | Type ID |
---|---|
HIRCState |
0x01 |
HIRCMusicSegment |
0x0A |
HIRCMusicTrack |
0x0B |
HIRCSwitchContainer |
0x0C |
HIRCSeqContainer |
0x0D |
The template will mark each HIRC
item with alternate background colors. The UID of each item will be marked with black, and some common fields to edit will be marked with blue.
seq_template.bnk
is a list of HIRC
items that can be used to construct a BGM including both the intro and the looped component. mhr-bnk-seq.1sc
is a script to help edit seq_template.bnk
.
To use:
- Duplicate and open
seq_template.bnk
; - Run the template
MHR_BNK.bt
; - Run the script
MHR_BNK_SEQ.1sc
. Input the WEM ID, loop data (in seconds) and volumn (in Db) as prompted. The script to edit the according fields, and also assign a random UID to each item. The UID of theHIRCSeqContainer
object will be printed.
A script used to inject a new BGM (with seq_template.bnk
) into natives/STM/Sound/Wwise/bgm_special01_ev_str.bnk.2.X64
and bind it to a state trigger.
To use:
- Follow the steps in the section above;
- Open
natives/STM/Sound/Wwise/bgm_special01_ev_str.bnk.2.X64
; - Run the template
MHR_BNK.bt
; - Run the script
MHR_BNK_SPECIAL01_INJECT.1sc
. Input desired hash (which will be used to play the song with REFramework lua scripts, can be arbitrary as long as no collisions), the UID of theHIRCSeqContainer
printed in the last step in the section above, and select the duplicatedseq_template.bnk
. The script will append the editedseq_template.bnk
, adjust the necessary values, and insert a trigger to twoHIRCSwitchContainer
.
A proof-of-concept REFramework lua script to play in custom song on arena type maps.
To use:
- Open
arean_music_injection.lua
. Put the names of your songs and the hashes (what you inputed in the last step in the previous section) inMUSIC_NAMES
andMUSIC_HASHES
; - Put your edited
bgm_special01_ev_str_khk.pck.3.X64
andbgm_special01_ev_str.bnk.2.X64
into the correct place innatives
, and put yourarean_music_injection.lua
inreframework/autorun/
; - Open the game, you should see a drop menu titled "Arena Music Injection" in REFramework - Script Generated UI, and enable / select the song to play on arena type maps.
- Wwiser by bnnm;
- This article from XeNTaX explaining the structure of
.bnk
files. Since XeNTaX has shut down, you may find a snapshot from sites such as the Wayback Machine; - Sunrise Music Tutorial by KumoriRyuX;
- MHR bnk edit / looping guide by MHR oops;
- Fate from the MH Modding discord.