BMT (Chords) (File Format)
Not to be confused with BMT (Material) (File Format).
BMT (Binary Melody Table) files contain general information for Chords. Super Mario Galaxy and Super Mario Galaxy 2 each contain only one BMT file, located in AudioRes/Info/JaiMe.arc/me/metable.bmt
.
The main Chord data is contained in defaultme.bme
from the same archive, see BME (File Format).
Header
The BMT format contains no header magic like most files do. Instead, it consists of a Melody Count and Offsets. The size of the header is 0x10
.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 (0x4) | Melody Count |
0x04 | UInt32 (0x4) | Offset to Melody Information |
0x08 | UInt32 (0x4) | Offset to Melody Names |
0x0C | ? (0x4) | Likely padding |
Melody Information
This section contains general information for Chords. It's size is 0x8 x Melody Count
. The following table lists the information defined for one Chord:
Offset | Type | Description |
---|---|---|
0x00 | UInt8 (0x1) | ? (mostly 0x64) |
0x01 | UInt8 (0x1) | Chord Volume |
0x02 | UInt8 (0x1) | ? (always 0x40) |
0x03 | UInt8 (0x1) | ? (mostly 0x0A) |
0x04 | UInt8 (0x1) | ? (always 0x00) |
0x05 | UInt8 (0x1) | ? (mostly 0x1E) |
0x06 | UInt8 (0x1) | ? (mostly 0x00) |
0x07 | UInt8 (0x1) | ? (mostly 0x00) |
Melody Names
This section simply contains names for each Chord and is likely irrelevant for the game's execution. It starts with a sub-section that contains offsets for each name. The size of this sub-section is 0x4 x Melody Count
.
Melody Name Offsets
Offset | Type | Description |
---|---|---|
0x00 | UInt32 (0x4) | Offset to Melody Name |
Melody Name List
Each Chord name is stored in ANSI and ends with a Null-Terminator. The following names can be found in both games:
SMG | SMG2 |
---|---|
ME_TEST_01 | ME_TEST_01 |
ME_TEST_02 | ME_TEST_02 |
ME_MAGIC | ME_MAGIC |
ME_DPD_HIT | ME_DPD_HIT |
ME_COIN_APPEAR_S | ME_COIN_APPEAR_S |
ME_MAGIC_L | ME_MAGIC_L |
ME_TALKBLN_EXCLA | ME_TALKBLN_EXCLA |
ME_FLOWER_FAIRY_GET0 | ME_DUMMY_07 |
ME_FLOWER_FAIRY_GET1 | ME_DUMMY_08 |
ME_ASTRO_DOME_HIT_GALAXY1 | ME_ASTRO_DOME_HIT_GALAXY1 |
ME_ASTRO_DOME_HIT_GALAXY2 | ME_ASTRO_DOME_HIT_GALAXY2 |
ME_ASTRO_DOME_HIT_GALAXY3 | ME_ASTRO_DOME_HIT_GALAXY3 |
ME_ASTRO_DOME_HIT_GALAXY4 | ME_ASTRO_DOME_HIT_GALAXY4 |
ME_ASTRO_DOME_HIT_GALAXY5 | ME_ASTRO_DOME_HIT_GALAXY5 |
ME_ASTRO_DOME_SELECT1 | ME_ASTRO_DOME_SELECT1 |
ME_ASTRO_DOME_SELECT2 | ME_ASTRO_DOME_SELECT2 |
ME_ASTRO_DOME_SELECT3 | ME_ASTRO_DOME_SELECT3 |
ME_ASTRO_DOME_SELECT4 | ME_ASTRO_DOME_SELECT4 |
ME_ASTRO_DOME_CALCEL1 | ME_ASTRO_DOME_CALCEL1 |
ME_ASTRO_DOME_CALCEL2 | ME_ASTRO_DOME_CALCEL2 |
ME_ASTRO_DOME_CALCEL3 | ME_ASTRO_DOME_CALCEL3 |
ME_ASTRO_DOME_CALCEL4 | ME_ASTRO_DOME_CALCEL4 |
ME_ASTRO_DOME_CALCEL5 | ME_ASTRO_DOME_CALCEL5 |
ME_ASTRO_DOME_HIT_GALAXY_N1 | ME_ASTRO_DOME_HIT_GALAXY_N1 |
ME_ASTRO_DOME_HIT_GALAXY_N2 | ME_ASTRO_DOME_HIT_GALAXY_N2 |
ME_ASTRO_DOME_HIT_GALAXY_N3 | ME_ASTRO_DOME_HIT_GALAXY_N3 |
ME_ASTRO_DOME_HIT_GALAXY_N4 | ME_ASTRO_DOME_HIT_GALAXY_N4 |
ME_ASTRO_DOME_HIT_GALAXY_N5 | ME_ASTRO_DOME_HIT_GALAXY_N5 |
ME_FLIP_PANEL_ON | ME_FLIP_PANEL_ON |
ME_FLIP_PANEL_OFF | ME_FLIP_PANEL_OFF |
ME_FLIP_PANEL_ON_FIRST | ME_FLIP_PANEL_ON_FIRST |
ME_RALLY_COMBO_FIRST | ME_RALLY_COMBO_FIRST |
ME_RALLY_COMBO_SECOND | ME_RALLY_COMBO_SECOND |
ME_RALLY_COMBO_LAST | ME_RALLY_COMBO_LAST |
ME_2P_ASSIST_JUMP | ME_2P_ASSIST_JUMP |
ME_2P_ASSIST_JUMP_L | ME_2P_ASSIST_JUMP_L |
ME_2P_ASSIST_ATTACK | ME_2P_ASSIST_ATTACK |
ME_FLIP_PANEL_INV_OFF | ME_FLIP_PANEL_INV_OFF |
ME_FLIP_PANEL_INV_ON | ME_FLIP_PANEL_INV_ON |
ME_FLIP_PANEL_INV_OFF_FIRST | ME_FLIP_PANEL_INV_OFF_FIRST |
ME_MORPH_FIRE |