MLVL (File Format): Difference between revisions
Jump to navigation
Jump to search
m
→Audio Groups
>Aruki m (adding research template and splitting off attached area IDs) |
>Aruki m (→Audio Groups) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 112: | Line 112: | ||
| [[SAVW (File Format)|SAVW]] | | [[SAVW (File Format)|SAVW]] | ||
| 4/8 | | 4/8 | ||
| ''' | | '''SaveWorld ID''' | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 120: | Line 120: | ||
| [[CMDL (File Format)|CMDL]] | | [[CMDL (File Format)|CMDL]] | ||
| 4/8 | | 4/8 | ||
| '''World skybox | | '''World skybox CMDL ID''' | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 165: | Line 165: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 170: | Line 174: | ||
| 4 | | 4 | ||
| '''Memory Relay instance ID''' | | '''Memory Relay instance ID''' | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 175: | Line 183: | ||
| 4 | | 4 | ||
| '''Target instance ID''' | | '''Target instance ID''' | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | u16 | ||
| 2 | | 2 | ||
| '''Message''' | | '''Message''' | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| | | 0x10 | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| {{unknown|'''Unknown''' (always 0)}} | | {{unknown|'''Unknown''' (always 0)}} | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 260: | Line 280: | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
| u32 | | u32/u64 | ||
| 4/8 | | 4/8 | ||
| '''Area ID'''; used by layer-switching objects | | '''Area ID'''; used by layer-switching objects | ||
Line 271: | Line 291: | ||
==== Attached Areas ==== | ==== Attached Areas ==== | ||
This part contains a small table listing what areas within the world are attached (connected) to this one. This is done by using indices into the MLVL's area table; so an index | This part contains a small table listing what areas within the world are attached (connected) to this one. This is done by using indices into the MLVL's area table; so an index of 0 indicates the first area listed in the MLVL, for example. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 285: | Line 304: | ||
| u32 | | u32 | ||
| 4 | | 4 | ||
| '''Attached area | | '''Attached area index count''' (AC) | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 319: | Line 338: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 324: | Line 347: | ||
| 4 | | 4 | ||
| '''Layer count''' (LC) | | '''Layer count''' (LC) | ||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 329: | Line 356: | ||
| 4 × LC | | 4 × LC | ||
| '''Layer dependency offsets''' | | '''Layer dependency offsets''' | ||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 339: | Line 370: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Dock count''' (DC) | | '''Dock count''' (DC) | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| [[#Dock|Dock]] | | [[#Dock|Dock]] | ||
| DC | | DC | ||
| '''Docks''' | | '''Docks''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 355: | Line 398: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Connecting dock count''' (CC) | | '''Connecting dock count''' (CC) | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| [[#Connecting Dock|Connecting dock]] | | [[#Connecting Dock|Connecting dock]] | ||
| CC | | CC | ||
| '''Connecting docks''' | | '''Connecting docks''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| {{unknown|'''Unknown''' (always 4; possibly dock coordinate count)}} | | {{unknown|'''Unknown''' (always 4; possibly dock coordinate count)}} | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| vec3 | | vec3 | ||
| 4 | | 4 | ||
| '''Dock coordinates''' | | '''Dock coordinates''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 379: | Line 442: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Area index''' | | '''Area index''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Dock index''' | | '''Dock index''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 397: | Line 472: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''.rel count''' (RC) | | '''.rel count''' (RC) | ||
| {{nocheck}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| string | | string | ||
| RC | | RC | ||
| '''.rel filenames''' (all zero-terminated) | | '''.rel filenames''' (all zero-terminated) | ||
| {{nocheck}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Layer count''' (LC) | | '''Layer count''' (LC) | ||
| {{nocheck}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
| LC | | LC | ||
| '''Layer .rel offsets''' | | '''Layer .rel offsets''' | ||
| {{nocheck}} | |||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 428: | Line 523: | ||
| u32 | | u32 | ||
| 4 | | 4 | ||
| {{unknown|'''Unknown'''; always 0 | | {{unknown|'''Unknown'''; always 0}} | ||
| {{nocheck}} | | {{nocheck}} | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 451: | Line 546: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| [[MAPW (File Format)|MAPW]] | | [[MAPW (File Format)|MAPW]] | ||
| 4/8 | | 4/8 | ||
| '''World map''' | | '''World map''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| {{unknown|'''Unknown'''; always 0 | | {{unknown|'''Unknown'''; always 0}} | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|- | |- | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| {{unknown|'''Unknown'''; always 0 | | {{unknown|'''Unknown'''; always 0}} | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 473: | Line 584: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 4 | | 4 | ||
| {{unknown|'''Unknown'''}} | | {{unknown|'''Unknown'''}} | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|- | |- | ||
| [[AGSC (File Format)|AGSC]] | | [[AGSC (File Format)|AGSC]] | ||
| 4 | | 4 | ||
| '''Audio Group file''' | | '''Audio Group file''' | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|} | |} | ||
There's | There's one byte following this, at the end of the AGSC table. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 489: | Line 612: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| {{unknown|'''Unknown'''; always 0 | | {{unknown|'''Unknown'''; always 0}} | ||
| {{check}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
|} | |} | ||
Line 513: | Line 640: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 4 | | 4 | ||
| '''Area layer count''' | | '''Area layer count''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u64 | | u64 | ||
| 8 | | 8 | ||
| '''Area layer flags''' | | '''Area layer flags''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|} | |} | ||
Line 531: | Line 670: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Layer count''' (LC) | | '''Layer count''' (LC) | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| string | | string | ||
| LC | | LC | ||
| '''Layer names''' (zero-terminated) | | '''Layer names''' (zero-terminated) | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|} | |} | ||
==== | ==== Layer IDs ==== | ||
This array is only present in Prime 3 and DKCR. | This array is only present in Prime 3 and DKCR, and is used by layer-switching objects. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 549: | Line 700: | ||
! Size | ! Size | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 4 | | 4 | ||
| '''Layer ID count''' (IC) | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u128 | ||
| 0x10 × | | 0x10 × IC | ||
| '''Layer ID''' | |||
| {{nocheck}} | |||
| {{nocheck}} | |||
| {{check}} | |||
| {{check}} | |||
|} | |} | ||
Line 567: | Line 730: | ||
! Count | ! Count | ||
! Description | ! Description | ||
! MP1 | |||
! MP2 | |||
! MP3 | |||
! DKCR | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Area count''' (AC) | | '''Area count''' (AC) | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
| AC | | AC | ||
| '''Area layer names offsets''' | | '''Area layer names offsets''' | ||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
| {{check}} | |||
|} | |} | ||