Skip to content

MSSCMP

NOTE

Some data in this format is endian-dependant.
Check out Basic Info.md for more info.

NOTE

New gen consoles seem to use Long (0x08) instead of Int (0x04) for some of the header values.
"0xXX/0xYY" means 0xXX on new gen, 0xYY on older gen. (e.g 0x08/0x04 means 0x08 on new gen, 0x04 on old gen.)
Additionally, I use the name Index a lot in this... there's probably a better name for some of them.

MSSCMP file structure

NameSize (in bytes)Description
Magic0x04"BANK" if big endian, "KNAB" if little.
Unknown0x04 (uint)Could be a file version?
File Data Offset0x08/0x04 (uint/ulong)The offset at which all the file data starts, there are no indexes after this point.
Unknown0x08Seems to just be null bytes.
Index 1 offset0x08/0x04 (uint/ulong)Where the first index starts.
Index 1 Last entry offset0x08/0x04 (uint/ulong)Offset of the last entry in the first index.
Unknown0x10/0x08Seems to just be the last entry offset repeated twice.
Unknown offset0x08/0x04Seems to lead to an area right before where the file paths start.
Index 1 Entry count0x08/0x04How many entries are in Index 1
Unknown0x04/0x08Seems to just be null bytes.
Index 2 Entry count0x04How many entries are in Index 2

TIP

To get the offset of Index 2, grab the Index 1 last entry offset, and add 4.

Index 1

NameSize (in bytes)Description
Folder offset0x04 (uint)Offset of the name in the folder index
Another folder offset?0x04 (uint)Seems to be another folder index, this time with weird text as the seperator. Additionally, the first offset seems to lead to "9;4;" as the folder name.

Index 2

NameSize (in bytes)Description
Offset of file in the File Info Index0x04 (uint)Offset of the file in the file info index
Offset of file in the File Path Index0x04 (uint)Contains the full name of the file.

File Info Index

NameSize (in bytes)Description
Unknown0x04 (uint)
File data offset0x04 (uint)Offset to the actual file data
Unknown0x08
Sample rate0x04 (uint)Sample rate of the binka file
File size0x04 (uint)Size of the file

File Path Index

NameSize (in bytes)Description
File name + pathVariable (Null terminated string)Uses the same naming scheme as Java does with it's resource packs
Binka nameVariable (Null terminated string)"*{size}*{offset}.binka" in text form.
NkaUsually 0x03 (Null terminated string)Appears to be the word Binka cut off, it just says "nka" and I don't think it's ever read.

I found this out all by myself because I got bored and wanted to make docs on it lol -Dexrn

Contributors

The avatar of contributor named as Dexrn ZacAttack Dexrn ZacAttack
The avatar of contributor named as ZacAttack ZacAttack

Changelog

Contributors



Documentation page was setup by DexrnZacAttack.