NitroStudio2

If Nitro Studio was so good, why isn't there a Nitro Studio 2? Well it was so good so now there's a 2nd one that's even better. It's a lot easier to use over the original and has a ton of new features! Try it out!

View on GitHub

Sequence Archives (.ssar)

An SSAR or sound sequence archive is like a giant sequence that contains multiple entry points. Each of those entry points contain sequence info similar to that found in the main sound data archive.

The Main File

The main file contains of a File Header and a Data Block.

Type Description
SoundFileHeader Sound File Header (Magic: SSAR. Always contains 1 block)
Block Data Block

Data Block Body (Magic: DATA)

Contains sequence entries, and sequence commands to execute.

Offset Type Description
0x00 a32 Absolute offset from the start of the SSAR file to the sequence data. Formula for calulating is 0x20 + 12 * NumSequences
0x04 Table<SequenceEntry> Sequences
—- u8[-] See the SSEQ specification on how to parse the sequence commands. Just be sure to separate it from padding by removing 0s until 0xFF is reached

Sequence Entry

Each sequence inside the sequence archive has the following layout:

Offset Type Description
0x00 u32 Offset to start of the sequence’s sequence data relative to the start of the sequence command data. The rest of the information is 0’d out if this is 0 as that means it is a null entry
0x04 u16 Bank Id
0x06 u8 Volume
0x07 u8 Channel Priority
0x08 u8 Player Priority
0x09 u8 Player Id
0x0A u16 Padding