CSMP (File Format): Difference between revisions
Yeah I can think of some critique...
imported>Antidote (WIP, please critique and make changes.) |
>Aruki (Yeah I can think of some critique...) |
||
Line 5: | Line 5: | ||
==Header== | == Header == | ||
What follows is the header found in Metroid Prime 3 and Donkey Kong Country Returns, Tropical Freeze's seems to be a bit different. The file can be read using a simple while loop, each chunk designates it's size | What follows is the header found in Metroid Prime 3 and Donkey Kong Country Returns, Tropical Freeze's seems to be a bit different. The file can be read using a simple while loop, each chunk designates it's size | ||
Line 18: | Line 18: | ||
|4 | |4 | ||
|'''Magic'''; Always 0x43534D50 ("CSMP") | |'''Magic'''; Always 0x43534D50 ("CSMP") | ||
|- | |||
|0x4 | |0x4 | ||
|4 | |4 | ||
|'''Version'''; Always 1 | |'''Version'''; Always 1 | ||
} | |} | ||
==Chunk== | == Chunk == | ||
{|class="wikitable" | {|class="wikitable" | ||
Line 33: | Line 34: | ||
|4 | |4 | ||
|'''ChunkType''' | |'''ChunkType''' | ||
|- | |||
|0x4 | |0x4 | ||
|4 | |4 | ||
Line 39: | Line 41: | ||
|0x8+N | |0x8+N | ||
|colspan=2|End of chunk (usually, subtract 4 when the chunk type is equal to 0x44415441 ("DATA")) | |colspan=2|End of chunk (usually, subtract 4 when the chunk type is equal to 0x44415441 ("DATA")) | ||
} | |} | ||
==Chunk Types== | == Chunk Types == | ||
The known values for each chunk are as follows | The known values for each chunk are as follows | ||
Line 53: | Line 55: | ||
|1 | |1 | ||
|'''Unknown''' | |'''Unknown''' | ||
|- | |||
|0x1 | |0x1 | ||
|1 | |1 | ||
Line 68: | Line 71: | ||
|4 | |4 | ||
|'''Volume''' | |'''Volume''' | ||
} | |} | ||
--PAD-- | --PAD-- | ||
Padding, just seek '''ChunkSize''' bytes ahead | Padding, just seek '''ChunkSize''' bytes ahead |