BCT (File Format)
Jump to navigation
Jump to search
BCT (Binary Controller Sound Table) files contain information about Wii Remote Speaker Sounds. They are linked to CSW files. Super Mario Galaxy and Super Mario Galaxy 2 each contain only one BCT file, located in AudioRes/SpkRes/SpkRes.arc/bin/spktable.bct.
File specifications
Header
size: 0x10
| Offset | Type | Description |
|---|---|---|
| 0x0 | UInt32 (0x4) | Amount of sounds |
| 0x4 | UInt32 (0x4) | Offset to parameter table |
| 0x8 | UInt32 (0x4) | Offset to name table |
| 0xC | UInt32 (0x4) | Unknown. Gets written to at runtime by SpkTable::setResource
|
Parameter table
size: (N + 1) * 0x8
| Offset | Type | Description |
|---|---|---|
| 0x0 + N * 4 | UInt16 (0x2) | Index N of the sound |
| 0x2 + N * 4 | UInt8 (0x1)? | Unknown. |
| 0x3 + N * 4 | UInt8 (0x1)? | Unknown. |
| 0x4 + N * 4 | UInt16 (0x2) | Unknown. Perhaps volume? |
| 0x6 + N * 4 | Padding (0x2) |
Name table
size: (N + 1) * 0x4
| Offset | Type | Description |
|---|---|---|
| 0x0 + N * 4 | UInt32 (0x4) | Offset to null-terminated Speaker Sound name |
The rest of the file is padded to the nearest 0x40.
List of Speaker Sounds
| ID (SMG) | Label (SMG) | ID (SMG2) | Label (SMG2) |
|---|---|---|---|
| 0 | CS_COIN | 37 | CS_COIN |
| 1 | CS_STARDUST_GET | 0 | CS_STARDUST_GET |
| 2 | CS_STARDUST_SHOOT | 1 | CS_STARDUST_SHOOT |
| 3 | CS_STARDUST_CHARGE | ||
| 4 | CS_CONT_CONNECT | 2 | CS_CONT_CONNECT |
| 5 | CS_TENNIS | ||
| 6 | CS_VOLUME_CONFIG | ||
| 7 | CS_TEST_SIN_600HZ | 3 | CS_TEST_SIN_600HZ |
| 8 | CS_CLICK_OPEN | 4 | CS_CLICK_OPEN |
| 9 | CS_CLICK_CLOSE | 5 | CS_CLICK_CLOSE |
| 10 | CS_SPIN_HIT | 6 | CS_SPIN_HIT |
| 11 | CS_FIRE_BALL | 7 | CS_FIRE_BALL |
| 12 | CS_SPIN_DRIVE_LONG | 8 | CS_SPIN_DRIVE_LONG |
| 13 | CS_NOTICE_USE_DPD | 9 | CS_NOTICE_USE_DPD |
| 14 | CS_DPD_POINT | 10 | CS_DPD_POINT |
| 15 | CS_DPD_B_TRG | ||
| 16 | CS_DPD_B_RELEASE | ||
| 17 | CS_DPD_HIT | 11 | CS_DPD_HIT |
| 18 | CS_DPD_SIGN | ||
| 19 | CS_CAN_PLAY_2P | 12 | CS_CAN_PLAY_2P |
| 20 | CS_IN_DISPLAY_2P | 13 | CS_IN_DISPLAY_2P |
| 21 | CS_OUT_DISPLAY_2P | 14 | CS_OUT_DISPLAY_2P |
| 22 | CS_DPD_PUNCH | 15 | CS_DPD_PUNCH |
| 23 | CS_DPD_JUMP | 16 | CS_DPD_JUMP |
| 24 | CS_DPD_JUMP_HIGH | 17 | CS_DPD_JUMP_HIGH |
| 25 | CS_GET_POWER | ||
| 26 | CS_NOTICE_BUTTON | ||
| 27 | CS_PRESSED_BUTTON | 18 | CS_PRESSED_BUTTON |
| 28 | CS_SPIN_BIND | 19 | CS_SPIN_BIND |
| 29 | CS_SPIN_DRIVE_SHORT | 20 | CS_SPIN_DRIVE_SHORT |
| 30 | CS_STAR_POWER | 21 | CS_STAR_POWER |
| 31 | CS_TERESA | 22 | CS_TERESA |
| 32 | CS_NO_SPIECE | 23 | CS_NO_SPIECE |
| 33 | CS_FEED_SPIECE | 24 | CS_FEED_SPIECE |
| 25 | CS_METRO_CLICK1 | ||
| 26 | CS_METRO_CLICK2 | ||
| 27 | CS_YOSHI_PULL | ||
| 28 | CS_YOSHI_EAT | ||
| 29 | CS_YOSHI_SWALLOW | ||
| 30 | CS_YOSHI_VELCH_OUT | ||
| 31 | CS_PERC_INST1 | ||
| 32 | CS_PERC_INST2 | ||
| 33 | CS_PERC_AUD_GOOD | ||
| 34 | CS_PERC_AUD_BAD | ||
| 35 | CS_PERC_1UP | ||
| 36 | CS_PERC_COIN | ||
| 38 | CS_PERC_TICO1 | ||
| 39 | CS_PERC_TICO2 | ||
| 40 | CS_CLICK_WMAP |