Skip to content

File Format: MSQ

SalsaGal edited this page Apr 4, 2024 · 1 revision

A proprietary format developed by Crystal Dynamics. Its purpose is to store multiple Crystal Dynamics sequences at the same time. It's a very similar concept to MIDI files of "Type 1" (or SMF1) where each channel/sequence/track is stored separately and independently of each other. These files cannot be found directly, and must be extracted by a utility first (desnd or demus).

Header

The magic number should be "QSMa". The version number is easily intelligible by reading each byte separately (eg, 0x0601 is version 1.6). Currently known versions are 1.6 and 1.7, but there may be more. Each msq file typically does not contain more than 16 tracks, but there may be exceptions.

Name Type Endianness
Magic number ASCII character x4 N/A
Quarter note time Unsigned 32 bit integer Little
Pulses per quarter note Unsigned 16 bit integer Little
Version number Unsigned 16 bit integer Little
Number of tracks Unsigned 16 bit integer Little
Unused Unsigned 16 bit integer Little

Track Offsets

There are as many tracks as specified in the header. Each offset specifies the beginning of a track.

Name Type Endianness
Track offsets Unsigned 32 bit integer array Little

The offsets are then followed by the raw track bodies, which take up the rest of the file.

Clone this wiki locally