CSW (File Format): Difference between revisions

From Luma's Workshop
Jump to navigation Jump to search
(created page)
 
(added to Category)
Line 1: Line 1:
[[Category:File formats]]
'''CSW''' ('''C'''ontroller '''S'''peaker '''W'''ave) files contain sound data that is played through the Wii Remote Speaker. They are linked to [[BCT (File Format)|BCT files]]. ''Super Mario Galaxy'' and ''Super Mario Galaxy 2'' each contain only one CSW file, located in <code>AudioRes/SpkRes/SpkRes.arc/bin/spkwave.csw</code>.
'''CSW''' ('''C'''ontroller '''S'''peaker '''W'''ave) files contain sound data that is played through the Wii Remote Speaker. They are linked to [[BCT (File Format)|BCT files]]. ''Super Mario Galaxy'' and ''Super Mario Galaxy 2'' each contain only one CSW file, located in <code>AudioRes/SpkRes/SpkRes.arc/bin/spkwave.csw</code>.



Revision as of 13:01, 11 February 2026


CSW (Controller Speaker Wave) files contain sound data that is played through the Wii Remote Speaker. They are linked to BCT files. Super Mario Galaxy and Super Mario Galaxy 2 each contain only one CSW file, located in AudioRes/SpkRes/SpkRes.arc/bin/spkwave.csw.

File specifications

CSW files don't seem to contain a header. Instead they directly start with a table.

Sound offset table

Offset Type Description
0x0 UInt32 (0x4) Size of the file in bytes
0x4 UInt32 (0x4) Amount of sounds
0x8 + N * 4 UInt32 (0x4) Offset to sound data

The rest of the section is padded to the nearest 0x20.

Sound data

Offset Type Description
0x0 UInt32 (0x4) Size of wave data in bytes
0x4 UInt32 (0x4) Loop start in samples, 0xFFFF when no loop
0x8 UInt32 (0x4) Loop end in samples, 0xFFFF when no loop
0xC Wave data

The rest of the file is padded to the nearest 0x20.

Unused Speaker Sounds

Needs some research. Tho I can reliably say that the tennis racket sound is unused.