<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.metroid2002.com/retromodding/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claris</id>
		<title>Retro Modding Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.metroid2002.com/retromodding/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claris"/>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/wiki/Special:Contributions/Claris"/>
		<updated>2026-05-01T13:15:57Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1878</id>
		<title>MAPA (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1878"/>
				<updated>2017-04-27T11:46:56Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: The Corruption format should actually be correct now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''.MAPA file format''' defines the minimap models used in the Metroid Prime series. MAPA or '''MAP A'''rea consists of several sections: The header, Mappable Object entries, Vertices, Primitive Headers, and the primitives.&lt;br /&gt;
&lt;br /&gt;
{{research|2|A few things are unknown in the header and Mappable Object Entries}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header is very straightforward, and has some minor differences depending on version.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1&lt;br /&gt;
!MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Magic'''; Always 0xDEADD00D&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Version'''; See below&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; unknown function in MP1/3, specifies whether the area appears on the Light (0) or Dark (1) map in MP2&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible (Map Universe Area)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit or Map Station (most MP1 areas)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit only (latter areas of Ruins and Phendrana)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{AABox}}&lt;br /&gt;
|'''Bounding Box'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Map Adjustment'''&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Mappable Object Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Vertex Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Environment Variable Section Size'''&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Environment Variable Count'''&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=5 {{unknown|End of Header}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
The version value listed above can have the following values:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Game&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 1&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 2: Echoes&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 3: Corruption&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Environment Variables ===&lt;br /&gt;
Only exists in Corruption; used for some areas with Landing Sites.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Count&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|Environment Variable Count&lt;br /&gt;
|'''Environment Variable'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 {{unknown|Pad to 4 bytes}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 {{unknown|End of Environment Variables}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mappable Objects ===&lt;br /&gt;
A Mappable Object in the Metroid Prime series can include: Elevators, Doors, and Save/Missile Stations. Each Mappable Object entry consists of the following struct:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1 &amp;amp; MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; See table below for MP1 types&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Door Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Editor ID'''; Same ID format as SCLY, indicates associated world object&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Saved State ID]]&lt;br /&gt;
|'''Saved State ID'''&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Transform4f}}&lt;br /&gt;
|'''Transform Matrix''' The Mappable Object's position in '''world''' space.&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32 * 4&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=4 {{unknown|End of Mappable Object}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MP1 Types ====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Normal Door&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shield Door&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Ice Door&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Wave Door&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Plasma Door&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Big Door&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Big Door 2&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Ice Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Ice Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Wave Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Wave Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Plasma Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Plasma Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Ice Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Wave Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Plasma Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Down Arrow Yellow (Maintenance Tunnel)&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Up Arrow Yellow (Phazon Processing Center)&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Down Arrow Green (Elevator A)&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Up Arrow Green (Elite Control Access)&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Down Arrow Red (Elevator B)&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Up Arrow Red (Fungal Hall Access)&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Elevator&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|Save Station&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|Missile Station&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
Vertices are a simple array of CVector3f. Geometry in MAPAs is, almost always, centered around the origin (0, 0, 0) and are simplified, full sized, versions of the map they replicate. Each vertex is referenced at least twice: once for the primitive, once for the line border.&lt;br /&gt;
&lt;br /&gt;
=== Primitive Headers ===&lt;br /&gt;
&lt;br /&gt;
The Primitive headers are extremely simple, they merely have a bounding box followed by the primitive table start and end point, relative to the end of the current primitive header. In other words: read in the header, seek to the start of the table from the '''current''' position, then read the primitives tables.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Normal'''&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Center of Mass'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Table Start'''; relative to the end of the header&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Table Start'''; relative to the end of the header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive Table ===&lt;br /&gt;
&lt;br /&gt;
The Primitive is also fairly simple, each one consists of two parts: The GX Primitive list, and the Border list. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count (PC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Primitive * PC&lt;br /&gt;
|'''Primitives'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Count (BC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Border * (BC)&lt;br /&gt;
|'''Borders'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
&lt;br /&gt;
A primitive in a MAPA is a simple 4 byte aligned list of indices into the vertex list, starting with the GX Primitive type, a count, then an array of indices, each index taking up one byte.&lt;br /&gt;
&lt;br /&gt;
=== Border ===&lt;br /&gt;
&lt;br /&gt;
A border in a MAPA is a simple count followed by a 4 byte aligned list indices into the vertex list, each index taking up one byte. A border is simply drawn using GX_LINESTRIP.&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1877</id>
		<title>MAPA (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1877"/>
				<updated>2017-04-27T05:37:46Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Saved State ID&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''.MAPA file format''' defines the minimap models used in the Metroid Prime series. MAPA or '''MAP A'''rea consists of several sections: The header, Mappable Object entries, Vertices, Primitive Headers, and the primitives.&lt;br /&gt;
&lt;br /&gt;
{{research|2|A few things are unknown in the header and Mappable Object Entries}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header is very straight forward, and has some minor differences depending on version, the unknown values don't seem to do anything, however not much research has been put into them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1&lt;br /&gt;
!MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Magic'''; Always 0xDEADD00D&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Version'''; See below&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; unknown function in MP1/3, specifies whether the area appears on the Light (0) or Dark (1) map in MP2&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible (Map Universe Area)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit or Map Station (most MP1 areas)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit only (latter areas of Ruins and Phendrana)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{AABox}}&lt;br /&gt;
|'''Bounding Box'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Mappable Object Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Vertex Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
The version value listed above can have the following values:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Game&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 1&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 2: Echoes&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 3: Corruption&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mappable Objects ===&lt;br /&gt;
A Mappable Object in the Metroid Prime series can include: Elevators, Doors, and Save/Missile Stations. Each Mappable Object entry consists of the following struct:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1 &amp;amp; MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; See table below for MP1 types&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Door Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Editor ID'''; Same ID format as SCLY, indicates associated world object&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Saved State ID]]&lt;br /&gt;
|'''Saved State ID'''&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Padding'''; always -1&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Transform4f}}&lt;br /&gt;
|'''Transform Matrix''' The Mappable Object's position in '''world''' space.&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32 * 4&lt;br /&gt;
|'''Padding'''; four values of -1&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MP1 Types ====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Normal Door&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shield Door&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Ice Door&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Wave Door&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Plasma Door&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Big Door&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Big Door 2&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Ice Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Ice Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Wave Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Wave Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Plasma Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Plasma Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Ice Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Wave Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Plasma Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Down Arrow Yellow (Maintenance Tunnel)&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Up Arrow Yellow (Phazon Processing Center)&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Down Arrow Green (Elevator A)&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Up Arrow Green (Elite Control Access)&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Down Arrow Red (Elevator B)&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Up Arrow Red (Fungal Hall Access)&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Elevator&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|Save Station&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|Missile Station&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
Vertices are a simple array of CVector3f. Geometry in MAPAs is, almost always, centered around the origin (0, 0, 0) and are simplified, full sized, versions of the map they replicate. Each vertex is referenced at least twice: once for the primitive, once for the line border.&lt;br /&gt;
&lt;br /&gt;
=== Primitive Headers ===&lt;br /&gt;
&lt;br /&gt;
The Primitive headers are extremely simple, they merely have a bounding box followed by the primitive table start and end point, relative to the end of the current primitive header. In other words: read in the header, seek to the start of the table from the '''current''' position, then read the primitives tables.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Normal'''&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Center of Mass'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Table Start'''; relative to the end of the header&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Table Start'''; relative to the end of the header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive Table ===&lt;br /&gt;
&lt;br /&gt;
The Primitive is also fairly simple, each one consists of two parts: The GX Primitive list, and the Border list. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count (PC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Primitive * PC&lt;br /&gt;
|'''Primitives'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Count (BC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Border * (BC)&lt;br /&gt;
|'''Borders'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
&lt;br /&gt;
A primitive in a MAPA is a simple 4 byte aligned list of indices into the vertex list, starting with the GX Primitive type, a count, then an array of indices, each index taking up one byte.&lt;br /&gt;
&lt;br /&gt;
=== Border ===&lt;br /&gt;
&lt;br /&gt;
A border in a MAPA is a simple count followed by a 4 byte aligned list indices into the vertex list, each index taking up one byte. A border is simply drawn using GX_LINESTRIP.&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1876</id>
		<title>MAPA (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1876"/>
				<updated>2017-04-27T05:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Consistent naming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''.MAPA file format''' defines the minimap models used in the Metroid Prime series. MAPA or '''MAP A'''rea consists of several sections: The header, Mappable Object entries, Vertices, Primitive Headers, and the primitives.&lt;br /&gt;
&lt;br /&gt;
{{research|2|A few things are unknown in the header and Mappable Object Entries}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header is very straight forward, and has some minor differences depending on version, the unknown values don't seem to do anything, however not much research has been put into them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1&lt;br /&gt;
!MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Magic'''; Always 0xDEADD00D&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Version'''; See below&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; unknown function in MP1/3, specifies whether the area appears on the Light (0) or Dark (1) map in MP2&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible (Map Universe Area)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit or Map Station (most MP1 areas)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Visit only (latter areas of Ruins and Phendrana)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{AABox}}&lt;br /&gt;
|'''Bounding Box'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Mappable Object Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Vertex Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count'''&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
The version value listed above can have the following values:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Game&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 1&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 2: Echoes&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime 3: Corruption&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mappable Objects ===&lt;br /&gt;
A Mappable Object in the Metroid Prime series can include: Elevators, Doors, and Save/Missile Stations. Each Mappable Object entry consists of the following struct:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!MP1 &amp;amp; MP2&lt;br /&gt;
!MP3&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Type'''; See table below for MP1 types&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Visibility Mode'''; &amp;lt;ol start=0&amp;gt;&amp;lt;li&amp;gt;Always Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Door Visit&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Never Visible&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Visible on Map Station or Area Visit&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Editor ID'''; Same ID format as SCLY, indicates associated world object&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector4f}}&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Padding'''; always -1&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Transform4f}}&lt;br /&gt;
|'''Transform Matrix''' The Mappable Object's position in '''world''' space.&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|-&lt;br /&gt;
|u32 * 4&lt;br /&gt;
|'''Padding'''; four values of -1&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MP1 Types ====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Normal Door&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Shield Door&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Ice Door&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Wave Door&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Plasma Door&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Big Door&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Big Door 2&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Ice Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Ice Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Wave Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Wave Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Plasma Door Ceiling&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Plasma Door Floor&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Ice Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Wave Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Plasma Door Floor 2&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Down Arrow Yellow (Maintenance Tunnel)&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Up Arrow Yellow (Phazon Processing Center)&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Down Arrow Green (Elevator A)&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Up Arrow Green (Elite Control Access)&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Down Arrow Red (Elevator B)&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Up Arrow Red (Fungal Hall Access)&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Elevator&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|Save Station&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|Missile Station&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
Vertices are a simple array of CVector3f. Geometry in MAPAs is, almost always, centered around the origin (0, 0, 0) and are simplified, full sized, versions of the map they replicate. Each vertex is referenced at least twice: once for the primitive, once for the line border.&lt;br /&gt;
&lt;br /&gt;
=== Primitive Headers ===&lt;br /&gt;
&lt;br /&gt;
The Primitive headers are extremely simple, they merely have a bounding box followed by the primitive table start and end point, relative to the end of the current primitive header. In other words: read in the header, seek to the start of the table from the '''current''' position, then read the primitives tables.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Normal'''&lt;br /&gt;
|-&lt;br /&gt;
|{{Vector3f}}&lt;br /&gt;
|'''Center of Mass'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Table Start'''; relative to the end of the header&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Table Start'''; relative to the end of the header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive Table ===&lt;br /&gt;
&lt;br /&gt;
The Primitive is also fairly simple, each one consists of two parts: The GX Primitive list, and the Border list. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Count (PC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Primitive * PC&lt;br /&gt;
|'''Primitives'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Border Count (BC)'''&lt;br /&gt;
|-&lt;br /&gt;
|Border * (BC)&lt;br /&gt;
|'''Borders'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
&lt;br /&gt;
A primitive in a MAPA is a simple 4 byte aligned list of indices into the vertex list, starting with the GX Primitive type, a count, then an array of indices, each index taking up one byte.&lt;br /&gt;
&lt;br /&gt;
=== Border ===&lt;br /&gt;
&lt;br /&gt;
A border in a MAPA is a simple count followed by a 4 byte aligned list indices into the vertex list, each index taking up one byte. A border is simply drawn using GX_LINESTRIP.&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Metroid_Prime_2:_Echoes&amp;diff=1747</id>
		<title>Metroid Prime 2: Echoes</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Metroid_Prime_2:_Echoes&amp;diff=1747"/>
				<updated>2016-12-11T19:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Metroid Prime 2: Echoes''' is the sequel to the critically acclaimed [[Metroid Prime]], and the second game developed by Retro.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Builds ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Build&lt;br /&gt;
! Date/Time&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| v0.160&lt;br /&gt;
| 6/29/2004 18:53:25&lt;br /&gt;
| Metroid Prime 2: Echoes Bonus Disc&lt;br /&gt;
|-&lt;br /&gt;
| v1.028&lt;br /&gt;
| 10/18/2004 10:44:32&lt;br /&gt;
| GameCube 0-00 NTSC (Original Release)&lt;br /&gt;
|-&lt;br /&gt;
| v1.035&lt;br /&gt;
| 10/27/2004 19:48:17&lt;br /&gt;
| GameCube 0-00 PAL&lt;br /&gt;
|-&lt;br /&gt;
| v1.036&lt;br /&gt;
| 12/20/2004 11:53:11&lt;br /&gt;
| GameCube 0-00 NTSC-J&lt;br /&gt;
|-&lt;br /&gt;
| v3.593&lt;br /&gt;
| 2008/08/21 17:09&lt;br /&gt;
| Metroid Prime: Trilogy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Formats ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Format&lt;br /&gt;
! Contents&lt;br /&gt;
|-&lt;br /&gt;
| [[AFSM (File Format)|AFSM]]&lt;br /&gt;
| AI Finite State Machine&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| Audio Group Set&lt;br /&gt;
|-&lt;br /&gt;
| [[ANCS (File Format)|ANCS]]&lt;br /&gt;
| Animation/Character Set&lt;br /&gt;
|-&lt;br /&gt;
| [[ANIM (File Format)|ANIM]]&lt;br /&gt;
| Animation&lt;br /&gt;
|-&lt;br /&gt;
| [[ATBL (File Format)|ATBL]]&lt;br /&gt;
| Audio Lookup Table&lt;br /&gt;
|-&lt;br /&gt;
| [[CINF (File Format)|CINF]]&lt;br /&gt;
| Skeleton&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (Metroid Prime)|CMDL]]&lt;br /&gt;
| Model&lt;br /&gt;
|-&lt;br /&gt;
| [[CRSC (File Format)|CRSC]]&lt;br /&gt;
| Collision Response Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[CSKR (File Format)|CSKR]]&lt;br /&gt;
| Skin Rules&lt;br /&gt;
|-&lt;br /&gt;
| [[CSNG (File Format)|CSNG]]&lt;br /&gt;
| MusyX MIDI File&lt;br /&gt;
|-&lt;br /&gt;
| [[CSPP (File Format)|CSPP]]&lt;br /&gt;
| Spatial Primitive&lt;br /&gt;
|-&lt;br /&gt;
| [[DCLN (File Format)|DCLN]]&lt;br /&gt;
| Dynamic Collision&lt;br /&gt;
|-&lt;br /&gt;
| [[DGRP (File Format)|DGRP]]&lt;br /&gt;
| Dependency Group&lt;br /&gt;
|-&lt;br /&gt;
| [[DPSC (File Format)|DPSC]]&lt;br /&gt;
| Decal Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP (File Format)|DSP]]&lt;br /&gt;
| Music&lt;br /&gt;
|-&lt;br /&gt;
| [[DUMB (File Format)|DUMB]]&lt;br /&gt;
| Binary Data&lt;br /&gt;
|-&lt;br /&gt;
| [[EGMC (File Format)|EGMC]]&lt;br /&gt;
| Editor Object to Static Geometry Map&lt;br /&gt;
|-&lt;br /&gt;
| [[ELSC (File Format)|ELSC]]&lt;br /&gt;
| Electric Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[FONT (File Format)|FONT]]&lt;br /&gt;
| Font&lt;br /&gt;
|-&lt;br /&gt;
| [[FRME (File Format)|FRME]]&lt;br /&gt;
| GUI Frame&lt;br /&gt;
|-&lt;br /&gt;
| [[FSM2 (File Format)|FSM2]]&lt;br /&gt;
| Finite State Machine 2&lt;br /&gt;
|-&lt;br /&gt;
| [[HINT (File Format)|HINT]]&lt;br /&gt;
| Hint System&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPA (File Format)|MAPA]]&lt;br /&gt;
| Area Map&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPU (File Format)|MAPU]]&lt;br /&gt;
| Universe Map&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| World Map&lt;br /&gt;
|-&lt;br /&gt;
| [[MLVL (File Format)|MLVL]]&lt;br /&gt;
| World&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| Area&lt;br /&gt;
|-&lt;br /&gt;
| [[NTWK (File Format)|NTWK]]&lt;br /&gt;
| Tweaks&lt;br /&gt;
|-&lt;br /&gt;
| [[PAK (Metroid Prime)|PAK]]&lt;br /&gt;
| Package&lt;br /&gt;
|-&lt;br /&gt;
| [[PART (File Format)|PART]]&lt;br /&gt;
| Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[PATH (File Format)|PATH]]&lt;br /&gt;
| Pathfinding&lt;br /&gt;
|-&lt;br /&gt;
| [[PTLA (File Format)|PTLA]]&lt;br /&gt;
| Portal Area&lt;br /&gt;
|-&lt;br /&gt;
| [[REL (File Format)|REL]]&lt;br /&gt;
| Relocatable Module&lt;br /&gt;
|-&lt;br /&gt;
| [[RULE (File Format)|RULE]]&lt;br /&gt;
| Rule Set&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| World Save Info&lt;br /&gt;
|-&lt;br /&gt;
| [[SCAN (Metroid Prime 2)|SCAN]]&lt;br /&gt;
| Scannable Object Info&lt;br /&gt;
|-&lt;br /&gt;
| [[SPSC (File Format)|SPSC]]&lt;br /&gt;
| Spawn Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[SRSC (File Format)|SRSC]]&lt;br /&gt;
| Sorted Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[STLC (File Format)|STLC]]&lt;br /&gt;
| String List&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| String Table&lt;br /&gt;
|-&lt;br /&gt;
| [[SWHC (File Format)|SWHC]]&lt;br /&gt;
| Swoosh Particle System&lt;br /&gt;
|-&lt;br /&gt;
| [[THP (File Format)|THP]]&lt;br /&gt;
| Video&lt;br /&gt;
|-&lt;br /&gt;
| [[TXTR (Metroid Prime)|TXTR]]&lt;br /&gt;
| Texture&lt;br /&gt;
|-&lt;br /&gt;
| [[WPSC (File Format)|WPSC]]&lt;br /&gt;
| Weapon Particle System&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Games]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1645</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1645"/>
				<updated>2016-08-14T23:49:54Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Dock Count&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|minor|There's a couple unknown values in this format, but they all seem to have constant values.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Magic'''&lt;br /&gt;
| Always &amp;lt;code&amp;gt;0xDEAFBABE&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Version'''&lt;br /&gt;
| [[#Version|See below]]&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] file for the world name.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dark World Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] file for the Dark World name.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Temple Key World Index'''&lt;br /&gt;
| Controls which temple key icons appear on the map screen. Appears in Prime 3 but always 0.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| '''Has Time Attack'''&lt;br /&gt;
| Indicates whether this world has a Time Attack mode. '''If false, the next five values are not present.'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level Number'''&lt;br /&gt;
| String of the world/level number; for example, &amp;quot;1-1&amp;quot;. Purpose unknown.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Bronze Time'''&lt;br /&gt;
| Target time for a bronze medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Silver Time'''&lt;br /&gt;
| Target time for a silver medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Gold Time'''&lt;br /&gt;
| Target time for a gold medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Shiny Gold Time'''&lt;br /&gt;
| Target time for a shiny gold medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[SAVW (File Format)|SAVW]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Save Info ID'''&lt;br /&gt;
| Asset ID for this world's [[SAVW (File Format)|SAVW]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[CMDL (File Format)|CMDL]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Default Skybox ID'''&lt;br /&gt;
| [[CMDL (File Format)|CMDL]] file for this world's default skybox model. This can be overridden per-area by AreaAttributes objects.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Memory Relay Count'''&lt;br /&gt;
| Count of all outgoing connections from Memory Relay instances in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Memory Relay|Memory Relay]]&lt;br /&gt;
| ''Memory Relay Count''&lt;br /&gt;
| '''Memory Relay Array'''&lt;br /&gt;
| Array describing all outgoing Memory Relay connections in this world. Memory Relays connected to multiple objects are listed multiple times.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Count of areas in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always 1?&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area|Area]]&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Array'''&lt;br /&gt;
| Array defining all areas that appear in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[MAPW (File Format)|MAPW]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Map ID'''&lt;br /&gt;
| ID of this world's [[MAPW (File Format)|MAPW]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| This is presumably the same unknown value as at the beginning of the [[Scriptable Layers (Metroid Prime)|SCLY]] format. Always 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Script Instance Count'''&lt;br /&gt;
| The MLVL format embeds a script layer. This script layer is used in the MP1 demo for storing Dock instances, but it's unused in all retail builds, so this is always 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Audio Group Count'''&lt;br /&gt;
| Count of all audio groups used in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Audio Group|Audio Group]]&lt;br /&gt;
| ''Audio Group Count''&lt;br /&gt;
| '''Audio Group Array'''&lt;br /&gt;
| Array describing all audio groups used in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always empty, so the only value that ever appears here is the terminating 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Will be equal to the earlier area count.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Layer Flags|Area Layer Flags]]&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Layer Flags'''&lt;br /&gt;
| This array initializes the default active state for all script layers in each area.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer Name Count'''&lt;br /&gt;
| Count of layer names in the next array.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| ''Layer Name Count''&lt;br /&gt;
| '''Layer Name Array'''&lt;br /&gt;
| Array of all layer names in the world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer State ID Count'''&lt;br /&gt;
| Count of layer state IDs in the next array.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Saved State ID]]&lt;br /&gt;
| ''Layer State ID Count''&lt;br /&gt;
| '''Layer State ID Array'''&lt;br /&gt;
| Array of saved state IDs for each layer. These IDs are responsible for storing the layer's active state in the save file and are referenced by ScriptLayerController objects.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Identical to the previous two area counts.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Layer Name Offset Array'''&lt;br /&gt;
| Each value is an offset into the layer name array and points to where the layer names for each area begins.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 {{unknown|End of file}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Version ===&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relay ===&lt;br /&gt;
&lt;br /&gt;
This structure only appears in Prime 1. It describes an outgoing connection from a Memory Relay to another script instance. Any Memory Relays connected to multiple objects will appear in the array multiple times.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Memory Relay Instance ID'''&lt;br /&gt;
| Instance ID of the sender Memory Relay.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| '''Target Instance ID'''&lt;br /&gt;
| Instance ID of the receiver object.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| Script message sent to the receiver object.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| bool&lt;br /&gt;
| '''Active'''&lt;br /&gt;
| Whether this Memory Relay object is active by default; almost always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| colspan=3 {{unknown|End of Memory Relay connection}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Area ===&lt;br /&gt;
&lt;br /&gt;
This structure defines a single area and describes its position in the world and how it connects to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] ID for the area name.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 12&lt;br /&gt;
| '''Area Transform'''&lt;br /&gt;
| Area's transform matrix. Most area data is pre-transformed, but there are a few things that need to be transformed by this matrix.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 6&lt;br /&gt;
| '''Area Bounding Box'''&lt;br /&gt;
| This is the bounding box of the area's collision mesh and is equivalent to the bounding box found in the [[MREA (File Format)|MREA]] collision section.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[MREA (File Format)|MREA]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area MREA ID'''&lt;br /&gt;
| ID of this area's [[MREA (File Format)|MREA]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal Area ID'''&lt;br /&gt;
| Doesn't actually refer to an asset, but has the same length as an asset ID. This ID is used internally by some things to refer to this area, such as Script Layer Controllers.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Attached Area Count'''&lt;br /&gt;
| Count of areas attached to this one.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| ''Attached Area Count''&lt;br /&gt;
| '''Attached Area Index Array'''&lt;br /&gt;
| Array of area indices attached to this one.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Dependencies|Area Dependencies]]&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependencies'''&lt;br /&gt;
| Asset dependencies in this area. See below for details. Starting in Prime 3, this section has been moved inside the [[MREA (File Format)|MREA]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock Count'''&lt;br /&gt;
| Count of Dock instances in this area.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| ''Dock Count''&lt;br /&gt;
| '''Dock Array'''&lt;br /&gt;
| Array describing all docks in this area.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Module Dependencies|Area Module Dependencies]]&lt;br /&gt;
| 1&lt;br /&gt;
| '''Module Dependencies'''&lt;br /&gt;
| REL module dependencies in this area. See below for details. The equivalent section in Prime 3 and DKCR describing RSO modules has been moved inside the [[MREA (File Format)|MREA]] format.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always 0?&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal Area Name'''&lt;br /&gt;
| Internal name of this area. Only appears ingame if no Area Name ID is specified (although it will be prefixed with &amp;quot;!!&amp;quot;).&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 {{unknown|End of area}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Dependencies ====&lt;br /&gt;
&lt;br /&gt;
This is a data chunk appearing in the area definition in Metroid Prime 1 and 2 that lists all assets needed to load the area. It's extremely important that this list be optimized and complete, as all assets listed here will be perpetually kept in memory as long as the area itself is in memory; the list also specifies the order that assets are loaded in, so '''it must be grouped by load order to roughly match the [[PAK (File Format)|PAK]] file for optimized load times'''. Assets that are missing will still be dynamically loaded after the area itself is loaded, but this will cause the game to freeze up until the load is finished. There are a few exceptions that are excluded from this list in the original game files (and should be excluded in custom MLVLs as well to avoid out-of-memory crashes):&lt;br /&gt;
&lt;br /&gt;
* [[SCAN (File Format)|SCAN]] files and their dependencies are not included in the list. These are loaded dynamically after the area itself is finished loading.&lt;br /&gt;
* [[ANCS (File Format)|ANCS]] per-character dependencies for PlayerActor script instances are not included; this allows the game to avoid keeping assets in memory for suits that the player doesn't have. The exception is the Empty Suit character (character index 5), which is a low-memory-overhead character that allows for the list to include all common assets that are stored in the file per-character (such as particle effects).&lt;br /&gt;
* The skybox model and its dependencies are not included.&lt;br /&gt;
&lt;br /&gt;
The dependency list is split by layer; after the dependencies itself, an array of offsets into the dependency list is provided that allows the game to only load assets for layers that are currently active. The last offset points to all common resources used by the area that aren't layer-specific. With that in mind, every layer needs to have a full list of its required assets even if they're also used by other layers. There's no harm in including an asset multiple times, as if an asset is already in memory then it'll simply be skipped over.&lt;br /&gt;
&lt;br /&gt;
This data chunk still exists in Prime 3 and DKCR, but it's been moved inside the [[MREA (File Format)|MREA]] format.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Count'''&lt;br /&gt;
| Count of dependencies.&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dependency|Dependency]]&lt;br /&gt;
| ''Dependency Count''&lt;br /&gt;
| '''Dependency Array'''&lt;br /&gt;
| Array of all asset dependencies in this area.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Offset Count'''&lt;br /&gt;
| Count of dependency offsets. This will be equal to the area script layer count + 1.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''Dependency Offset Count''&lt;br /&gt;
| '''Dependency Offset Array'''&lt;br /&gt;
| Array of offsets into the dependency array. There is one offset per script layer, with the offset referring to the index of that layer's first dependency. There is a final extra offset that points to area dependencies that are not layer-specific.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dependency =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| Asset ID&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Asset ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| char&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dependency Asset Type'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dock ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting Dock Count'''&lt;br /&gt;
| Count of docks connecting to this one. Typically 1 (but there are docks in Prime 3 that connect to multiple areas).&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting Dock]]&lt;br /&gt;
| ''Connecting Dock Count''&lt;br /&gt;
| '''Connecting Dock Array'''&lt;br /&gt;
| Array describing all docks connected to this one.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock Coordinate Count'''&lt;br /&gt;
| Array of dock coordinates in the next array.&lt;br /&gt;
|-&lt;br /&gt;
| Vector3&lt;br /&gt;
| ''Dock Coordinate Count''&lt;br /&gt;
| '''Dock Coordinates'''&lt;br /&gt;
| Exact purpose/function of this is not known yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Area Index'''&lt;br /&gt;
| Index of the area this dock is in.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| '''Dock Index'''&lt;br /&gt;
| Index of this dock within its area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Module Dependencies ====&lt;br /&gt;
&lt;br /&gt;
This is a data chunk appearing in the area definitions that describes all REL modules that must be linked in for this area to run. These are tied to script objects. The list is split per-layer so that only modules being used by the active layer are linked in; modules will appear once in the list for each layer that uses it. After the REL list, there is an array of offsets that points to the starting index in the list for each script layer, similar to the regular area dependencies list. For an unknown reason, the offsets list contains two offsets per layer. The first one refers to the layer's start index while the second one is usually empty, which effectively makes it an end index.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''REL Module Count'''&lt;br /&gt;
| Count of REL modules in the next array.&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| ''REL Module Count''&lt;br /&gt;
| '''REL Module Array'''&lt;br /&gt;
| REL modules used by this area. Each array entry is the filename of a .REL module.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''REL Offset Count'''&lt;br /&gt;
| Count of REL offsets in the next array. Should be equal to the area script layer count * 2.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''REL Offset Count''&lt;br /&gt;
| '''REL Offset Array'''&lt;br /&gt;
| Array of offsets into the ''REL Module Array''. There are two offsets per script layer, with the first one being that layer's start index and the second one effectively being that layer's end index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Group ===&lt;br /&gt;
&lt;br /&gt;
This structure is only present in Prime 1 and describes an [[AGSC (File Format)|AGSC]] file being used in this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Group ID'''&lt;br /&gt;
| Group ID for this audio group. This is the same value that can be found in the Project chunk in the referenced [[AGSC (File Format)|AGSC]] file.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| Asset ID ([[AGSC (File Format)|AGSC]])&lt;br /&gt;
| '''AGSC ID'''&lt;br /&gt;
| The [[AGSC (File Format)|AGSC]] file for this audio group.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| colspan=3 {{unknown|End of audio group definition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Area Layer Flags ===&lt;br /&gt;
&lt;br /&gt;
This is a small structure that determines which areas are active by default. It contains a layer count and then a 64-bit flag, with each bit corresponding to a particular layer; if the bit is set, then the layer will be active on a new save file. The low-order bits correspond to the lower layer indices. Bits for layers that don't exist are defaulted to on.&lt;br /&gt;
&lt;br /&gt;
Note that due to the size of these flags as well as a few other pieces of data in other formats, the maximum number of layers that can be contained in a single area is 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Layer Count'''&lt;br /&gt;
| Count of layers in this area.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u64&lt;br /&gt;
| '''Layer Flags'''&lt;br /&gt;
| See above for a description of how these work.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| colspan=3 {{unknown|End of area layer flags}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1644</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1644"/>
				<updated>2016-08-14T23:29:38Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Internal Area Name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|minor|There's a couple unknown values in this format, but they all seem to have constant values.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Magic'''&lt;br /&gt;
| Always &amp;lt;code&amp;gt;0xDEAFBABE&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Version'''&lt;br /&gt;
| [[#Version|See below]]&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] file for the world name.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dark World Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] file for the Dark World name.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Temple Key World Index'''&lt;br /&gt;
| Controls which temple key icons appear on the map screen. Appears in Prime 3 but always 0.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| '''Has Time Attack'''&lt;br /&gt;
| Indicates whether this world has a Time Attack mode. '''If false, the next five values are not present.'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level Number'''&lt;br /&gt;
| String of the world/level number; for example, &amp;quot;1-1&amp;quot;. Purpose unknown.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Bronze Time'''&lt;br /&gt;
| Target time for a bronze medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Silver Time'''&lt;br /&gt;
| Target time for a silver medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Gold Time'''&lt;br /&gt;
| Target time for a gold medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 1&lt;br /&gt;
| '''Time Attack Shiny Gold Time'''&lt;br /&gt;
| Target time for a shiny gold medal in Time Attack.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[SAVW (File Format)|SAVW]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Save Info ID'''&lt;br /&gt;
| Asset ID for this world's [[SAVW (File Format)|SAVW]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[CMDL (File Format)|CMDL]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Default Skybox ID'''&lt;br /&gt;
| [[CMDL (File Format)|CMDL]] file for this world's default skybox model. This can be overridden per-area by AreaAttributes objects.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Memory Relay Count'''&lt;br /&gt;
| Count of all outgoing connections from Memory Relay instances in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Memory Relay|Memory Relay]]&lt;br /&gt;
| ''Memory Relay Count''&lt;br /&gt;
| '''Memory Relay Array'''&lt;br /&gt;
| Array describing all outgoing Memory Relay connections in this world. Memory Relays connected to multiple objects are listed multiple times.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Count of areas in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always 1?&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area|Area]]&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Array'''&lt;br /&gt;
| Array defining all areas that appear in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[MAPW (File Format)|MAPW]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''World Map ID'''&lt;br /&gt;
| ID of this world's [[MAPW (File Format)|MAPW]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| This is presumably the same unknown value as at the beginning of the [[Scriptable Layers (Metroid Prime)|SCLY]] format. Always 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Script Instance Count'''&lt;br /&gt;
| The MLVL format embeds a script layer. This script layer is used in the MP1 demo for storing Dock instances, but it's unused in all retail builds, so this is always 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Audio Group Count'''&lt;br /&gt;
| Count of all audio groups used in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Audio Group|Audio Group]]&lt;br /&gt;
| ''Audio Group Count''&lt;br /&gt;
| '''Audio Group Array'''&lt;br /&gt;
| Array describing all audio groups used in this world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always empty, so the only value that ever appears here is the terminating 0.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Will be equal to the earlier area count.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Layer Flags|Area Layer Flags]]&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Layer Flags'''&lt;br /&gt;
| This array initializes the default active state for all script layers in each area.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer Name Count'''&lt;br /&gt;
| Count of layer names in the next array.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| ''Layer Name Count''&lt;br /&gt;
| '''Layer Name Array'''&lt;br /&gt;
| Array of all layer names in the world.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer State ID Count'''&lt;br /&gt;
| Count of layer state IDs in the next array.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Saved State ID]]&lt;br /&gt;
| ''Layer State ID Count''&lt;br /&gt;
| '''Layer State ID Array'''&lt;br /&gt;
| Array of saved state IDs for each layer. These IDs are responsible for storing the layer's active state in the save file and are referenced by ScriptLayerController objects.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Count'''&lt;br /&gt;
| Identical to the previous two area counts.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''Area Count''&lt;br /&gt;
| '''Area Layer Name Offset Array'''&lt;br /&gt;
| Each value is an offset into the layer name array and points to where the layer names for each area begins.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 {{unknown|End of file}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Version ===&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relay ===&lt;br /&gt;
&lt;br /&gt;
This structure only appears in Prime 1. It describes an outgoing connection from a Memory Relay to another script instance. Any Memory Relays connected to multiple objects will appear in the array multiple times.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Memory Relay Instance ID'''&lt;br /&gt;
| Instance ID of the sender Memory Relay.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| '''Target Instance ID'''&lt;br /&gt;
| Instance ID of the receiver object.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| Script message sent to the receiver object.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| bool&lt;br /&gt;
| '''Active'''&lt;br /&gt;
| Whether this Memory Relay object is active by default; almost always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| colspan=3 {{unknown|End of Memory Relay connection}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Area ===&lt;br /&gt;
&lt;br /&gt;
This structure defines a single area and describes its position in the world and how it connects to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[STRG (File Format)|STRG]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area Name ID'''&lt;br /&gt;
| [[STRG (File Format)|STRG]] ID for the area name.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 12&lt;br /&gt;
| '''Area Transform'''&lt;br /&gt;
| Area's transform matrix. Most area data is pre-transformed, but there are a few things that need to be transformed by this matrix.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 6&lt;br /&gt;
| '''Area Bounding Box'''&lt;br /&gt;
| This is the bounding box of the area's collision mesh and is equivalent to the bounding box found in the [[MREA (File Format)|MREA]] collision section.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID ([[MREA (File Format)|MREA]])&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area MREA ID'''&lt;br /&gt;
| ID of this area's [[MREA (File Format)|MREA]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| Asset ID&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal Area ID'''&lt;br /&gt;
| Doesn't actually refer to an asset, but has the same length as an asset ID. This ID is used internally by some things to refer to this area, such as Script Layer Controllers.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Attached Area Count'''&lt;br /&gt;
| Count of areas attached to this one.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| ''Attached Area Count''&lt;br /&gt;
| '''Attached Area Index Array'''&lt;br /&gt;
| Array of area indices attached to this one.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Dependencies|Area Dependencies]]&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependencies'''&lt;br /&gt;
| Asset dependencies in this area. See below for details. Starting in Prime 3, this section has been moved inside the [[MREA (File Format)|MREA]] file.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock Count'''&lt;br /&gt;
| Count of Dock instances in this area. Should be equal to the attached area count.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| ''Dock Count''&lt;br /&gt;
| '''Dock Array'''&lt;br /&gt;
| Array describing all docks in this area.&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Area Module Dependencies|Area Module Dependencies]]&lt;br /&gt;
| 1&lt;br /&gt;
| '''Module Dependencies'''&lt;br /&gt;
| REL module dependencies in this area. See below for details. The equivalent section in Prime 3 and DKCR describing RSO modules has been moved inside the [[MREA (File Format)|MREA]] format.&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
| Always 0?&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal Area Name'''&lt;br /&gt;
| Internal name of this area. Only appears ingame if no Area Name ID is specified (although it will be prefixed with &amp;quot;!!&amp;quot;).&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 {{unknown|End of area}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Dependencies ====&lt;br /&gt;
&lt;br /&gt;
This is a data chunk appearing in the area definition in Metroid Prime 1 and 2 that lists all assets needed to load the area. It's extremely important that this list be optimized and complete, as all assets listed here will be perpetually kept in memory as long as the area itself is in memory; the list also specifies the order that assets are loaded in, so '''it must be grouped by load order to roughly match the [[PAK (File Format)|PAK]] file for optimized load times'''. Assets that are missing will still be dynamically loaded after the area itself is loaded, but this will cause the game to freeze up until the load is finished. There are a few exceptions that are excluded from this list in the original game files (and should be excluded in custom MLVLs as well to avoid out-of-memory crashes):&lt;br /&gt;
&lt;br /&gt;
* [[SCAN (File Format)|SCAN]] files and their dependencies are not included in the list. These are loaded dynamically after the area itself is finished loading.&lt;br /&gt;
* [[ANCS (File Format)|ANCS]] per-character dependencies for PlayerActor script instances are not included; this allows the game to avoid keeping assets in memory for suits that the player doesn't have. The exception is the Empty Suit character (character index 5), which is a low-memory-overhead character that allows for the list to include all common assets that are stored in the file per-character (such as particle effects).&lt;br /&gt;
* The skybox model and its dependencies are not included.&lt;br /&gt;
&lt;br /&gt;
The dependency list is split by layer; after the dependencies itself, an array of offsets into the dependency list is provided that allows the game to only load assets for layers that are currently active. The last offset points to all common resources used by the area that aren't layer-specific. With that in mind, every layer needs to have a full list of its required assets even if they're also used by other layers. There's no harm in including an asset multiple times, as if an asset is already in memory then it'll simply be skipped over.&lt;br /&gt;
&lt;br /&gt;
This data chunk still exists in Prime 3 and DKCR, but it's been moved inside the [[MREA (File Format)|MREA]] format.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Count'''&lt;br /&gt;
| Count of dependencies.&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dependency|Dependency]]&lt;br /&gt;
| ''Dependency Count''&lt;br /&gt;
| '''Dependency Array'''&lt;br /&gt;
| Array of all asset dependencies in this area.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Offset Count'''&lt;br /&gt;
| Count of dependency offsets. This will be equal to the area script layer count + 1.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''Dependency Offset Count''&lt;br /&gt;
| '''Dependency Offset Array'''&lt;br /&gt;
| Array of offsets into the dependency array. There is one offset per script layer, with the offset referring to the index of that layer's first dependency. There is a final extra offset that points to area dependencies that are not layer-specific.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dependency =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| Asset ID&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dependency Asset ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| char&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dependency Asset Type'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dock ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting Dock Count'''&lt;br /&gt;
| Count of docks connecting to this one. Typically 1 (but there are docks in Prime 3 that connect to multiple areas).&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting Dock]]&lt;br /&gt;
| ''Connecting Dock Count''&lt;br /&gt;
| '''Connecting Dock Array'''&lt;br /&gt;
| Array describing all docks connected to this one.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock Coordinate Count'''&lt;br /&gt;
| Array of dock coordinates in the next array.&lt;br /&gt;
|-&lt;br /&gt;
| Vector3&lt;br /&gt;
| ''Dock Coordinate Count''&lt;br /&gt;
| '''Dock Coordinates'''&lt;br /&gt;
| Exact purpose/function of this is not known yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Area Index'''&lt;br /&gt;
| Index of the area this dock is in.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| '''Dock Index'''&lt;br /&gt;
| Index of this dock within its area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Module Dependencies ====&lt;br /&gt;
&lt;br /&gt;
This is a data chunk appearing in the area definitions that describes all REL modules that must be linked in for this area to run. These are tied to script objects. The list is split per-layer so that only modules being used by the active layer are linked in; modules will appear once in the list for each layer that uses it. After the REL list, there is an array of offsets that points to the starting index in the list for each script layer, similar to the regular area dependencies list. For an unknown reason, the offsets list contains two offsets per layer. The first one refers to the layer's start index while the second one is usually empty, which effectively makes it an end index.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''REL Module Count'''&lt;br /&gt;
| Count of REL modules in the next array.&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| ''REL Module Count''&lt;br /&gt;
| '''REL Module Array'''&lt;br /&gt;
| REL modules used by this area. Each array entry is the filename of a .REL module.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''REL Offset Count'''&lt;br /&gt;
| Count of REL offsets in the next array. Should be equal to the area script layer count * 2.&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| ''REL Offset Count''&lt;br /&gt;
| '''REL Offset Array'''&lt;br /&gt;
| Array of offsets into the ''REL Module Array''. There are two offsets per script layer, with the first one being that layer's start index and the second one effectively being that layer's end index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Group ===&lt;br /&gt;
&lt;br /&gt;
This structure is only present in Prime 1 and describes an [[AGSC (File Format)|AGSC]] file being used in this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Group ID'''&lt;br /&gt;
| Group ID for this audio group. This is the same value that can be found in the Project chunk in the referenced [[AGSC (File Format)|AGSC]] file.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| Asset ID ([[AGSC (File Format)|AGSC]])&lt;br /&gt;
| '''AGSC ID'''&lt;br /&gt;
| The [[AGSC (File Format)|AGSC]] file for this audio group.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| colspan=3 {{unknown|End of audio group definition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Area Layer Flags ===&lt;br /&gt;
&lt;br /&gt;
This is a small structure that determines which areas are active by default. It contains a layer count and then a 64-bit flag, with each bit corresponding to a particular layer; if the bit is set, then the layer will be active on a new save file. The low-order bits correspond to the lower layer indices. Bits for layers that don't exist are defaulted to on.&lt;br /&gt;
&lt;br /&gt;
Note that due to the size of these flags as well as a few other pieces of data in other formats, the maximum number of layers that can be contained in a single area is 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| '''Layer Count'''&lt;br /&gt;
| Count of layers in this area.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u64&lt;br /&gt;
| '''Layer Flags'''&lt;br /&gt;
| See above for a description of how these work.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| colspan=3 {{unknown|End of area layer flags}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1154</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1154"/>
				<updated>2015-06-06T05:42:12Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|moderate|There's still a fair number of unknowns left in this format.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
Remember that all resource IDs are 32 bits in Prime 1/2, and 64 bits in Prime 3/DKCR.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Magic'''; always 0xDEAFBABE&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see below&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dark World Name'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Sets whether the next five values exist}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level number''' (such as 1-2, 2-2, etc)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''SaveWorld ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (File Format)|CMDL]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World skybox CMDL ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relays ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of all Memory Relay objects used in the world and what objects they're connected to. If a Memory Relay is connected to multiple objects, it will show up multiple times.&lt;br /&gt;
&lt;br /&gt;
The section starts with a 32-bit count value, then each relay is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Memory Relay instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Target instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 0)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Areas ===&lt;br /&gt;
&lt;br /&gt;
This section defines every area in the world and how they connect to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Header ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[12]&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[6]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''Bounding box'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area MREA'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32/u64&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area ID'''; used by layer-switching objects&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attached Areas ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attached area index count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16[]&lt;br /&gt;
| 2 &amp;amp;times; AC&lt;br /&gt;
| '''Attached area indices'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dependency List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1 and 2. It starts with what's essentially an embedded [[DGRP (File Format)|DGRP]] file: a 32-bit count value followed by a list of resources used by the area.&lt;br /&gt;
&lt;br /&gt;
Following that is a small array. The purpose of this array is to distinguish which resources are used by which layers, to avoid wasting time loading resources used by objects that aren't active. It's an array of offsets into the dependency table, each one marking the start of that layer's dependency list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32[]&lt;br /&gt;
| 4 &amp;amp;times; LC&lt;br /&gt;
| '''Layer dependency offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Docks ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Connecting docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock coordinate count''' (CC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| vec3&lt;br /&gt;
| CC&lt;br /&gt;
| '''Dock coordinates'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== .rel List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Echoes. It contains a list of .rel files used by the area. Like the dependencies, it is followed by an array of offsets to distinguish which .rels are used by which layers. There are two offsets per layer; the reason for this is currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel count''' (RC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| RC&lt;br /&gt;
| '''.rel filenames''' (all zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel offset count''' (OC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| OC&lt;br /&gt;
| '''.rel offsets'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Footer ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal area name''' (zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World Map ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy. It sets the [[MAPW (File Format)|MAPW]] file used for this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World map'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Groups ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of audio groups (AGSC files) used in this world. It begins with a 32-bit count value, then each audio group is defined as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Audio Group file'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's a string following this, at the end of the AGSC table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always empty}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layer Info ===&lt;br /&gt;
&lt;br /&gt;
The final section of the file contains some metadata related to each layer.&lt;br /&gt;
&lt;br /&gt;
==== Layer Flags ====&lt;br /&gt;
&lt;br /&gt;
This part attaches a set of 64-bit flags to every area, where each bit corresponds to a layer; if the bit is set, then that indicates that the corresponding layer will be enabled by default (on a new save file). Since the flags are 64 bits, that means the maximum number of layers that can be present in one area is 64.&lt;br /&gt;
&lt;br /&gt;
After a 32-bit area count, the following structure is repeated for each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area layer count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u64&lt;br /&gt;
| 8&lt;br /&gt;
| '''Area layer flags'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Names ====&lt;br /&gt;
&lt;br /&gt;
This is a very simple list of layer name strings. For info on how each layer is actually attached to its corresponding area, check the [[#Layer Name Offsets|Layer Name Offsets]] section.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer names''' (zero-terminated)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer IDs ====&lt;br /&gt;
&lt;br /&gt;
This array is only present in Prime 3 and DKCR, and is used by layer-switching objects.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer ID count''' (IC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 &amp;amp;times; IC&lt;br /&gt;
| '''Layer ID'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Name Offsets ====&lt;br /&gt;
&lt;br /&gt;
The final layer info section provides one offset into the layer name table per area. This can be used to attach a layer's name to its corresponding data within the area.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| AC&lt;br /&gt;
| '''Area layer names offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:MrSinistar/Sandbox&amp;diff=1121</id>
		<title>User:MrSinistar/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:MrSinistar/Sandbox&amp;diff=1121"/>
				<updated>2015-05-22T09:20:51Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: I'm sorry.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AGSC uses MusyX data for the audio engine.  Each sound has it's own &amp;quot;SoundMacro&amp;quot; and properties.  The '''pool chunk''' is where the soundmacros are located.  SoundMacros are small scripts that control how sounds are played in game, like pitch or vibrato or fade outs.  Here's a description of the pool chunk:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| '''Header size''' Looks like it's always 10&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| '''Macro size'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 2&lt;br /&gt;
| '''Macro ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| colspan=2 {{unknown|Macro data, needs more research}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STRG Commands are similar to CSS syntax.  A ; terminates the command.  &amp;amp; begins the command, so for example, &amp;amp;just=center;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| just  &lt;br /&gt;
| center&lt;br /&gt;
| Justifies text&lt;br /&gt;
|-&lt;br /&gt;
| image&lt;br /&gt;
| SI,0.70,0.68,[[TXTR (File Format)|TXTR]] ID&lt;br /&gt;
| Displays an image.  SI = Single Image? S,T and finally TXTR ID.  Animation = SA, Animation Speed, S,T, TXTR ID, TXTR ID&lt;br /&gt;
|-&lt;br /&gt;
| main-color&lt;br /&gt;
| Hex Color Code&lt;br /&gt;
| Changes color of text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===SCLY Audio Object===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| '''Property Count''' (always 0x14 for sound)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| N&lt;br /&gt;
| '''Sound name'''; zero-terminated&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| '''Position (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Position (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4&lt;br /&gt;
| '''Position (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 4&lt;br /&gt;
| '''Rotation (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| '''Rotation (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| '''Rotation (float)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| '''Sound Effects ID''' index number for [[ATBL]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 1&lt;br /&gt;
| '''Play Automatically'''; If this bool is turned on, but the active bool is not on, the corresponding trigger must send a Play message (0x14) to turn on the sound.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1D&lt;br /&gt;
| 4&lt;br /&gt;
| '''Maximum Distance (float)'''; the bigger the float, the farther you can hear it! &lt;br /&gt;
|-&lt;br /&gt;
| 0x21&lt;br /&gt;
| 4&lt;br /&gt;
| '''Minimum Distance (float)'''; usually set to 0.2&lt;br /&gt;
|-&lt;br /&gt;
| 0x25&lt;br /&gt;
| 4&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x29&lt;br /&gt;
| 4&lt;br /&gt;
| '''Priority'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2D&lt;br /&gt;
| 4&lt;br /&gt;
| '''Max. Volume'''; 127 is loudest&lt;br /&gt;
|-&lt;br /&gt;
| 0x31&lt;br /&gt;
| 4&lt;br /&gt;
| '''Min. Volume'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x35&lt;br /&gt;
| 4&lt;br /&gt;
| '''Panning''' 0=Left, 64=Center, 127=Right&lt;br /&gt;
|-&lt;br /&gt;
| 0x39&lt;br /&gt;
| 1&lt;br /&gt;
| '''Play endlessly'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3A&lt;br /&gt;
| 1&lt;br /&gt;
| '''Play everywhere'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3B&lt;br /&gt;
| 1&lt;br /&gt;
| '''Active/Accepts Trigger Activations'''; this must be on and it's corresponding trigger has to activate/deactivate the sound object in order to play/stop sound.  Triggers sending a Play message (0x14) won't turn on the sound.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3D&lt;br /&gt;
| 1&lt;br /&gt;
| '''Is sound affected by RoomAcoustics?'''; 1=yes, 0=no&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3F&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}; Is On for Health pickups (ITD or Surround flag?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}; (FF FF FF FF, usually descending...seen on cinematic sounds)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so, if what we are assuming are the play automatically bool and the active bool are both on, then the sound plays immediately on spawn and never plays again, even when the trigger is suppose to activate it.&lt;br /&gt;
&lt;br /&gt;
atbl bool = 0, 3rd bool = 1...sound doesn't play automatically but activates when going through trigger.&lt;br /&gt;
&lt;br /&gt;
atbl bool = 1, 3rd bool = 1...sound plays automatically and deactives/activates correctly when going through trigger.&lt;br /&gt;
&lt;br /&gt;
atbl bool = 1, 3rd bool = 0, nothing plays&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SCLY RoomAcoustics===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Size (h)&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 2&lt;br /&gt;
| '''Active flag'''; 1 = on, 0 = off&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}; always 0x75&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| 27&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2D&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}; always 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E&lt;br /&gt;
| 1&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F&lt;br /&gt;
| 4&lt;br /&gt;
| '''Decay (float)'''; Reverb decay length (in seconds). Value must be between 0.01 and 10.0.  Can make it sound like small room to a large cathedral. &lt;br /&gt;
|-&lt;br /&gt;
| 0x33&lt;br /&gt;
| 4&lt;br /&gt;
| '''Predelay (float)'''; Length of time before reverb starts (in seconds). Value must be between 0.0 and 0.1.  Simulates latency for reflected sound waves over long distances.&lt;br /&gt;
|-&lt;br /&gt;
| 0x37&lt;br /&gt;
| 4&lt;br /&gt;
| '''Damping (float)'''; Dampens the high-frequencies.  Value must be between 0.0 and 1.0. Sort of like a filter, 0.0 has lots of bass, 1.0 has lots of high end.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3B&lt;br /&gt;
| 4&lt;br /&gt;
| '''Color (float)'''; Basically, an equalizer.  Value must be between 0.0 and 1.0.  Balances out frequencies to simulate the acoustic properties of different surfaces in a room.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3F&lt;br /&gt;
| 4&lt;br /&gt;
| '''Mix (float)'''; Value must be between 0.0 and 1.0. 0.0 means that only the original sound will be audible, whereas 1.0 will only make the reverberated signal be heard.&lt;br /&gt;
|-&lt;br /&gt;
| 0x43&lt;br /&gt;
| 25&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center; margin-bottom:20px; float:center; border:1px solid; box-shadow: 0 0 5px #6DBACD; border-radius:6px; border-color:#6dbacd;&amp;quot;  ! width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|[[File:Powercannon_render3.png|200px]]&lt;br /&gt;
|'''Help us research and document!  Join the discussion at: [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html Metroid Prime Hacking Research thread @ Metroid2002.com]'''&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|[[File:Morphball_wire.png|50px|link=Category:Major research needed]]&lt;br /&gt;
|[[File:Morphball_wirerender.png|50px|link=Category:Moderate research needed]]&lt;br /&gt;
|[[File:Morphball_render.png|50px|link=Category:Minor research needed]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;small&amp;gt;[[:Category:Major research needed|'''File formats that need major research''']]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[[:Category:Moderate research needed|'''File formats that need moderate research''']]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[[:Category:Minor research needed|'''File formats that need minor research''']]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1079</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1079"/>
				<updated>2015-04-23T23:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|moderate|There's still a fair number of unknowns left in this format.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
Remember that all resource IDs are 32 bits in Prime 1/2, and 64 bits in Prime 3/DKCR.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Magic'''; always 0xDEAFBABE&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see below&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dark World Name'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Sets whether the next five values exist}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level number''' (such as 1-2, 2-2, etc)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''SaveWorld ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (File Format)|CMDL]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World skybox CMDL ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relays ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of all Memory Relay objects used in the world and what objects they're connected to. If a Memory Relay is connected to multiple objects, it will show up multiple times.&lt;br /&gt;
&lt;br /&gt;
The section starts with a 32-bit count value, then each relay is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Memory Relay instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Target instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 0)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Areas ===&lt;br /&gt;
&lt;br /&gt;
This section defines every area in the world and how they connect to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Header ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[12]&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[6]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''Bounding box'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area MREA'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32/u64&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area ID'''; used by layer-switching objects&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attached Areas ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attached area index count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16[]&lt;br /&gt;
| 2 &amp;amp;times; AC&lt;br /&gt;
| '''Attached area indices'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dependency List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1 and 2. It starts with what's essentially an embedded [[DGRP (File Format)|DGRP]] file: a 32-bit count value followed by a list of resources used by the area.&lt;br /&gt;
&lt;br /&gt;
Following that is a small array. The purpose of this array is to distinguish which resources are used by which layers, to avoid wasting time loading resources used by objects that aren't active. It's an array of offsets into the dependency table, each one marking the start of that layer's dependency list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32[]&lt;br /&gt;
| 4 &amp;amp;times; LC&lt;br /&gt;
| '''Layer dependency offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Docks ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Connecting docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock coordinate count''' (CC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| vec3&lt;br /&gt;
| CC&lt;br /&gt;
| '''Dock coordinates'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== .rel List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Echoes. It contains a list of .rel files used by the area. Following that is a list of offsets into the .rel list; their purpose is unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel count''' (RC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| RC&lt;br /&gt;
| '''.rel filenames''' (all zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown .rel offset count''' (UC)}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| UC&lt;br /&gt;
| {{unknown|'''.rel offsets'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Footer ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal area name''' (zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World Map ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy. It sets the [[MAPW (File Format)|MAPW]] file used for this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World map'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Groups ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of audio groups (AGSC files) used in this world. It begins with a 32-bit count value, then each audio group is defined as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Audio Group file'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's a string following this, at the end of the AGSC table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always empty}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layer Info ===&lt;br /&gt;
&lt;br /&gt;
The final section of the file contains some metadata related to each layer.&lt;br /&gt;
&lt;br /&gt;
==== Layer Flags ====&lt;br /&gt;
&lt;br /&gt;
This part attaches a set of 64-bit flags to every area, where each bit corresponds to a layer; if the bit is set, then that indicates that the corresponding layer will be enabled by default (on a new save file). Since the flags are 64 bits, that means the maximum number of layers that can be present in one area is 64.&lt;br /&gt;
&lt;br /&gt;
After a 32-bit area count, the following structure is repeated for each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area layer count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u64&lt;br /&gt;
| 8&lt;br /&gt;
| '''Area layer flags'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Names ====&lt;br /&gt;
&lt;br /&gt;
This is a very simple list of layer name strings. For info on how each layer is actually attached to its corresponding area, check the [[#Layer Name Offsets|Layer Name Offsets]] section.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer names''' (zero-terminated)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer IDs ====&lt;br /&gt;
&lt;br /&gt;
This array is only present in Prime 3 and DKCR, and is used by layer-switching objects.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer ID count''' (IC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 &amp;amp;times; IC&lt;br /&gt;
| '''Layer ID'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Name Offsets ====&lt;br /&gt;
&lt;br /&gt;
The final layer info section provides one offset into the layer name table per area. This can be used to attach a layer's name to its corresponding data within the area.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| AC&lt;br /&gt;
| '''Area layer names offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1078</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=1078"/>
				<updated>2015-04-22T13:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|moderate|There's still a fair number of unknowns left in this format.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
Remember that all resource IDs are 32 bits in Prime 1/2, and 64 bits in Prime 3/DKCR.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Magic'''; always 0xDEAFBABE&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see below&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dark World Name'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Sets whether the next five values exist}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level number''' (such as 1-2, 2-2, etc)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''SaveWorld ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (File Format)|CMDL]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World skybox CMDL ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relays ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of all Memory Relay objects used in the world and what objects they're connected to. If a Memory Relay is connected to multiple objects, it will show up multiple times.&lt;br /&gt;
&lt;br /&gt;
The section starts with a 32-bit count value, then each relay is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Memory Relay instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Target instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 0)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Areas ===&lt;br /&gt;
&lt;br /&gt;
This section defines every area in the world and how they connect to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Header ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[12]&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[6]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''Bounding box'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area MREA'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32/u64&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area ID'''; used by layer-switching objects&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attached Areas ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attached area index count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16[]&lt;br /&gt;
| 2 &amp;amp;times; AC&lt;br /&gt;
| '''Attached area indices'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dependency List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1 and 2. It starts with what's essentially an embedded [[DGRP (File Format)|DGRP]] file: a 32-bit count value followed by a list of resources used by the area.&lt;br /&gt;
&lt;br /&gt;
Following that is a small array. The purpose of this array is to distinguish which resources are used by which layers, to avoid wasting time loading resources used by objects that aren't active. It's an array of offsets into the dependency table, each one marking the start of that layer's dependency list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32[]&lt;br /&gt;
| 4 &amp;amp;times; LC&lt;br /&gt;
| '''Layer dependency offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Docks ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting dock count''' (CC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting dock]]&lt;br /&gt;
| CC&lt;br /&gt;
| '''Connecting docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 4; possibly dock coordinate count)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| vec3&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dock coordinates'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== .rel List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Echoes. It contains a list of .rel files used by the area. Following that is a list of offsets into the .rel list; their purpose is unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel count''' (RC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| RC&lt;br /&gt;
| '''.rel filenames''' (all zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown .rel offset count''' (UC)}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| UC&lt;br /&gt;
| {{unknown|'''.rel offsets'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Footer ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal area name''' (zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World Map ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy. It sets the [[MAPW (File Format)|MAPW]] file used for this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World map'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Groups ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of audio groups (AGSC files) used in this world. It begins with a 32-bit count value, then each audio group is defined as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Audio Group file'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's a string following this, at the end of the AGSC table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always empty}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layer Info ===&lt;br /&gt;
&lt;br /&gt;
The final section of the file contains some metadata related to each layer.&lt;br /&gt;
&lt;br /&gt;
==== Layer Flags ====&lt;br /&gt;
&lt;br /&gt;
This part attaches a set of 64-bit flags to every area, where each bit corresponds to a layer; if the bit is set, then that indicates that the corresponding layer will be enabled by default (on a new save file). Since the flags are 64 bits, that means the maximum number of layers that can be present in one area is 64.&lt;br /&gt;
&lt;br /&gt;
After a 32-bit area count, the following structure is repeated for each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area layer count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u64&lt;br /&gt;
| 8&lt;br /&gt;
| '''Area layer flags'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Names ====&lt;br /&gt;
&lt;br /&gt;
This is a very simple list of layer name strings. For info on how each layer is actually attached to its corresponding area, check the [[#Layer Name Offsets|Layer Name Offsets]] section.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer names''' (zero-terminated)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer IDs ====&lt;br /&gt;
&lt;br /&gt;
This array is only present in Prime 3 and DKCR, and is used by layer-switching objects.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer ID count''' (IC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 &amp;amp;times; IC&lt;br /&gt;
| '''Layer ID'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Name Offsets ====&lt;br /&gt;
&lt;br /&gt;
The final layer info section provides one offset into the layer name table per area. This can be used to attach a layer's name to its corresponding data within the area.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| AC&lt;br /&gt;
| '''Area layer names offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Tweaks_(Metroid_Prime)&amp;diff=861</id>
		<title>Tweaks (Metroid Prime)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Tweaks_(Metroid_Prime)&amp;diff=861"/>
				<updated>2015-03-02T04:55:26Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The tweaks system allows for easy modification of different game values that would normally be hardcoded. In Metroid Prime, this is handled by the CTWK files located in Tweaks.Pak. The tweaks are loaded on startup. Things that can be modified through the tweaks includes:&lt;br /&gt;
&lt;br /&gt;
* The amount and type of damage done by each weapon&lt;br /&gt;
* The Hard Mode damage multiplier&lt;br /&gt;
* The field of view&lt;br /&gt;
* The world pak prefix&lt;br /&gt;
&lt;br /&gt;
...and a lot more.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== CTWK List ==&lt;br /&gt;
&lt;br /&gt;
These are all the CTWK files:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| 1d180d7c.CTWK&lt;br /&gt;
| Particle&lt;br /&gt;
|-&lt;br /&gt;
| 264a4972.CTWK&lt;br /&gt;
| Player&lt;br /&gt;
|-&lt;br /&gt;
| 33b3323a.CTWK&lt;br /&gt;
| GunRes&lt;br /&gt;
|-&lt;br /&gt;
| 39ad28d3.CTWK&lt;br /&gt;
| CameraBob&lt;br /&gt;
|-&lt;br /&gt;
| 3faec012.CTWK&lt;br /&gt;
| PlayerControls2&lt;br /&gt;
|-&lt;br /&gt;
| 5ed56350.CTWK&lt;br /&gt;
| Ball&lt;br /&gt;
|-&lt;br /&gt;
| 5f24eff8.CTWK&lt;br /&gt;
| SlideShow&lt;br /&gt;
|-&lt;br /&gt;
| 6907a32d.CTWK&lt;br /&gt;
| PlayerGun&lt;br /&gt;
|-&lt;br /&gt;
| 85ca11e9.CTWK&lt;br /&gt;
| PlayerRes&lt;br /&gt;
|-&lt;br /&gt;
| 94c76ecd.CTWK&lt;br /&gt;
| Targeting&lt;br /&gt;
|-&lt;br /&gt;
| 953a7c63.CTWK&lt;br /&gt;
| Game&lt;br /&gt;
|-&lt;br /&gt;
| c9954e56.CTWK&lt;br /&gt;
| GuiColors&lt;br /&gt;
|-&lt;br /&gt;
| e66a4f86.CTWK&lt;br /&gt;
| AutoMapper&lt;br /&gt;
|-&lt;br /&gt;
| ed2e48a9.CTWK&lt;br /&gt;
| Gui&lt;br /&gt;
|-&lt;br /&gt;
| f1ed8fd7.CTWK&lt;br /&gt;
| PlayerControls&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Game ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| string&lt;br /&gt;
| '''World pak prefix'''&lt;br /&gt;
| &amp;quot;Metroid&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| string&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|  &amp;quot;ruin_area22&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| float&lt;br /&gt;
| '''Field of View'''&lt;br /&gt;
| 55.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 25.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 450.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 400.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1750.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.2&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 0.5&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 0.25&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 30.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 125.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 150.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 300.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| float&lt;br /&gt;
| '''Hard Mode damage multiplier'''&lt;br /&gt;
| 1.53&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| float&lt;br /&gt;
| '''Hard Mode weapons multiplier'''&lt;br /&gt;
| 0.5&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Tweaks_(Metroid_Prime)&amp;diff=860</id>
		<title>Tweaks (Metroid Prime)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Tweaks_(Metroid_Prime)&amp;diff=860"/>
				<updated>2015-03-02T04:54:12Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The tweaks system allows for easy modification of different game values that would normally be hardcoded. In Metroid Prime, this is handled by the CTWK files located in Tweaks.Pak. The tweaks are loaded on startup. Things that can be modified through the tweaks includes:&lt;br /&gt;
&lt;br /&gt;
* The amount and type of damage done by each weapon&lt;br /&gt;
* The Hard Mode damage multiplier&lt;br /&gt;
* The field of view&lt;br /&gt;
* The world pak prefix&lt;br /&gt;
&lt;br /&gt;
...and a lot more.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== CTWK List ==&lt;br /&gt;
&lt;br /&gt;
These are all the CTWK files:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| 1d180d7c.CTWK&lt;br /&gt;
| Particle&lt;br /&gt;
|-&lt;br /&gt;
| 264a4972.CTWK&lt;br /&gt;
| Player&lt;br /&gt;
|-&lt;br /&gt;
| 33b3323a.CTWK&lt;br /&gt;
| GunRes&lt;br /&gt;
|-&lt;br /&gt;
| 39ad28d3.CTWK&lt;br /&gt;
| CameraBob&lt;br /&gt;
|-&lt;br /&gt;
| 3faec012.CTWK&lt;br /&gt;
| PlayerControls2&lt;br /&gt;
|-&lt;br /&gt;
| 5ed56350.CTWK&lt;br /&gt;
| Ball&lt;br /&gt;
|-&lt;br /&gt;
| 5f24eff8.CTWK&lt;br /&gt;
| SlideShow&lt;br /&gt;
|-&lt;br /&gt;
| 6907a32d.CTWK&lt;br /&gt;
| PlayerGun&lt;br /&gt;
|-&lt;br /&gt;
| 85ca11e9.CTWK&lt;br /&gt;
| PlayerRes&lt;br /&gt;
|-&lt;br /&gt;
| 94c76ecd.CTWK&lt;br /&gt;
| Targeting&lt;br /&gt;
|-&lt;br /&gt;
| 953a7c63.CTWK&lt;br /&gt;
| Game&lt;br /&gt;
|-&lt;br /&gt;
| c9954e56.CTWK&lt;br /&gt;
| GuiColors&lt;br /&gt;
|-&lt;br /&gt;
| e66a4f86.CTWK&lt;br /&gt;
| AutoMapper&lt;br /&gt;
|-&lt;br /&gt;
| ed2e48a9.CTWK&lt;br /&gt;
| Gui&lt;br /&gt;
|-&lt;br /&gt;
| f1ed8fd7.CTWK&lt;br /&gt;
| PlayerControls&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Game ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| string&lt;br /&gt;
| '''World pak prefix'''&lt;br /&gt;
| &amp;quot;Metroid&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| string&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|  &amp;quot;ruin_area22&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| float&lt;br /&gt;
| '''Field of View'''&lt;br /&gt;
| 55.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| bool&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 25.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 450.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 400.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1750.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 1.2&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 0.5&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 0.25&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 30.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 125.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 150.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| float&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| 300.0&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| float&lt;br /&gt;
| {{Hard Mode damage multiplier|'''Unknown'''}}&lt;br /&gt;
| 1.53&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| float&lt;br /&gt;
| {{Hard Mode weapons multiplier|'''Unknown'''}}&lt;br /&gt;
| 0.5&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=742</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=742"/>
				<updated>2015-02-14T15:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Layer IDs. Because using the layer's number is just too complicated, you really need a 16 byte ID for it instead.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
{{research|moderate|There's still a fair number of unknowns left in this format.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
Remember that all resource IDs are 32 bits in Prime 1/2, and 64 bits in Prime 3/DKCR.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Magic'''; always 0xDEAFBABE&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see below&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dark World Name'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Sets whether the next five values exist}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level number''' (such as 1-2, 2-2, etc)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''SaveWorld ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (File Format)|CMDL]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World skybox CMDL ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relays ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of all Memory Relay objects used in the world and what objects they're connected to. If a Memory Relay is connected to multiple objects, it will show up multiple times.&lt;br /&gt;
&lt;br /&gt;
The section starts with a 32-bit count value, then each relay is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Memory Relay instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Target instance ID'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Message'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 0)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Areas ===&lt;br /&gt;
&lt;br /&gt;
This section defines every area in the world and how they connect to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Header ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[12]&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[6]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''Bounding box'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area MREA'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area ID'''; used by layer-switching objects&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attached Areas ====&lt;br /&gt;
&lt;br /&gt;
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 if 0 indicates the first area listed in the MLVL, for example.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attached area ID count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16[]&lt;br /&gt;
| 2 &amp;amp;times; AC&lt;br /&gt;
| '''Attached area indices'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dependency List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1 and 2. It starts with what's essentially an embedded [[DGRP (File Format)|DGRP]] file: a 32-bit count value followed by a list of resources used by the area.&lt;br /&gt;
&lt;br /&gt;
Following that is a small array. The purpose of this array is to distinguish which resources are used by which layers, to avoid wasting time loading resources used by objects that aren't active. It's an array of offsets into the dependency table, each one marking the start of that layer's dependency list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32[]&lt;br /&gt;
| 4 &amp;amp;times; LC&lt;br /&gt;
| '''Layer dependency offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Docks ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock count''' (DC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting dock count''' (CC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting dock]]&lt;br /&gt;
| CC&lt;br /&gt;
| '''Connecting docks'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 4; possibly dock coordinate count)}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| vec3&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dock coordinates'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock index'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== .rel List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Echoes. It contains a list of .rel files used by the area. Like the dependency list, this is split up by layer, and is followed by an offset that indicates which .rel files are used by which layers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel count''' (RC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| RC&lt;br /&gt;
| '''.rel filenames''' (all zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer .rel offsets'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Footer ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal area name''' (zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World Map ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy. It sets the [[MAPW (File Format)|MAPW]] file used for this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World map'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Groups ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of audio groups (AGSC files) used in this world. It begins with a 32-bit count value, then each audio group is defined as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Audio Group file'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's two values following this, at the end of the AGSC table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layer Info ===&lt;br /&gt;
&lt;br /&gt;
The final section of the file contains some metadata related to each layer.&lt;br /&gt;
&lt;br /&gt;
==== Layer Flags ====&lt;br /&gt;
&lt;br /&gt;
This part attaches a set of 64-bit flags to every area, where each bit corresponds to a layer; if the bit is set, then that indicates that the corresponding layer will be enabled by default (on a new save file). Since the flags are 64 bits, that means the maximum number of layers that can be present in one area is 64.&lt;br /&gt;
&lt;br /&gt;
After a 32-bit area count, the following structure is repeated for each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area layer count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u64&lt;br /&gt;
| 8&lt;br /&gt;
| '''Area layer flags'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Names ====&lt;br /&gt;
&lt;br /&gt;
This is a very simple list of layer name strings. For info on how each layer is actually attached to its corresponding area, check the [[#Layer Name Offsets|Layer Name Offsets]] section.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer names''' (zero-terminated)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer IDs ====&lt;br /&gt;
&lt;br /&gt;
This array is only present in Prime 3 and DKCR, and is used by layer-switching objects.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer ID count''' (IC)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 &amp;amp;times; IC&lt;br /&gt;
| '''Layer ID'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Name Offsets ====&lt;br /&gt;
&lt;br /&gt;
The final layer info section provides one offset into the layer name table per area. This can be used to attach a layer's name to its corresponding data within the area.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| AC&lt;br /&gt;
| '''Area layer names offsets'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=738</id>
		<title>ROOM (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=738"/>
				<updated>2015-02-13T16:54:11Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: LGEN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''ROOM format''' is used to store object layout data in Tropical Freeze.&lt;br /&gt;
&lt;br /&gt;
{{research|major|Most of this format hasn't been researched yet.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== RMHD ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;RMHD&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| {{unknown|'''Unknown''' (Always 3?)}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PGRP ===&lt;br /&gt;
&lt;br /&gt;
PGRP likely stands for Performance Group, a term referenced by a few objects.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;PGRP&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For count:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Name length'''&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| -&lt;br /&gt;
| '''Name''' (not zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''ID'''&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''ID count''' (IC)&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 * IC&lt;br /&gt;
| '''IDs'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== LGEN ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;LGEN&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For count:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''ID'''&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''ID'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== COMP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;COMP&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Object type'''&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Instance name length'''&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| -&lt;br /&gt;
| '''Instance name''' (not zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Connection count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each connection is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''State'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Message'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Target Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Following is property data; size and contents vary by object type.&lt;br /&gt;
&lt;br /&gt;
==== Object Types ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Object&lt;br /&gt;
|-&lt;br /&gt;
| 0x2BE8BC19&lt;br /&gt;
| LightStatic&lt;br /&gt;
|-&lt;br /&gt;
| 0x9EE5541D&lt;br /&gt;
| LightDynamic&lt;br /&gt;
|-&lt;br /&gt;
| 0x73AECD92&lt;br /&gt;
| FogVolume&lt;br /&gt;
|-&lt;br /&gt;
| 0x7DCAF170&lt;br /&gt;
| BloomEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x655C5175&lt;br /&gt;
| AudioBusController&lt;br /&gt;
|-&lt;br /&gt;
| 0x24D9D323&lt;br /&gt;
| AudioEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x8FE0BFC9&lt;br /&gt;
| Relay&lt;br /&gt;
|-&lt;br /&gt;
| 0x97E65DDD&lt;br /&gt;
| TouchableTrigger&lt;br /&gt;
|-&lt;br /&gt;
| 0xC49D730E&lt;br /&gt;
| TriggerLogic&lt;br /&gt;
|-&lt;br /&gt;
| 0x3175DF36&lt;br /&gt;
| ApplyDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x06E89BE7&lt;br /&gt;
| Health&lt;br /&gt;
|-&lt;br /&gt;
| 0xBDE4AB05&lt;br /&gt;
| TakeDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C5D597D&lt;br /&gt;
| NearVisible&lt;br /&gt;
|-&lt;br /&gt;
| 0x749749F1&lt;br /&gt;
| Everything&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Donkey Kong Country: Tropical Freeze]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris&amp;diff=736</id>
		<title>User:Claris</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris&amp;diff=736"/>
				<updated>2015-02-13T03:30:32Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Created page with &amp;quot;I don't like my name being red on the Recent Changes list.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I don't like my name being red on the Recent Changes list.&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=735</id>
		<title>ROOM (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=735"/>
				<updated>2015-02-13T03:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: PGRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''ROOM format''' is used to store object layout data in Tropical Freeze.&lt;br /&gt;
&lt;br /&gt;
{{research|major|Most of this format hasn't been researched yet.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== RMHD ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;RMHD&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| {{unknown|'''Unknown''' (Always 3?)}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PGRP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;PGRP&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For count:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Name length'''&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| -&lt;br /&gt;
| '''Name''' (not zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| ID?&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''ID count''' (IC)&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10 * IC&lt;br /&gt;
| '''IDs'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== COMP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;COMP&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Object type'''&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Instance name length'''&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| -&lt;br /&gt;
| '''Instance name''' (not zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Connection count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each connection is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''State'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Message'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Target Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Following is property data; size and contents vary by object type.&lt;br /&gt;
&lt;br /&gt;
=== Object Types ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Object&lt;br /&gt;
|-&lt;br /&gt;
| 0x2BE8BC19&lt;br /&gt;
| LightStatic&lt;br /&gt;
|-&lt;br /&gt;
| 0x9EE5541D&lt;br /&gt;
| LightDynamic&lt;br /&gt;
|-&lt;br /&gt;
| 0x73AECD92&lt;br /&gt;
| FogVolume&lt;br /&gt;
|-&lt;br /&gt;
| 0x7DCAF170&lt;br /&gt;
| BloomEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x655C5175&lt;br /&gt;
| AudioBusController&lt;br /&gt;
|-&lt;br /&gt;
| 0x24D9D323&lt;br /&gt;
| AudioEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x8FE0BFC9&lt;br /&gt;
| Relay&lt;br /&gt;
|-&lt;br /&gt;
| 0x97E65DDD&lt;br /&gt;
| TouchableTrigger&lt;br /&gt;
|-&lt;br /&gt;
| 0xC49D730E&lt;br /&gt;
| TriggerLogic&lt;br /&gt;
|-&lt;br /&gt;
| 0x3175DF36&lt;br /&gt;
| ApplyDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x06E89BE7&lt;br /&gt;
| Health&lt;br /&gt;
|-&lt;br /&gt;
| 0xBDE4AB05&lt;br /&gt;
| TakeDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C5D597D&lt;br /&gt;
| NearVisible&lt;br /&gt;
|-&lt;br /&gt;
| 0x749749F1&lt;br /&gt;
| Everything&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Donkey Kong Country: Tropical Freeze]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=734</id>
		<title>ROOM (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=ROOM_(File_Format)&amp;diff=734"/>
				<updated>2015-02-13T02:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: RMHD, really complicated format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''ROOM format''' is used to store object layout data in Tropical Freeze.&lt;br /&gt;
&lt;br /&gt;
{{research|major|Most of this format hasn't been researched yet.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== RMHD ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;RMHD&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| {{unknown|'''Unknown''' (Always 3?)}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== COMP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Section Header (Tropical Freeze)|Section Header]]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''&amp;quot;COMP&amp;quot; section header'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Object type'''&lt;br /&gt;
|-&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Instance name length'''&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| -&lt;br /&gt;
| '''Instance name''' (not zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| 2&lt;br /&gt;
| '''Connection count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each connection is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''State'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| char[4]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Message'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u128&lt;br /&gt;
| 0x10&lt;br /&gt;
| '''Target Instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Following is property data; size and contents vary by object type.&lt;br /&gt;
&lt;br /&gt;
=== Object Types ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Object&lt;br /&gt;
|-&lt;br /&gt;
| 0x2BE8BC19&lt;br /&gt;
| LightStatic&lt;br /&gt;
|-&lt;br /&gt;
| 0x9EE5541D&lt;br /&gt;
| LightDynamic&lt;br /&gt;
|-&lt;br /&gt;
| 0x73AECD92&lt;br /&gt;
| FogVolume&lt;br /&gt;
|-&lt;br /&gt;
| 0x7DCAF170&lt;br /&gt;
| BloomEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x655C5175&lt;br /&gt;
| AudioBusController&lt;br /&gt;
|-&lt;br /&gt;
| 0x24D9D323&lt;br /&gt;
| AudioEffect&lt;br /&gt;
|-&lt;br /&gt;
| 0x8FE0BFC9&lt;br /&gt;
| Relay&lt;br /&gt;
|-&lt;br /&gt;
| 0x97E65DDD&lt;br /&gt;
| TouchableTrigger&lt;br /&gt;
|-&lt;br /&gt;
| 0xC49D730E&lt;br /&gt;
| TriggerLogic&lt;br /&gt;
|-&lt;br /&gt;
| 0x3175DF36&lt;br /&gt;
| ApplyDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x06E89BE7&lt;br /&gt;
| Health&lt;br /&gt;
|-&lt;br /&gt;
| 0xBDE4AB05&lt;br /&gt;
| TakeDamage&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C5D597D&lt;br /&gt;
| NearVisible&lt;br /&gt;
|-&lt;br /&gt;
| 0x749749F1&lt;br /&gt;
| Everything&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Donkey Kong Country: Tropical Freeze]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=665</id>
		<title>MLVL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MLVL_(File_Format)&amp;diff=665"/>
				<updated>2015-02-04T09:38:15Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MLVL format''' defines worlds in the Metroid Prime trilogy and Donkey Kong Country Returns. While the [[MREA (File Format)|MREA format]] defines individual areas, the MLVL is what links together all the areas to create a single cohesive world.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The format largely defines properties related to each area in general and how they link together, as well as things that apply to the world on a global scale across all areas, such as the skybox.&lt;br /&gt;
&lt;br /&gt;
Remember that all resource IDs are 32 bits in Prime 1/2, and 64 bits in Prime 3/DKCR.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Magic'''; always 0xDEAFBABE&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see below&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dark World Name'''&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|Sets whether the next five values exist}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Level number''' (such as 1-2, 2-2, etc)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SAVW (File Format)|SAVW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World save settings'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[CMDL (File Format)|CMDL]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World skybox model'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
These are the known version numbers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Game&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| Metroid Prime Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Metroid Prime&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Metroid Prime 2 Demo&lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Metroid Prime 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| Metroid Prime 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Donkey Kong Country Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Relays ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of all Memory Relay objects used in the world and what objects they're connected to. If a Memory Relay is connected to multiple objects, it will show up multiple times.&lt;br /&gt;
&lt;br /&gt;
The section starts with a 32-bit count value, then each relay is structured as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Memory Relay instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Target instance ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 2&lt;br /&gt;
| '''Message'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x9&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 0)}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Areas ===&lt;br /&gt;
&lt;br /&gt;
This section defines every area in the world and how they connect to other areas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area count'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Header ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| [[STRG (File Format)|STRG]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area name'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[12]&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| float[6]&lt;br /&gt;
| 0x18&lt;br /&gt;
| '''Bounding box'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MREA (File Format)|MREA]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area MREA'''&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''Area ID'''; used by layer-switching objects&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attached area ID count''' (AC)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u16[]&lt;br /&gt;
| 2 &amp;amp;times; AC&lt;br /&gt;
| '''Attached area indices''' (this is an index into the MLVL's area list)&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dependency List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1 and 2. It starts with what's essentially an embedded [[DGRP (File Format)|DGRP]] file: a 32-bit count value followed by a list of resources used by the area.&lt;br /&gt;
&lt;br /&gt;
Following that is a small array. The purpose of this array is to distinguish which resources are used by which layers, to avoid wasting time loading resources used by objects that aren't active. It's an array of offsets into the dependency table, each one marking the start of that layer's dependency list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32[]&lt;br /&gt;
| 4 &amp;amp;times; LC&lt;br /&gt;
| '''Layer dependency offsets'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Docks ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock count''' (DC)&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dock|Dock]]&lt;br /&gt;
| DC&lt;br /&gt;
| '''Docks'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Connecting dock count''' (CC)&lt;br /&gt;
|-&lt;br /&gt;
| [[#Connecting Dock|Connecting dock]]&lt;br /&gt;
| CC&lt;br /&gt;
| '''Connecting docks'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' (always 4; possibly dock coordinate count)}}&lt;br /&gt;
|-&lt;br /&gt;
| vec3&lt;br /&gt;
| 4&lt;br /&gt;
| '''Dock coordinates'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Connecting Dock =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area index'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Dock index'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== .rel List ====&lt;br /&gt;
&lt;br /&gt;
This section is only present in Echoes. It contains a list of .rel files used by the area. Like the dependency list, this is split up by layer, and is followed by an offset that indicates which .rel files are used by which layers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''.rel count''' (RC)&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| RC&lt;br /&gt;
| '''.rel filenames''' (all zero-terminated)&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer .rel offsets'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Area Footer ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
! MP1&lt;br /&gt;
! MP2&lt;br /&gt;
! MP3&lt;br /&gt;
! DKCR&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| 1&lt;br /&gt;
| '''Internal area name''' (zero-terminated)&lt;br /&gt;
| {{nocheck}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
| {{check}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World Map ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in the Prime trilogy. It sets the [[MAPW (File Format)|MAPW]] file used for this world.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[MAPW (File Format)|MAPW]]&lt;br /&gt;
| 4/8&lt;br /&gt;
| '''World map'''&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio Groups ===&lt;br /&gt;
&lt;br /&gt;
This section is only present in Prime 1. It contains a list of audio groups (AGSC files) used in this world. It begins with a 32-bit count value, then each audio group is defined as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AGSC (File Format)|AGSC]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Audio Group file'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's two values following this, at the end of the AGSC table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layer Info ===&lt;br /&gt;
&lt;br /&gt;
The final section of the file contains some metadata related to each layer.&lt;br /&gt;
&lt;br /&gt;
==== Layer Flags ====&lt;br /&gt;
&lt;br /&gt;
This part attaches a set of 64-bit flags to every area, where each bit corresponds to a layer; if the bit is set, then that indicates that the corresponding layer will be enabled by default (on a new save file). Since the flags are 64 bits, that means the maximum number of layers that can be present in one area is 64.&lt;br /&gt;
&lt;br /&gt;
After a 32-bit area count, the following structure is repeated for each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Area layer count'''&lt;br /&gt;
|-&lt;br /&gt;
| u64&lt;br /&gt;
| 8&lt;br /&gt;
| '''Area layer flags'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Names ====&lt;br /&gt;
&lt;br /&gt;
This is a very simple list of layer name strings. For info on how each layer is actually attached to its corresponding area, check the [[#Layer Name Offsets|Layer Name Offsets]] section.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Layer count''' (LC)&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| LC&lt;br /&gt;
| '''Layer names''' (zero-terminated)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unknown Array ====&lt;br /&gt;
&lt;br /&gt;
This array is only present in Prime 3 and DKCR.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown count'''}} (UC)&lt;br /&gt;
|-&lt;br /&gt;
| unknown struct&lt;br /&gt;
| 0x10 &amp;amp;times; UC&lt;br /&gt;
| {{unknown|'''Unknown struct array'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Layer Name Offsets ====&lt;br /&gt;
&lt;br /&gt;
The final layer info section provides one offset into the layer name table per area. This can be used to attach a layer's name to its corresponding data within the area.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Count&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| 1&lt;br /&gt;
| '''Area count''' (AC)&lt;br /&gt;
|-&lt;br /&gt;
| u32&lt;br /&gt;
| AC&lt;br /&gt;
| '''Area layer names offsets'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;br /&gt;
[[Category:Donkey Kong Country Returns]]&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=649</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=649"/>
				<updated>2015-02-04T00:26:49Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Memory Relays (Prime only)=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay count'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each memory relay:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|'''Message'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|? (Always 0)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|'''Transformation Matrix'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|'''Axis-Aligned Bounding Box'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area .MREA'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area ID''' (used by layer-switching objects)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected area count''' (CC)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x2 x CC&lt;br /&gt;
|'''Connected area numbers'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (always 0)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dependency List (Prime/Echoes)===&lt;br /&gt;
&lt;br /&gt;
Starts with [[DGRP_(File_Format)|DGRP]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dependency Offset Count''' (OC)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Dependency Offsets'''&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Docks===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each dock:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connection Count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each connection:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (Always 4, could be a count for the dock coordinates)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|4 sets of dock coordinates&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===.rel list (Echoes)===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.rel Count''' (RC)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|? x RC&lt;br /&gt;
|'''.rels''' (zero-terminated)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.rel Offset Count''' (OC)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''.rel Offsets'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Remainder===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Always 0; could be something in previous games, such as the dock count, but I have no way of knowing for sure&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Code Name''' (zero-terminated)&lt;br /&gt;
|Echoes, Corruption, Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=After Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .MAPW'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x5&lt;br /&gt;
|? (Always 0)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC count''' (AC)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each AGSC:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|? (Always 0)&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Layer Info Count''' (should be identical to Area Count)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each layer info:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|'''Layer Bit Flags''' (1 if a layer should be turned on in a new file)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Count''' (LC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|? x LC&lt;br /&gt;
|'''Layer Names''' (zero-terminated)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|(Unknown) Count (UC)&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10 x UC&lt;br /&gt;
|?&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Offset Count''' (OC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Layer Name Offsets'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=648</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=648"/>
				<updated>2015-02-04T00:12:11Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Memory Relays (Prime only)=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay count'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each memory relay:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|'''Message'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|? (Always 0)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|'''Transformation Matrix'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|'''Axis-Aligned Bounding Box'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area .MREA'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area ID''' (used by layer-switching objects)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected area count''' (CC)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x2 x CC&lt;br /&gt;
|'''Connected area numbers'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (always 0)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dependency List (Prime/Echoes)===&lt;br /&gt;
&lt;br /&gt;
Starts with [[DGRP_(File_Format)|DGRP]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dependency Offset Count''' (OC)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Dependency Offsets'''&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Docks===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each dock:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connection Count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each connection:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (Always 4, could be a count for the dock coordinates)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|4 sets of dock coordinates&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===.rel list (Echoes)===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.rel Count''' (RC)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|? x RC&lt;br /&gt;
|'''.rels''' (zero-terminated)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.rel Offset Count''' (OC)&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''.rel Offsets'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Remainder===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Always 0; could be something in previous games, such as the dock count, but I have no way of knowing for sure&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Code Name''' (zero-terminated)&lt;br /&gt;
|Echoes, Corruption, Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=After Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .MAPW'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x5&lt;br /&gt;
|?&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC count''' (AC)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each AGSC:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Layer Info Count''' (should be identical to Area Count)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each layer info:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|'''Layer Bit Flags''' (1 if a layer should be turned on in a new file)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Count''' (LC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|? x LC&lt;br /&gt;
|'''Layer Names''' (zero-terminated)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|(Unknown) Count (UC)&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10 x UC&lt;br /&gt;
|?&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Offset Count''' (OC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Layer Name Offsets'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=646</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=646"/>
				<updated>2015-02-03T23:40:01Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Memory Relays (Prime only)=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay count'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each memory relay:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|'''Message'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|? (Always 0)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|'''Transformation Matrix'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|'''Axis-Aligned Bounding Box'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area .MREA'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area ID''' (used by layer-switching objects)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected area count''' (CC)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x2 x CC&lt;br /&gt;
|'''Connected area numbers'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (always 0)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dependency List (Prime/Echoes)===&lt;br /&gt;
&lt;br /&gt;
Identical to [[DGRP_(File_Format)|DGRP]].&lt;br /&gt;
&lt;br /&gt;
(DGRP should be updated as it doesn't mention the dependency count or the offset list)&lt;br /&gt;
&lt;br /&gt;
===Docks===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each dock:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connection Count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each connection:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (Always 4, could be a count for the dock coordinates)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|4 sets of dock coordinates&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===.rel list (Echoes)===&lt;br /&gt;
&lt;br /&gt;
Identical to [[RSOS]], except with .rel files instead of .rso files.&lt;br /&gt;
&lt;br /&gt;
(Page needs to be created)&lt;br /&gt;
&lt;br /&gt;
===Remainder===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Always 0; could be something in previous games, such as the dock count, but I have no way of knowing for sure&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Code Name''' (zero-terminated)&lt;br /&gt;
|Echoes, Corruption, Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=After Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .MAPW'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x5&lt;br /&gt;
|?&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC count''' (AC)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each AGSC:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Layer Info Count''' (should be identical to Area Count)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each layer info:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|'''Layer Bit Flags''' (1 if a layer should be turned on in a new file)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Count''' (LC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|? x LC&lt;br /&gt;
|'''Layer Names''' (zero-terminated)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|(Unknown) Count (UC)&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10 x UC&lt;br /&gt;
|?&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Offset Count''' (OC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Layer Name Offsets'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=645</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=645"/>
				<updated>2015-02-03T21:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Memory Relays (Prime only)=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay count'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each memory relay:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each area:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|'''Transformation Matrix'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|'''Axis-Aligned Bounding Box'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area .MREA'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Area ID''' (used by layer-switching objects)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected area count''' (CC)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x2 x CC&lt;br /&gt;
|'''Connected area numbers'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (always 0)&lt;br /&gt;
|Prime/Echoes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dependency List (Prime/Echoes)===&lt;br /&gt;
&lt;br /&gt;
Identical to [[DGRP_(File_Format)|DGRP]].&lt;br /&gt;
&lt;br /&gt;
(DGRP should be updated as it doesn't mention the dependency count or the offset list)&lt;br /&gt;
&lt;br /&gt;
===Docks===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each dock:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connection Count'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each connection:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dock Number'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|? (Always 4, could be a count for the dock coordinates)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|4 sets of dock coordinates&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===.rel list (Echoes)===&lt;br /&gt;
&lt;br /&gt;
Identical to [[RSOS]], except with .rel files instead of .rso files.&lt;br /&gt;
&lt;br /&gt;
(Page needs to be created)&lt;br /&gt;
&lt;br /&gt;
===Remainder===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Always 0; could be something in previous games, such as the dock count, but I have no way of knowing for sure&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Code Name''' (zero-terminated)&lt;br /&gt;
|Echoes, Corruption, Returns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=After Areas=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .MAPW'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x5&lt;br /&gt;
|?&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC count''' (AC)&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each AGSC:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''.AGSC ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Area Layer Info Count''' (should be identical to Area Count)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each layer info:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|'''Layer Bit Flags''' (1 if a layer should be turned on in a new file)&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Count''' (LC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|? x LC&lt;br /&gt;
|'''Layer Names''' (zero-terminated)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|(Unknown) Count (UC)&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10 x UC&lt;br /&gt;
|?&lt;br /&gt;
|Corruption/Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Layer Name Offset Count''' (OC)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4 x OC&lt;br /&gt;
|'''Layer Name Offsets'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=422</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=422"/>
				<updated>2015-01-26T13:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic Number''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Memory Relays (Prime only)=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay count'''&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each memory relay:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Memory Relay Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected Instance ID'''&lt;br /&gt;
|Prime&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Rooms=&lt;br /&gt;
&lt;br /&gt;
Should &amp;quot;room&amp;quot; be changed to &amp;quot;area&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Room count'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Prime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each room:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Room Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|'''Transformation Matrix'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|'''Axis Aligned Bounding Box'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Room .MREA'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''Room ID''' (used by layer-switching objects)&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Connected room count''' (CC)&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x2 x CC&lt;br /&gt;
|'''Connected room numbers'''&lt;br /&gt;
|Prime/Echoes/Corruption&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=419</id>
		<title>User:Claris/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Claris/Sandbox&amp;diff=419"/>
				<updated>2015-01-26T13:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;Claris: Throwing in-progress MLVL stuff here for now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''.MLVL''' description here.&lt;br /&gt;
&lt;br /&gt;
Note that file IDs are 4 bytes in Prime/Echoes and 8 bytes in Corruption/Returns.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate&lt;br /&gt;
|reason=Reason&lt;br /&gt;
}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Header=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Size&lt;br /&gt;
!Description&lt;br /&gt;
!Games&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Magic Number''' 0xDEAFBABE&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''File Version'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Name .STRG'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|'''Dark World Name .STRG'''&lt;br /&gt;
|Echoes&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|?&lt;br /&gt;
|Echoes/Corruption&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Boolean, checks whether the next two values exist&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|'''Level Number''' string (zero-terminated)&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|4 floats&lt;br /&gt;
|Returns&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World .SAVW'''&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|0x4/0x8&lt;br /&gt;
|'''World Skybox .CMDL'''&lt;br /&gt;
|All&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Claris</name></author>	</entry>

	</feed>