BCT (File Format)
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 |