<?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=Bearborg</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=Bearborg"/>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/wiki/Special:Contributions/Bearborg"/>
		<updated>2026-05-03T16:43:54Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=ANIM_(Metroid_Prime_3)&amp;diff=1403</id>
		<title>ANIM (Metroid Prime 3)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=ANIM_(Metroid_Prime_3)&amp;diff=1403"/>
				<updated>2016-05-08T16:42:15Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This article is for the ANIM format used in ''Metroid Prime 3''. See [[ANIM (File Format)]] for the other revisions of this format.''&lt;br /&gt;
&lt;br /&gt;
The '''ANIM format''' is used in conjunction with [[CINF]] + [[CSKR]]&lt;br /&gt;
rigging to animate [[CMDL (Metroid Prime)|CMDL meshes]].&lt;br /&gt;
&lt;br /&gt;
There are two versions of the ANIM format in ''Metroid Prime 3'' (indicated by the file's first u32 value):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|[[#Quaternion Array Format|Quaternion Array Format]]&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|[[#Bitstream Format|Bitstream Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Quaternion Array Format ==&lt;br /&gt;
&lt;br /&gt;
{{main|ANIM (Metroid Prime)}}&lt;br /&gt;
&lt;br /&gt;
This format is identical to [[ANIM (Metroid Prime)#Quaternion Array Format (Uncompressed)|Metroid Prime 2's Version 0]]&lt;br /&gt;
'''except for an unknown u16 value inserted at the beginning'''.&lt;br /&gt;
&lt;br /&gt;
== Bitstream Format ==&lt;br /&gt;
&lt;br /&gt;
The '''Bitstream Format''' (0x1) version of ANIM is a significant departure from Version 0x2 used in MP1/2. &lt;br /&gt;
It's still based on a [[wikipedia:Bitstream|bitstream]] with&lt;br /&gt;
[[wikipedia:Delta encoding|delta encoding]] and [[wikipedia:Quantization (signal processing)|quantization]],&lt;br /&gt;
but the quaternion encoding is simpler to decode and the key-layout is slightly different. &lt;br /&gt;
&lt;br /&gt;
There is no longer a frame interval value for defining a consistent frame-rate; each keyed-frame's time position&lt;br /&gt;
is explicitly defined as a floating-point value in seconds.&lt;br /&gt;
&lt;br /&gt;
Additionally, [[CINF]] bone-IDs are no longer explicitly defined; the indexing &lt;br /&gt;
position of the bone channel serves as the bone-ID (beginning at 0 for the root bone).&lt;br /&gt;
&lt;br /&gt;
=== Key Values ===&lt;br /&gt;
&lt;br /&gt;
Each keyed-frame begins with 1-bit in the stream; its purpose is unknown.&lt;br /&gt;
&lt;br /&gt;
Each channel attribute is initialized iteratively using the ''init_block''&lt;br /&gt;
values. For every frame of every bone channel, the key value in the bitstream is ''added''&lt;br /&gt;
with the previous key value (to resolve the delta encoding).&lt;br /&gt;
&lt;br /&gt;
Once resolved, rotation imaginary components and scale components are divided by 0x7FFF, resulting&lt;br /&gt;
in normalized floats.&lt;br /&gt;
&lt;br /&gt;
Rotation channels consist of 4-components per-bone. The first expresses the quaternion W-sign&lt;br /&gt;
in the least-significant bit. The remaining 3 express quaternion imaginary (XYZ) values.&lt;br /&gt;
The W value itself is calculated using normalized-difference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
q = 1.0 / 0x7FFF&lt;br /&gt;
X = rx * q&lt;br /&gt;
Y = ry * q&lt;br /&gt;
Z = rz * q&lt;br /&gt;
W = sqrt(MAX((1.0 - (X*X + Y*Y + Z*Z)), 0.0))&lt;br /&gt;
W = (rw &amp;amp; 0x1) ? -W : W&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Translation components are multiplied by ''translation_multiplier'', yielding world units.&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data Type&lt;br /&gt;
!Element Count&lt;br /&gt;
!Identifier&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[#Header1|Header1]]&lt;br /&gt;
|1&lt;br /&gt;
|header&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|header.key_count&lt;br /&gt;
|key_times&lt;br /&gt;
|Array of time positions in seconds&lt;br /&gt;
|-&lt;br /&gt;
|u8&lt;br /&gt;
|1&lt;br /&gt;
|channel_flag_count&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|u8&lt;br /&gt;
|channel_flag_count&lt;br /&gt;
|channel_flags&lt;br /&gt;
|Field of 3-bits for enabling channel attributes&lt;br /&gt;
* 0x1: Rotation&lt;br /&gt;
* 0x2: Translation&lt;br /&gt;
* 0x4: Scale&lt;br /&gt;
|-&lt;br /&gt;
|s16&lt;br /&gt;
|header.init_block_size / 2&lt;br /&gt;
|init_block&lt;br /&gt;
|Initial values for each channel-attribute animated by this ANIM (bone-major)&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|1&lt;br /&gt;
|channel_q_count&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|1&lt;br /&gt;
|{{unknown|unknown0}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|1&lt;br /&gt;
|{{unknown|unknown1}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|u8&lt;br /&gt;
|1&lt;br /&gt;
|channel_q_block&lt;br /&gt;
|Quantized bit-count for each channel-attribute animated by this ANIM (bone-major)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;remainder-of-stream-block&amp;gt;&lt;br /&gt;
|key_bitstream&lt;br /&gt;
|Word-packed bitstream laid out as described by the tables above. The bitstream is unpacked least-significant to most-significant bit for each word. &lt;br /&gt;
Key values are tightly-packed, quantized integers whose bit-depth is specified by the values in the ''channel_q_block''. &lt;br /&gt;
&lt;br /&gt;
The key integers are signed using [[wikipedia:Two's complement|Two's complement]] representation.&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|1&lt;br /&gt;
|unknown_bool_count&lt;br /&gt;
|Seems to match the bone count&lt;br /&gt;
|-&lt;br /&gt;
|u8&lt;br /&gt;
|unknown_bool_count&lt;br /&gt;
|{{unknown|unknown_bools}}&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Header1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Length&lt;br /&gt;
!Data Type&lt;br /&gt;
!Identifier&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|2&lt;br /&gt;
|u16&lt;br /&gt;
|{{unknown|unknown0}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|1&lt;br /&gt;
|u8&lt;br /&gt;
|{{unknown|unknown1}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|unknown2}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x7&lt;br /&gt;
|3&lt;br /&gt;
|u8[3]&lt;br /&gt;
|{{unknown|unknown3}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0xA&lt;br /&gt;
|4&lt;br /&gt;
|float&lt;br /&gt;
|translation_multiplier&lt;br /&gt;
|Translation vectors are multiplied by this value before being applied&lt;br /&gt;
|-&lt;br /&gt;
|0xE&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|unknown4}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|unknown5}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16&lt;br /&gt;
|4&lt;br /&gt;
|float&lt;br /&gt;
|{{unknown|unknown6}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1A&lt;br /&gt;
|4&lt;br /&gt;
|float&lt;br /&gt;
|{{unknown|unknown7}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1E&lt;br /&gt;
|4&lt;br /&gt;
|float&lt;br /&gt;
|duration&lt;br /&gt;
|Time in seconds that the animation plays for&lt;br /&gt;
|-&lt;br /&gt;
|0x22&lt;br /&gt;
|2&lt;br /&gt;
|u16&lt;br /&gt;
|key_count&lt;br /&gt;
|Count of keyed-frames in animation (including initializer keys)&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|data_blob_size&lt;br /&gt;
|Count of bytes after header&lt;br /&gt;
|-&lt;br /&gt;
|0x28&lt;br /&gt;
|1&lt;br /&gt;
|u8&lt;br /&gt;
|{{unknown|unknown8}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x29&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|key_times_size&lt;br /&gt;
|Count of bytes in key times array&lt;br /&gt;
|-&lt;br /&gt;
|0x2D&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|channel_flags_size&lt;br /&gt;
|Count of bytes in channel flags array&lt;br /&gt;
|-&lt;br /&gt;
|0x31&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|init_block_size&lt;br /&gt;
|Count of bytes in init block&lt;br /&gt;
|-&lt;br /&gt;
|0x35&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|stream_block_size&lt;br /&gt;
|Count of bytes in bitstream block (everything after init_block)&lt;br /&gt;
|-&lt;br /&gt;
|0x39&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|{{unknown|unknown9}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x3D&lt;br /&gt;
|4&lt;br /&gt;
|u32&lt;br /&gt;
|bone_count&lt;br /&gt;
|Count of bone channels in this ANIM&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime 3: Corruption]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:ATEX_example_crunchy.gif&amp;diff=1304</id>
		<title>File:ATEX example crunchy.gif</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:ATEX_example_crunchy.gif&amp;diff=1304"/>
				<updated>2016-02-29T01:36:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:ATEX example crunchy.gif&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MAPA_(File_Format)&amp;diff=1050</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=1050"/>
				<updated>2015-04-11T13:51:40Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Point of Interest */&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, Point Of Interest entries, Vertices, Primitive Headers, and the primitives.&lt;br /&gt;
&lt;br /&gt;
{{research|2|A few things are unknown in the header and POI 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;
|CAABox&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;
|{{check}}&lt;br /&gt;
|{{check}}&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;
|{{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;
|'''POI 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;
=== Point of Interest ===&lt;br /&gt;
A Point of Interest in the Metroid Prime series can include: Mission Objectives, Elevators, Doors, Map Stations, and Missile Stations. Each Point of Interest 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'''; All valid values are not currently known&lt;br /&gt;
|{{check}}&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;
|u16&lt;br /&gt;
|{{unknown|Unknown}}&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
|u16&lt;br /&gt;
|'''ID'''; Which door, elevator etc.&lt;br /&gt;
|{{check}}&lt;br /&gt;
|{{nocheck}}&lt;br /&gt;
|-&lt;br /&gt;
|CVector4f&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;
|CTransform4f&lt;br /&gt;
|'''Tranform Matrix''' The Point of Interest'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;
=== 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;
|CAABox&lt;br /&gt;
|'''Bounding Box'''&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Table Start'''; relative to the end of this header&lt;br /&gt;
|-&lt;br /&gt;
|u32&lt;br /&gt;
|'''Primitive Table End'''; relative to the end of this 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>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Materials_(Metroid_Prime)&amp;diff=944</id>
		<title>Materials (Metroid Prime)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Materials_(Metroid_Prime)&amp;diff=944"/>
				<updated>2015-03-17T20:54:00Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Color Channels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The format for '''materials''' is seen in both the [[CMDL (Metroid Prime)|CMDL]] and [[MREA (File Format)|MREA]] formats and is identical in both. This particular material format appears in both Metroid Prime and Metroid Prime 2 with minor differences.&lt;br /&gt;
&lt;br /&gt;
{{research|minor|There are two unknown values left in the MP1 material format, and there might be some unknown flag settings. Also, everything that was introduced in Echoes (two general settings and a vertex attribute) is unknown.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== GX Overview ==&lt;br /&gt;
&lt;br /&gt;
The materials system in Metroid Prime is heavily dependent on the GameCube and Wii's graphics system, GX. GX is a fixed-function graphics pipeline, similar to old versions of OpenGL. In GX, rendering is done through a series of steps called '''T'''exture '''E'''n'''V'''ironment Stages, or or TEV stages for short.&lt;br /&gt;
&lt;br /&gt;
Lighting calculations and tex coord generation are done per-vertex and passed along to TEV; the results of the lighting calculations are saved into up to two color channels that can be used as TEV inputs (as the rasterized vertex color). Each TEV stage takes in four color inputs and four alpha inputs, from one of eight sources. Then these four input colors are combined into one output color, and the output is saved into one of four registers, which can subsequently be used as input in the next TEV stages. The final stage must always save its output into the &amp;quot;previous TEV stage&amp;quot; register; that register is used as the final pixel color that gets displayed onscreen.&lt;br /&gt;
&lt;br /&gt;
== Material Set Format ==&lt;br /&gt;
&lt;br /&gt;
Materials come as part of a set; often there will only be one set per file, but many CMDLs can have more than one. The set begins with a short header before the actual material data begins.&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texture file IDs'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Material count''' (MC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| MC&lt;br /&gt;
| '''Material end offsets''' (relative to the start of the first material)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Materials begin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Material Format ==&lt;br /&gt;
&lt;br /&gt;
=== General Settings ===&lt;br /&gt;
&lt;br /&gt;
Each material begins with a flags value, followed by a list of texture indices:&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texture indices''' (these are indices into the material set texture array)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Vertex attribute flags'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' ''(note: only in Echoes)''}}&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' ''(note: only in Echoes)''}}&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst count''' (KC); max setting is 4. ''(note: only present if flag 0x8 is set!)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| KC&lt;br /&gt;
| '''Konst colors''' - 32-bit RGBA colors ''(note: not present if the Konst count isn't)''&lt;br /&gt;
|-&lt;br /&gt;
| short&lt;br /&gt;
| 1&lt;br /&gt;
| '''Blend destination factor'''&lt;br /&gt;
|-&lt;br /&gt;
| short&lt;br /&gt;
| 1&lt;br /&gt;
| '''Blend source factor'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown''' ''(note: only present if flag 0x400 is set!)''}}&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Color channel count''' (CC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| CC&lt;br /&gt;
| '''Color channel flags''' ''(note: only one flag value, but you must advance 4*CC bytes instead of 4 for some reason)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''TEV stage count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Flags ====&lt;br /&gt;
&lt;br /&gt;
These are the known flag settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Appears unused, but always set&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x2&lt;br /&gt;
| Appears unused, but always set&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0x4&lt;br /&gt;
| Appears unused, but always unset&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x8&lt;br /&gt;
| Enable Konstant values&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 0x10&lt;br /&gt;
| Mark transparent material&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0x20&lt;br /&gt;
| Enable punchthrough alpha&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 0x40&lt;br /&gt;
| Enable Samus's reflection&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 0x80&lt;br /&gt;
| Enable depth writing&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0x100&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x200&lt;br /&gt;
| Don't draw&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 0x400&lt;br /&gt;
| Enable second unknown value&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0x800&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0x1000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 0x2000&lt;br /&gt;
| Enable lightmaps; first UV coordinate uses short array instead of float array&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 0x4000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 0x8000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 0x10000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0x20000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0x40000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 0x80000&lt;br /&gt;
| {{unknown|Unknown}}&lt;br /&gt;
|-&lt;br /&gt;
| 20+&lt;br /&gt;
| 0x100000+&lt;br /&gt;
| Unused; never set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Vertex Attribute Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags are generally toggled in pairs, with each pair corresponding to a vertex attribute; if a pair is set, then vertices using this material will have the corresponding attribute. This is vital for reading geometry.&lt;br /&gt;
&lt;br /&gt;
An important note is that while the leftmost byte is not used in Prime 1, in Echoes there's occasionally a value there that toggles an extra vertex attribute preceding position. This needs research to determine what the new attribute actually is. Also, GX supports up to 8 texture coords per vertex, but the game doesn't seem to allow you to assign more than 7 (though this could do with some double-checking).&lt;br /&gt;
&lt;br /&gt;
These are the possible attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit pair&lt;br /&gt;
! Attribute&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| Position&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| Normal&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| Color 0&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| Color 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x300&lt;br /&gt;
| Tex 0&lt;br /&gt;
|-&lt;br /&gt;
| 0xC00&lt;br /&gt;
| Tex 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x3000&lt;br /&gt;
| Tex 2&lt;br /&gt;
|-&lt;br /&gt;
| 0xC000&lt;br /&gt;
| Tex 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x30000&lt;br /&gt;
| Tex 4&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0000&lt;br /&gt;
| Tex 5&lt;br /&gt;
|-&lt;br /&gt;
| 0x300000&lt;br /&gt;
| Tex 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Konst Colors ====&lt;br /&gt;
&lt;br /&gt;
These values are only present when flag 0x8 is enabled. These allow you to set Konstant values, which can subsequently be used as inputs in TEV stages. The maximum number of Konst values you can set on one material is 4. The colors themselves are simply 32-bit RGBA values.&lt;br /&gt;
&lt;br /&gt;
==== Blend Mode ====&lt;br /&gt;
&lt;br /&gt;
The two blend factors set the blending mode used. The most common values you'll see are 0/1, which is used on opaque materials; transparent materials will usually have either 1/1, for additive blending, or 5/4, for alpha blending. Here's the full range of possible settings for each value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Blend factor&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| GX_BL_ZERO&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| GX_BL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| GX_BL_SRCCLR / GX_BL_DSTCLR&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| GX_BL_INVSRCCLR / GX_BL_INVSRCCLR&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| GX_BL_SRCALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| GX_BL_INVSRCALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| GX_BL_DSTALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| GX_BL_INVDSTALPHA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Channels ====&lt;br /&gt;
&lt;br /&gt;
The color channels data consists of a count value indicating the number of color channels, and then one set of flags that controls the COLOR0 channel. The flags correspond to arguments passed to [http://libogc.devkitpro.org/gx_8h.html#a87d79cf2375217d06237c887ba027cc2 GX_SetChanCtrl()]. These are the settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x1&lt;br /&gt;
| '''Enable lighting''' (enable)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x2&lt;br /&gt;
| '''Ambient color source''' (ambsrc)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0x4&lt;br /&gt;
| '''Material color source''' (matsrc)&lt;br /&gt;
|-&lt;br /&gt;
| 3-10&lt;br /&gt;
| 0x7F8&lt;br /&gt;
| '''Light mask'''; always 0, filled in at runtime ([http://libogc.devkitpro.org/group__lightid.html litmask])&lt;br /&gt;
|-&lt;br /&gt;
| 11-12&lt;br /&gt;
| 0x1800&lt;br /&gt;
| '''Diffuse function''' ([http://libogc.devkitpro.org/group__difffn.html diff_fn])&lt;br /&gt;
|-&lt;br /&gt;
| 13-14&lt;br /&gt;
| 0x6000&lt;br /&gt;
| '''Attenuation function''' ([http://libogc.devkitpro.org/group__attenfunc.html attn_fn])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There's only one set of flags, which operates on COLOR0. COLOR1 is reserved for dynamic shadows (terrain casting shadows on actors), so its settings can't be directly modified. Here's how the other color channel settings work.&lt;br /&gt;
&lt;br /&gt;
COLOR1A1's settings vary depending on whether shadowmaps are enabled:&lt;br /&gt;
&lt;br /&gt;
* No processing will be done if the count value is 0. Otherwise, the count value is ignored; the game will always set up both color channels.&lt;br /&gt;
* COLOR1A1's ambient color is black, and its material color is white.&lt;br /&gt;
* COLOR1 will use the diffuse function GX_DF_CLAMP and the attenuation function GX_AF_SPOT. It will have lighting disabled entirely if there are no lights in range&lt;br /&gt;
&lt;br /&gt;
If shadowmaps are disabled:&lt;br /&gt;
&lt;br /&gt;
* COLOR1 is disabled if the count value is not 2. If it is 2, then its ambient color will be black and its material color will be white.&lt;br /&gt;
&lt;br /&gt;
COLOR0 is set up the same way either way:&lt;br /&gt;
&lt;br /&gt;
* COLOR0 will use the flags from the material, with the light mask merged in. It will also have lighting disabled if there are no lights in range.&lt;br /&gt;
* If there are no lights in range, COLOR0A0 will have its material color set to match its ambient color. Otherwise, its material color will be set to white.&lt;br /&gt;
&lt;br /&gt;
Finally, an important note is that the formatting of the color channel info is bugged. There is always a color channel count and a single set of flags; 8 bytes total. However, for some reason the game is expecting one set of flags per color channel. To reach the TEV stages, you need to advance (4 * count) bytes past the count value, rather than 4. A likely explanation is that there was one set of flags per channel earlier in development, and the material loading code wasn't fully updated when this was changed. It's not normally an issue because the count is always 1 in every file the game uses, but beware for experimentation/custom materials.&lt;br /&gt;
&lt;br /&gt;
=== TEV Stages ===&lt;br /&gt;
&lt;br /&gt;
There'll be one of these structures per TEV stage:&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;
| '''Color Input Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Alpha Input Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4&lt;br /&gt;
| '''Color Combine Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 4&lt;br /&gt;
| '''Alpha Combine Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 1&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst Alpha Input''' ([http://libogc.devkitpro.org/group__tevkalphasel.html possible values])&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst Color Input''' ([http://libogc.devkitpro.org/group__tevkcolorsel.html possible values])&lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| 1&lt;br /&gt;
| '''Rasterized Color Input''' ([http://libogc.devkitpro.org/group__channelid.html possible values])&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| colspan=2 {{unknown|End of TEV stage}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After looping through each TEV stage, there will be one of these structures per stage:&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;
| 2&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture TEV Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| 1&lt;br /&gt;
| '''Tex Coord TEV Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| colspan=2 {{unknown|End of structure}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Input Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags set the four color inputs that are used by the TEV stage. Each color is allocated 5 bits, even though only 4 are actually used; the lower bits correspond to the lower input numbers (eg. the bottom 5 bits refer to the first input).&lt;br /&gt;
&lt;br /&gt;
There are 16 possible color sources:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! Color Source&lt;br /&gt;
|-&lt;br /&gt;
| 00000&lt;br /&gt;
| 0x0&lt;br /&gt;
| Previous stage RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00001&lt;br /&gt;
| 0x1&lt;br /&gt;
| Previous stage AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00010&lt;br /&gt;
| 0x2&lt;br /&gt;
| Color 0 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00011&lt;br /&gt;
| 0x3&lt;br /&gt;
| Color 0 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00100&lt;br /&gt;
| 0x4&lt;br /&gt;
| Color 1 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00101&lt;br /&gt;
| 0x5&lt;br /&gt;
| Color 1 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00110&lt;br /&gt;
| 0x6&lt;br /&gt;
| Color 2 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00111&lt;br /&gt;
| 0x7&lt;br /&gt;
| Color 2 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01000&lt;br /&gt;
| 0x8&lt;br /&gt;
| Texture RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01001&lt;br /&gt;
| 0x9&lt;br /&gt;
| Texture AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01010&lt;br /&gt;
| 0xA&lt;br /&gt;
| Rasterized RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01011&lt;br /&gt;
| 0xB&lt;br /&gt;
| Rasterized AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01100&lt;br /&gt;
| 0xC&lt;br /&gt;
| One&lt;br /&gt;
|-&lt;br /&gt;
| 01101&lt;br /&gt;
| 0xD&lt;br /&gt;
| Half&lt;br /&gt;
|-&lt;br /&gt;
| 01110&lt;br /&gt;
| 0xE&lt;br /&gt;
| Konstant RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01111&lt;br /&gt;
| 0xF&lt;br /&gt;
| Zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Alpha Input Flags ====&lt;br /&gt;
&lt;br /&gt;
Similar to the color input flags, these set the four alpha inputs used by the TEV stage. Each value is allocated 5 bits, although only 3 are used. The main difference with alpha is that there are only 8 possible sources instead of 16:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! Alpha Source&lt;br /&gt;
|-&lt;br /&gt;
| 00000&lt;br /&gt;
| 0x0&lt;br /&gt;
| Previous stage alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00001&lt;br /&gt;
| 0x1&lt;br /&gt;
| Color 0 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00010&lt;br /&gt;
| 0x2&lt;br /&gt;
| Color 1 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00011&lt;br /&gt;
| 0x3&lt;br /&gt;
| Color 2 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00100&lt;br /&gt;
| 0x4&lt;br /&gt;
| Texture alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00101&lt;br /&gt;
| 0x5&lt;br /&gt;
| Rasterized alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00110&lt;br /&gt;
| 0x6&lt;br /&gt;
| Konstant alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00111&lt;br /&gt;
| 0x7&lt;br /&gt;
| Zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Combine Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags specify how the operation that combines the four input colors into one output color is performed.&lt;br /&gt;
&lt;br /&gt;
This is the combiner function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tevrigid = (d (tevop) ((1.0-c)*a + c*b) + tevbias) * tevscale;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The values set in the color operation flags correspond to the parameters passed to [http://libogc.devkitpro.org/gx_8h.html#a067b875ff1e3e6760d0d7d7838c6c4c2 GX_SetTevColorOp()]. These are the settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0-3&lt;br /&gt;
| 0xF&lt;br /&gt;
| '''Combiner operator''' ([http://libogc.devkitpro.org/group__tevop.html tevop])&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 0x30&lt;br /&gt;
| '''Bias''' ([http://libogc.devkitpro.org/group__tevbias.html tevbias]); 00 does nothing; 01 adds 0.5; 10 subtracts 0.5; 11 does nothing.&lt;br /&gt;
|-&lt;br /&gt;
| 6-7&lt;br /&gt;
| 0xC0&lt;br /&gt;
| '''Scale''' ([http://libogc.devkitpro.org/group__tevscale.html tevscale]); 00 does nothing; 01 multiples by 2; 10 multiplies by 4; 11 divides by 2.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0x100&lt;br /&gt;
| '''Clamp flag'''; enabling this will clamp the output color between 0 and 1.&lt;br /&gt;
|-&lt;br /&gt;
| 9-10&lt;br /&gt;
| 0x600&lt;br /&gt;
| '''Output register''' ([http://libogc.devkitpro.org/group__tevcoloutreg.html tevrigid]); can be Previous Stage or Color 0/1/2&lt;br /&gt;
|-&lt;br /&gt;
| 11+&lt;br /&gt;
| 0xFFFFF800&lt;br /&gt;
| Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the vast majority of materials in the game, if not all of them, don't really bother with any of this; they enable clamping, set an output register, and leave everything else at their defaults of 0.&lt;br /&gt;
&lt;br /&gt;
==== Alpha Combine Flags ====&lt;br /&gt;
&lt;br /&gt;
This is exactly the same as the color combine flags; the only difference is it operates on alpha instead of color.&lt;br /&gt;
&lt;br /&gt;
=== Texgen ===&lt;br /&gt;
&lt;br /&gt;
After the TEV stages comes a sequence of flags determining how texgen is executed. Texgen is the process of taking input values and using them to generate texture coordinates (or UV coordinates), which can then be used by the TEV stages. It's important to note that any vertex attribute can be used as a texgen input; in fact, it's rather common for materials to use the vertex normal as an input to simulate reflections. That means ''the number of texture coords present on each vertex is not the same as the number of texture coords available to TEV''.&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texgen count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texgen flags'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags correspond to arguments passed to [http://libogc.devkitpro.org/gx_8h.html#a55a426a3ff796db584302bddd829f002 GX_SetTexCoordGen2()]. These are the settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0-3&lt;br /&gt;
| 0xF&lt;br /&gt;
| '''Texture coord generation type''' ([http://libogc.devkitpro.org/group__texgentyp.html tgen_typ])&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 0x1F0&lt;br /&gt;
| '''Texture coord source''' ([http://libogc.devkitpro.org/group__texgensrc.html tgen_src])&lt;br /&gt;
|-&lt;br /&gt;
| 9-13&lt;br /&gt;
| 0x3E00&lt;br /&gt;
| '''Texture matrix index''' ([http://libogc.devkitpro.org/group__texmtx.html mtxsrc] - add 30)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 0x4000&lt;br /&gt;
| '''Normalize flag''' - normalizes texture coord after it's multiplied by the texture matrix (normalize)&lt;br /&gt;
|-&lt;br /&gt;
| 15-20&lt;br /&gt;
| 0x1F8000&lt;br /&gt;
| '''Post-transform texture matrix index''' ([http://libogc.devkitpro.org/group__dttmtx.html postmtx] - add 64)&lt;br /&gt;
|-&lt;br /&gt;
| 21+&lt;br /&gt;
| 0xFFE00000&lt;br /&gt;
| Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== UV Animations ===&lt;br /&gt;
&lt;br /&gt;
The UV animations section immediately follows the texgen flags. Its purpose is to generate texture matrices and post-transform matrices, which are then used to transform UV coordinates. This is commonly used to animate textures via simple UV scrolls, but it's also often used to simulate reflective surfaces that move with the camera. Materials can have multiple UV animations; in that case, each animation generates a separate texture/post-transform matrix and are loaded into GX sequentially. Texgen is used to set which matrices are used by which UV coordinates (if any).&lt;br /&gt;
&lt;br /&gt;
The section starts with this short header:&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;
| '''Material animations section size''' (includes animation count, so will be 4 at minimum)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Animation count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The structure of the animations themselves is somewhat simple. Each animation has a 32-bit ''mode'' setting, followed by a number of float parameters. The number and usage of these float parameters varies depending on what mode is set. There are 8 possible modes.&lt;br /&gt;
&lt;br /&gt;
For all of the following modes, ''s'' refers to ''seconds mod 900''.&lt;br /&gt;
&lt;br /&gt;
==== Mode 0: Inverse ModelView Matrix (No Translation) ====&lt;br /&gt;
&lt;br /&gt;
This mode is commonly used with vertex normals to simulate reflective surfaces using spheremaps that move with the camera. It takes no parameters, and will generate both a texture matrix and a post-transform matrix. Translation is ignored.&lt;br /&gt;
&lt;br /&gt;
The texture matrix is calculated like this. Note that the multiplication of the view matrix by the model matrix should be modified slightly rather than being a straight multiplication to ignore translation on the model matrix. (The game uses a function called MultiplyIgnoreTranslation for this.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;texmtx = inverse(ViewMatrix) * ModelMatrix;&lt;br /&gt;
texmtx[0][3] = texmtx[1][3] = texmtx[2][3] = 0;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The post-transform matrix is a constant value. [1][1] and [1][2] may need to be swapped around for correct playback.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0.5, 0.0, 0.0, 0.5,&lt;br /&gt;
0.0, 0.0, 0.5, 0.5,&lt;br /&gt;
0.0, 0.0, 0.0, 1.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 1: Inverse ModelView Matrix ====&lt;br /&gt;
&lt;br /&gt;
This mode is nearly identical to mode 0; the only difference is that translation is left as-is. The multiplication of the view matrix by the model matrix actually is a straight multiplication in this mode, and the translation values on the texture matrix aren't set to 0.&lt;br /&gt;
&lt;br /&gt;
==== Mode 2: UV Scroll ====&lt;br /&gt;
&lt;br /&gt;
This mode is used to scroll both U and V at the same time. It will only generate a texture matrix. It has four float parameters: ''offsetA'', ''offsetB'', ''scaleA'', and ''scaleB''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uOffset = (s * scaleA) + offsetA;&lt;br /&gt;
vOffset = (s * scaleB) + offsetB;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 3: Rotation ====&lt;br /&gt;
&lt;br /&gt;
This mode rotates the texture. It will only generate a texture matrix. It has two float parameters: ''offset'' and ''scale''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;float angle = (s * scale) + offset;&lt;br /&gt;
float acos = cos(angle);&lt;br /&gt;
float asin = sin(angle);&lt;br /&gt;
float translateX = (1.0 - (acos - asin)) * 0.5;&lt;br /&gt;
float translateY = (1.0 - (asin + acos)) * 0.5;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting texture matrix is laid out as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;acos, -asin, 0.0, translateX,&lt;br /&gt;
asin,  acos, 0.0, translateY,&lt;br /&gt;
 0.0,   0.0, 1.0,        0.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 4/5: Horizontal/Vertical Filmstrip ====&lt;br /&gt;
&lt;br /&gt;
These modes can be used to create a filmstrip-like effect. The texture steps a set distance each animation frame, rather than the scroll being smoothly interpolated every game frame. The same calculation is done for both modes, with the only difference being whether the calculated offset is applied to the U or V coordinate. It will only generate a texture matrix. There are four float parameters: ''scale'', ''numFrames'', ''step'', and ''offset''.&lt;br /&gt;
&lt;br /&gt;
The animation is made up of a number of pseudo-frames, where ''step'' controls the amount that the texture scrolls by each frame, and ''numFrames'' sets how many frames are iterated through before resetting back to 0. ''scale'' roughly controls animation playback speed, and ''offset'' modifies the time input value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;float value = step * scale * (offset + s);&lt;br /&gt;
float uv_offset = (float)(short)(float)(numFrames * fmod(value, 1.0f)) * step;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 6: Model Matrix ====&lt;br /&gt;
&lt;br /&gt;
This mode is similar to modes 0 and 1 in that it simulates reflective surfaces, but it only takes the model matrix into account, which means camera movement doesn't affect the reflection. It takes no parameters and it generates both a texture matrix and a post-transform matrix.&lt;br /&gt;
&lt;br /&gt;
The texture matrix is simply the model matrix, with the translation values set to 0. The post-transform matrix is set to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0.5, 0.0, 0.0, ModelMatrix[0][3] * 0.50000001,&lt;br /&gt;
0.0, 0.0, 0.5, ModelMatrix[1][3] * 0.50000001,&lt;br /&gt;
0.0, 0.0, 0.0, 1.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 7: Mode-Who-Must-Not-Be-Named ====&lt;br /&gt;
&lt;br /&gt;
Mode 7 takes two parameters and generates both a texture matrix and a post-transform matrix. We don't know what to name it.&lt;br /&gt;
&lt;br /&gt;
The texture matrix is generated the same way as in mode 0; translation is ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;texmtx = inverse(ViewMatrix) * ModelMatrix;&lt;br /&gt;
texmtx[0][3] = texmtx[1][3] = texmtx[2][3] = 0;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The post-transform matrix is where it gets a little complicated. A little math is required to calculate some values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;float xy = ((ViewMatrix[0][3] + ViewMatrix[1][3]) * 0.025f * ParamB;&lt;br /&gt;
xy = (xy - (int) xy); // This truncates the integer portion of the value, leaving only the fractional part (mantissa).&lt;br /&gt;
&lt;br /&gt;
float z = ViewMatrix[2][3] * 0.05f * ParamB;&lt;br /&gt;
z = (z - (int) z);&lt;br /&gt;
&lt;br /&gt;
float halfA = ParamA * 0.5f;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The post-transform matrix is then constructed as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;halfA, 0.0f,  0.0f,  xy,&lt;br /&gt;
 0.0f, 0.0f, halfA,   z,&lt;br /&gt;
 0.0f, 0.0f,  0.0f, 1.0f&amp;lt;/pre&amp;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;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Metroid_Prime_2:_Echoes&amp;diff=839</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=839"/>
				<updated>2015-02-27T05:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Pretty sure there are no CTWK files in MP2.&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;
== Formats ==&lt;br /&gt;
&lt;br /&gt;
* [[AFSM (File Format)|AFSM]]: AI finite state machine&lt;br /&gt;
* [[AGSC (File Format)|AGSC]]: Sound effects&lt;br /&gt;
* [[ANCS (File Format)|ANCS]]: Character&lt;br /&gt;
* [[ANIM (File Format)|ANIM]]: Animation data&lt;br /&gt;
* [[ATBL (File Format)|ATBL]]: Audio table&lt;br /&gt;
* [[CINF (File Format)|CINF]]: Skeletons&lt;br /&gt;
* [[CMDL (Metroid Prime)|CMDL]]: Models&lt;br /&gt;
* [[CRSC (File Format)|CRSC]]: Collision response data&lt;br /&gt;
* [[CSKR (File Format)|CSKR]]: Skin bindings&lt;br /&gt;
* [[CSNG (File Format)|CSNG]]: MIDI data&lt;br /&gt;
* [[DCLN (File Format)|DCLN]]: Collision OBB tree group&lt;br /&gt;
* [[DGRP (File Format)|DGRP]]: Dependency groups&lt;br /&gt;
* [[DPSC (File Format)|DPSC]]: Decal data&lt;br /&gt;
* [[DSP (File Format)|DSP]]: Music&lt;br /&gt;
* [[DUMB (File Format)|DUMB]]: Raw data&lt;br /&gt;
* [[EGMC (File Format)|EGMC]]: Unknown&lt;br /&gt;
* [[ELSC (File Format)|ELSC]]: Particle electric data&lt;br /&gt;
* [[EVNT (File Format)|EVNT]]: Animation POI data&lt;br /&gt;
* [[FSM2 (File Format)|FSM2]]: Another finite state machine format&lt;br /&gt;
* [[FONT (File Format)|FONT]]: Font&lt;br /&gt;
* [[FRME (File Format)|FRME]]: GUI frames&lt;br /&gt;
* [[HINT (File Format)|HINT]]: Hint system manager&lt;br /&gt;
* [[MAPA (File Format)|MAPA]]: Area map&lt;br /&gt;
* [[MAPW (File Format)|MAPW]]: World map&lt;br /&gt;
* [[MAPU (File Format)|MAPU]]: Universe map&lt;br /&gt;
* [[MLVL (File Format)|MLVL]]: World&lt;br /&gt;
* [[MREA (File Format)|MREA]]: Area (room geometry, collision, objects, lights, etc)&lt;br /&gt;
* [[NTWK (File Format)|NTWK]]: Tweak data&lt;br /&gt;
* [[PAK (Metroid Prime)|PAK]]: Packfile&lt;br /&gt;
* [[PART (File Format)|PART]]: Particles&lt;br /&gt;
* [[PATH (File Format)|PATH]]: Pathfinding data&lt;br /&gt;
* [[SAVW (File Format)|SAVW]]: World save info&lt;br /&gt;
* [[SCAN (Metroid Prime 2)|SCAN]]: Scannable object info&lt;br /&gt;
* [[STLC (File Format)|STLC]]: Audio name lookup&lt;br /&gt;
* [[STRG (File Format)|STRG]]: String tables&lt;br /&gt;
* [[SWHC (File Format)|SWHC]]: Particle swoosh data&lt;br /&gt;
* [[THP (File Format)|THP]]: Videos&lt;br /&gt;
* [[TXTR (Metroid Prime)|TXTR]]: Textures&lt;br /&gt;
* [[WPSC (File Format)|WPSC]]: Weapon projectile data&lt;br /&gt;
&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Template:Mainpagelinks&amp;diff=745</id>
		<title>Template:Mainpagelinks</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Template:Mainpagelinks&amp;diff=745"/>
				<updated>2015-02-14T20:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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!'''&lt;br /&gt;
'''Join the discussion: [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html Metroid Prime Hacking Research thread]'''&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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki&amp;diff=744</id>
		<title>Retro Modding Wiki</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki&amp;diff=744"/>
				<updated>2015-02-14T20:31:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: I'm guessing {{ZWheader}} is something they have on ZeldaWiki.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow-x:auto;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;3&amp;quot; style=&amp;quot;padding:0px; margin:0px; width:100%; background-color: #{{ZWheader}}; white-space:nowrap;&amp;quot;&lt;br /&gt;
|colspan=2|&lt;br /&gt;
{| width=100% style=&amp;quot;padding:0px; background-color: transparent;&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:40%; text-align:center; white-space:nowrap;&amp;quot;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%&amp;quot;&amp;gt;Welcome to the [[Retro Modding Wiki:About|Retro Modding Wiki]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 95%&amp;quot;&amp;gt;an encyclopedia about modding and hacking games from Retro Studios.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;With [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles and counting.&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;width:16%&amp;quot;|&lt;br /&gt;
*[[Metroid Prime]]&lt;br /&gt;
*[[Metroid Prime 2: Echoes]]&lt;br /&gt;
*[[:Category:Metroid Prime 3: Corruption‏‎|Metroid Prime 3: Corruption‏‎]]&lt;br /&gt;
|style=&amp;quot;width:16%&amp;quot;|&lt;br /&gt;
*[[:Category:Donkey Kong Country Returns|Donkey Kong Country Returns]]&lt;br /&gt;
*[[Donkey Kong Country: Tropical Freeze‏‎]]&lt;br /&gt;
|style=&amp;quot;width:16%&amp;quot;|&lt;br /&gt;
*[[:Category:File Formats‏‎|File Formats‏‎]]&lt;br /&gt;
*'''[[Special:Categories|All categories]]'''&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Mainpagelinks}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Retro Modding Wiki]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=743</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=743"/>
				<updated>2015-02-14T20:25:14Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a;&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel li:hover :link, #mw-panel li:hover :visited {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #333333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #2f66ad !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new, .new *:link {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:visited {&lt;br /&gt;
  color: #7b569d !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body h2, .mw-body #firstHeading {&lt;br /&gt;
  font-family: sans-serif !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*This is the CSS for prepending morph ball images to article names. Needs custom classes, or else it'll just put morph balls in front of everything.&lt;br /&gt;
table li a::before {&lt;br /&gt;
  content: url(http://www.metroid2002.com/retromodding/images/thumb/8/85/Morphball_render.png/20px-Morphball_render.png);&lt;br /&gt;
  margin-right: 6px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  top: 5px;&lt;br /&gt;
}*/&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Templates&amp;diff=691</id>
		<title>Category:Templates</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Templates&amp;diff=691"/>
				<updated>2015-02-05T16:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the root of a category tree, and relevant subcategories should be categorized here. Templates typically do not belong in this category.&lt;br /&gt;
&lt;br /&gt;
[[Category:Retro Modding Wiki]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Research_needed&amp;diff=690</id>
		<title>Category:Research needed</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Research_needed&amp;diff=690"/>
				<updated>2015-02-05T16:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File Formats by Completion]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Documented_File_Formats&amp;diff=689</id>
		<title>Category:Documented File Formats</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Documented_File_Formats&amp;diff=689"/>
				<updated>2015-02-05T16:28:56Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File Formats by Completion]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:File_Formats_by_Completion&amp;diff=688</id>
		<title>Category:File Formats by Completion</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:File_Formats_by_Completion&amp;diff=688"/>
				<updated>2015-02-05T16:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Created page with &amp;quot;Category:File Formats&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Template/Table_Status&amp;diff=687</id>
		<title>Category:Template/Table Status</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Template/Table_Status&amp;diff=687"/>
				<updated>2015-02-05T16:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Formatting Templates]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Template/Table_Status&amp;diff=686</id>
		<title>Category:Template/Table Status</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Template/Table_Status&amp;diff=686"/>
				<updated>2015-02-05T16:24:50Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Moderate_research_needed&amp;diff=685</id>
		<title>Category:Moderate research needed</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Moderate_research_needed&amp;diff=685"/>
				<updated>2015-02-05T16:23:26Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Research needed]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Minor_research_needed&amp;diff=684</id>
		<title>Category:Minor research needed</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Minor_research_needed&amp;diff=684"/>
				<updated>2015-02-05T16:23:17Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Research needed]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Category:Major_research_needed&amp;diff=683</id>
		<title>Category:Major research needed</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Category:Major_research_needed&amp;diff=683"/>
				<updated>2015-02-05T16:23:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Research needed]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Materials&amp;diff=682</id>
		<title>Materials</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Materials&amp;diff=682"/>
				<updated>2015-02-05T16:13:06Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Materials''' are etc etc expand on this later&lt;br /&gt;
&lt;br /&gt;
* [[Materials (Metroid Prime)]]&lt;br /&gt;
* [[Materials (Metroid Prime 3)]]&lt;br /&gt;
* [[Materials (Tropical Freeze)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=CMDL_(File_Format)&amp;diff=681</id>
		<title>CMDL (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=CMDL_(File_Format)&amp;diff=681"/>
				<updated>2015-02-05T16:07:23Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''CMDL format''' is the Retro Studios model format. It embeds one or more sets of materials, and a single mesh. The format largely stayed the same through the Prime series, with only changes to the material format being made, before being changed significantly in Donkey Kong Country Returns, and then being overhauled completely in Tropical Freeze.&lt;br /&gt;
&lt;br /&gt;
* [[CMDL (Metroid Prime)]] is used in the Metroid Prime series.&lt;br /&gt;
* [[CMDL (Donkey Kong Country Returns)]] is used in DKCR.&lt;br /&gt;
* [[CMDL (Tropical Freeze)]] is used in Tropical Freeze. Note that Tropical Freeze actually has three model formats - CMDL, SMDL, and WMDL - which are all very similar to each other and covered in the same article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=SCAN_(File_Format)&amp;diff=680</id>
		<title>SCAN (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=SCAN_(File_Format)&amp;diff=680"/>
				<updated>2015-02-05T16:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''.SCAN file format''' describes SCAN POI data in the Metroid Prime series, there are two variations of this format:&lt;br /&gt;
&lt;br /&gt;
* [[SCAN (Metroid Prime)]] is used in Metroid Prime.&lt;br /&gt;
* [[SCAN (Metroid Prime 2)]] is used in both Metroid Prime 2: Echoes and Metroid Prime 3: Corruption.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=PAK_(File_Format)&amp;diff=679</id>
		<title>PAK (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=PAK_(File_Format)&amp;diff=679"/>
				<updated>2015-02-05T16:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''.pak format''' is a packfile format; some variation of it is used in every Retro Studios game to contain the bulk of the game's assets. The only assets in a pak that are directly accessed by the games are the named resources; the rest are dependencies. There are three pak formats:&lt;br /&gt;
&lt;br /&gt;
* [[PAK (Metroid Prime)]] is used in Metroid Prime and Metroid Prime 2.&lt;br /&gt;
* [[PAK (Metroid Prime 3)]] is used in Metroid Prime 3 and Donkey Kong Country Returns.&lt;br /&gt;
* [[PAK (Tropical Freeze)]] is used in Donkey Kong Country: Tropical Freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=SAVW_(File_Format)&amp;diff=678</id>
		<title>SAVW (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=SAVW_(File_Format)&amp;diff=678"/>
				<updated>2015-02-05T16:06:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''SAVW format''' determines what data gets saved to the memory card. It's used to save information on non-hardcoded parts of the game, like whether you've collected a certain pickup, whether you've scanned a given object, etc.&lt;br /&gt;
&lt;br /&gt;
{{todo|Document the rest of this format.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Category&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Generic&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Space Pirate Data&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Chozo Lore&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Morphology&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Research&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MREA_(Metroid_Prime_2)&amp;diff=677</id>
		<title>MREA (Metroid Prime 2)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MREA_(Metroid_Prime_2)&amp;diff=677"/>
				<updated>2015-02-05T16:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Adding categories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See [[MREA (File Format)]] for the other revisions of this format.''&lt;br /&gt;
&lt;br /&gt;
The '''MREA format''' defines areas (rooms) in Metroid Prime 2. It serves the same purpose as the MREA files from Prime 1, but in Echoes it was updated with new features, including some new data sections and the ability to compress most of the data in the file.&lt;br /&gt;
&lt;br /&gt;
{{todo|Rest of the article needs to be written. There's a lot known about this format that should be documented.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
Like CMDL, MREA files are split up into a number of 32-byte aligned sections. Every section both starts and ends on a 32-byte boundary. These are used to separate different parts of the file; different types of sections typically indicate different sets of data. The header declares the section count and the size of each one; using these is the only way to navigate the file.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&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;
| '''Magic'''; always 0xDEADBEEF&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; see [[MREA (File Format)|hub article]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4 &amp;amp;times; 12&lt;br /&gt;
| '''Transform matrix'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| '''Mesh count'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| '''SCLY layer count'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 4&lt;br /&gt;
| '''Section count''' (SC)&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| '''Geometry section number''' (starts on materials)&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 4&lt;br /&gt;
| '''SCLY section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 4&lt;br /&gt;
| '''SCGN section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| '''Collision section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| '''Unknown section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 4&lt;br /&gt;
| '''Lights section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 4&lt;br /&gt;
| '''Empty section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 4&lt;br /&gt;
| '''PATH section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 4&lt;br /&gt;
| '''FFFFFFFF section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 4&lt;br /&gt;
| '''Unknown section 2 number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 4&lt;br /&gt;
| '''EGMC section number'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 4&lt;br /&gt;
| '''Compressed cluster count'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 4 &amp;amp;times; SC&lt;br /&gt;
| '''Section sizes'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 {{unknown|Pad to 32 bytes before compressed cluster definitions begins}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Following the section sizes comes an array defining the file's compressed cluster. Each definition is 0x10 bytes and is formatted like this:&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;
| '''Buffer size''' (usually 0x120 bytes bigger than uncompressed size)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Uncompressed size'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4&lt;br /&gt;
| '''Compressed size''' (if 0, that indicates an uncompressed cluster)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 4&lt;br /&gt;
| '''Section count''' (the number of regular sections contained in this cluster)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| colspan=2 {{unknown|Cluster definition end}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=MAPW_(File_Format)&amp;diff=667</id>
		<title>MAPW (File Format)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=MAPW_(File_Format)&amp;diff=667"/>
				<updated>2015-02-04T15:22:05Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''MAPW format''' defines the map for a world.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
MAPW is an extremely simple format; it's essentially just an array of MAPA IDs. There's always one MAPA per area. The MAPW format has never been updated; every Prime game uses the same version of the format, version 1. The only difference is that Prime 1/2 has 32-bit file IDs, while Prime 3 has 64-bit ones.&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;
| '''Magic'''; always 0xDEADF00D&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Version'''; always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''MAPA count''' (AC)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| [[MAPA (File Format)|MAPA]]&lt;br /&gt;
| 4 &amp;amp;times; AC&lt;br /&gt;
| '''MAPA array'''&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;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Template:Research&amp;diff=597</id>
		<title>Template:Research</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Template:Research&amp;diff=597"/>
				<updated>2015-01-30T05:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Fixing category names.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Box&lt;br /&gt;
|gradient1=cce8ff&lt;br /&gt;
|gradient2=64b8ff&lt;br /&gt;
|image={{#switch:{{{1|}}}|1|minor|Minor=File:Morphball render.png|2|moderate|Moderate=File:Morphball_wirerender.png|3|major|Major=File:Morphball_wire.png}}&lt;br /&gt;
|text={{#switch:{{{1|}}}|1|minor|Minor='''This file format is almost completely documented'''|2|moderate|Moderate='''This file format needs more research'''|3|major|Major='''This file format needs a lot of research'''}} &amp;lt;br /&amp;gt; {{{2|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#switch:{{{1|}}}|1|minor|Minor=[[Category:Minor research needed]]|2|moderate|Moderate=[[Category:Moderate research needed]]|3|major|Major=[[Category:Major research needed]]}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
This template can be used to indicate the degree of research required on a file type or article and categorize it accordingly. Use the following code.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{Research |&amp;lt;/nowiki&amp;gt; ''Degree'' &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; ''Supplementary text'' &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Degree'': Three available options, designated by Minor, Moderate, or Major (or 1, 2, or 3).&amp;lt;br /&amp;gt;&lt;br /&gt;
''Supplementary text'': Optional additional text to specify required research.&lt;br /&gt;
&lt;br /&gt;
[[Category:Notice Templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=520</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=520"/>
				<updated>2015-01-28T01:54:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: I'm dumb.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a;&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel li:hover :link, #mw-panel li:hover :visited {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #333333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #2f66ad !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:visited {&lt;br /&gt;
  color: #7b569d !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body h2, .mw-body #firstHeading {&lt;br /&gt;
  font-family: sans-serif !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*This is the CSS for prepending morph ball images to article names. Needs custom classes, or else it'll just put morph balls in front of everything.&lt;br /&gt;
table li a::before {&lt;br /&gt;
  content: url(http://www.metroid2002.com/retromodding/images/thumb/8/85/Morphball_render.png/20px-Morphball_render.png);&lt;br /&gt;
  margin-right: 6px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  top: 5px;&lt;br /&gt;
}*/&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=519</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=519"/>
				<updated>2015-01-28T01:46:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a;&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel li:hover :link, #mw-panel li:hover :visited {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #333333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #2f66ad !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:visited {&lt;br /&gt;
  color: #7b569d&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body h2, .mw-body #firstHeading {&lt;br /&gt;
  font-family: sans-serif !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*This is the CSS for prepending morph ball images to article names. Needs custom classes, or else it'll just put morph balls in front of everything.&lt;br /&gt;
table li a::before {&lt;br /&gt;
  content: url(http://www.metroid2002.com/retromodding/images/thumb/8/85/Morphball_render.png/20px-Morphball_render.png);&lt;br /&gt;
  margin-right: 6px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  top: 5px;&lt;br /&gt;
}*/&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User_talk:Bearborg&amp;diff=511</id>
		<title>User talk:Bearborg</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User_talk:Bearborg&amp;diff=511"/>
				<updated>2015-01-27T19:28:13Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Breaking Tables with Style Transclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Breaking Tables with Style Transclusions==&lt;br /&gt;
Hey Bearborg, I was wondering if you could take a look at [[:Template:RMWBorder]]. It's just a string of numbers (a hex color code), but whenever I try to use it in a style tag my tables explode ([[User:Embyr_75/Sandbox|example]]). It's an extremely simple template so I don't get what would cause it to do that. Same thing happens with [[:Template:Border]]. Could it be a MediaWiki issue? I need a fresh set of eyes (or just a better brain); care to take a look? [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 22:41, 26 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:Well, I did take a look, but I don't think I can really help much- I'm not too proficient with wiki markup, and it all looks to me like it should work. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 13:28, 27 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Aruki/Sandbox&amp;diff=510</id>
		<title>User:Aruki/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Aruki/Sandbox&amp;diff=510"/>
				<updated>2015-01-27T19:24:22Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Common */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dumping script object structures here for now. Miles is the one who figured out most of this stuff.&lt;br /&gt;
&lt;br /&gt;
Note: Whenever a struct is used, it's preceded by a value indicating the number of properties contained in that struct. Therefore, you need to add 4 to the size of its members to get an accurate size.&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ vec3&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;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''X'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Y'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Z'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ vec4&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;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''X'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Y'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Z'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''W'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ANCS&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;
| '''ANCS file ID'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Selected node index'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Script Objects ==&lt;br /&gt;
&lt;br /&gt;
Like how structs are preceded by a property count, entire objects' property sets are each considered to be their own struct, and so are also preceded by a property count. Also, every object except Area Attributes (0x4E) begins with a string instance name. Excluding because variable-length data is yucky for the offset column.&lt;br /&gt;
&lt;br /&gt;
=== Actor (0x0) ===&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;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Position'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Rotation'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Scale'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Scan Offset'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| struct&lt;br /&gt;
| 0xC&lt;br /&gt;
| [[#Health|Health]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| struct&lt;br /&gt;
| 0x74&lt;br /&gt;
| [[#Vulnerabilities|Vulnerabilities]]&lt;br /&gt;
|-&lt;br /&gt;
| 0xC4&lt;br /&gt;
| [[CMDL (Metroid Prime)|CMDL]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Model'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8&lt;br /&gt;
| [[ANCS (File Format)|ANCS]]&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Char Set'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xD4&lt;br /&gt;
| struct&lt;br /&gt;
| 0x7D&lt;br /&gt;
| [[#Common|'''Common''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0x151&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x152&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x153&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x154&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x155&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x156&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15A&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15B&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15C&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15D&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15E&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15F&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Structs ==&lt;br /&gt;
&lt;br /&gt;
=== Patterned ===&lt;br /&gt;
&lt;br /&gt;
0x12D bytes&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;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Mass'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Speed'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Turn Speed'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Detection Range'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Detection Height Range'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Detection Angle'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Min Attack Range'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Max Attack Range'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Average Attack Time'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Attack Time Variation'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Leash Radius'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Player Leash Radius'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Player Leash Time'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| struct&lt;br /&gt;
| 0x14&lt;br /&gt;
| [[#Contact Damage|'''Contact Damage''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Damage Wait Time'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| struct&lt;br /&gt;
| 0xC&lt;br /&gt;
| [[#Health|'''Health''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| struct&lt;br /&gt;
| 0x74&lt;br /&gt;
| [[#Vulnerabilities|'''Vulnerabilities''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0xC4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xCC&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xDC&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xE4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xE8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Sound?'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xEC&lt;br /&gt;
| [[ANCS (File Format)|ANCS]]&lt;br /&gt;
| 0xC&lt;br /&gt;
| '''Char Set'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xF0&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| '''Active'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xF1&lt;br /&gt;
| [[AFSM (File Format)|AFSM]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''FSM'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xF5&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xF9&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xFD&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x101&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x105&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x111&lt;br /&gt;
| [[PART (File Format)|PART]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Particle'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x115&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x119&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x125&lt;br /&gt;
| [[PART (File Format)|PART]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''Particle'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x129&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Sound?'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x12D&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Contact Damage ===&lt;br /&gt;
&lt;br /&gt;
0x10 bytes&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;
| '''Weapon Type'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Damage'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Radius'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Knockback Power'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Health ===&lt;br /&gt;
&lt;br /&gt;
0x8 bytes&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;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Health'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| '''Knockback Resistance'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
0x70 bytes&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;
| '''Power Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Ice Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Wave Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Plasma Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Morph Ball Bomb'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Power Bomb'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Missile'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Boost Ball'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Phazon Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Enemy Weapon 1'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Enemy Weapon 2 (Poison)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Enemy Weapon 3 (Lava)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Enemy Weapon 4'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown Weapon 1'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown Weapon 2'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown Weapon 3'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| struct&lt;br /&gt;
| 0x18&lt;br /&gt;
| [[#Charged Beams|'''Charged Beams''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| struct&lt;br /&gt;
| 0x18&lt;br /&gt;
| [[#Beam Combos|'''Beam Combos''']]&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Charged Beams ====&lt;br /&gt;
&lt;br /&gt;
0x14 bytes&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;
| '''Charged Power Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Charged Ice Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Charged Wave Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Charged Plasma Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Charged Phazon Beam'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Beam Combos ====&lt;br /&gt;
&lt;br /&gt;
0x14 bytes&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;
| '''Super Missile'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Ice Spreader'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Wavebuster'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Flamethrower'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| '''Phazon Combo'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Common ===&lt;br /&gt;
&lt;br /&gt;
0x79 bytes&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;
| struct&lt;br /&gt;
| 0x47&lt;br /&gt;
| [[#Inside Common|Inside Common]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x47&lt;br /&gt;
| struct&lt;br /&gt;
| 8&lt;br /&gt;
| [[#Scan|Scan]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x4F&lt;br /&gt;
| [[CMDL (Metroid Prime)|CMDL]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''X-Ray Model'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x53&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x57&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x5B&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x5F&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| struct&lt;br /&gt;
| 0xA&lt;br /&gt;
| [[#Maybe Thermal-Related|Maybe Thermal-Related]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x72&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x73&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x75&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x79&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Inside Common ====&lt;br /&gt;
&lt;br /&gt;
0x43 bytes&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;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x9&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0xD&lt;br /&gt;
| float&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| vec4&lt;br /&gt;
| 0x10&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x21&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x22&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x26&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2A&lt;br /&gt;
| vec3&lt;br /&gt;
| 0xC&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x36&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3A&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3F&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x43&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Scan ===&lt;br /&gt;
&lt;br /&gt;
0x4 bytes&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;
| [[SCAN (Metroid Prime)|SCAN]]&lt;br /&gt;
| 4&lt;br /&gt;
| '''SCAN file'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maybe Thermal-Related ===&lt;br /&gt;
&lt;br /&gt;
0x6 bytes&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;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| bool&lt;br /&gt;
| 1&lt;br /&gt;
| {{unknown|'''Unknown'''}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| u32&lt;br /&gt;
| 4&lt;br /&gt;
| {{unknown|'''Unknown''' (possibly bit flags)}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| colspan=3 {{unknown|End}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Template_talk:Todo&amp;diff=478</id>
		<title>Template talk:Todo</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Template_talk:Todo&amp;diff=478"/>
				<updated>2015-01-27T02:50:30Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I can whip up some Varia suit colors for this template and icon later today. --[[User:MrSinistar|MrSinistar]] ([[User talk:MrSinistar|talk]]) 09:33, 26 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:Well, there's a Varia icon already uploaded. The only real work to be done is finding two good shades of orange. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 09:38, 26 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::Sounds good to me. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 09:42, 26 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::How's this? [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 20:50, 26 January 2015 (CST)&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border:2px solid #446fa7; background: linear-gradient(#eb752f, #ffd78a); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[file:VariaSuitIcon.png|50px|link=]]&lt;br /&gt;
|'''To do:''' &amp;lt;br/&amp;gt; Finalize this template.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Template_talk:Todo&amp;diff=444</id>
		<title>Template talk:Todo</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Template_talk:Todo&amp;diff=444"/>
				<updated>2015-01-26T15:39:01Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I can whip up some Varia suit colors for this template and icon later today. --[[User:MrSinistar|MrSinistar]] ([[User talk:MrSinistar|talk]]) 09:33, 26 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:Well, there's a Varia icon already uploaded. The only real work to be done is finding two good shades of orange. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 09:38, 26 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=414</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=414"/>
				<updated>2015-01-26T10:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a;&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.new &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #333333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #2f66ad !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body h2, .mw-body #firstHeading {&lt;br /&gt;
  font-family: sans-serif !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*This is the CSS for prepending morph ball images to article names. Needs custom classes, or else it'll just put morph balls in front of everything.&lt;br /&gt;
table li a::before {&lt;br /&gt;
  content: url(http://www.metroid2002.com/retromodding/images/thumb/8/85/Morphball_render.png/20px-Morphball_render.png);&lt;br /&gt;
  margin-right: 6px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  top: 5px;&lt;br /&gt;
}*/&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki:About&amp;diff=408</id>
		<title>Retro Modding Wiki:About</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki:About&amp;diff=408"/>
				<updated>2015-01-26T06:28:40Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: This sentence seemed a little weird.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:RetroModding.png|right|300px]]'''Retro Modding Wiki''' is the definitive resource containing all of the information gathered on formats used throughout Retro Studios' games.  These games are, of course, the critically-acclaimed Metroid Prime Trilogy and the Donkey Kong Country Returns games.  Our goal is to have a complete understanding of every file format and function in Retro Studio's games so that we can build level editors, import brand new assets, and create mods.&lt;br /&gt;
&lt;br /&gt;
If you want to contribute and help us research these game files, [[Special:UserLogin|create an account]] and be a part of the largest community devoted to modding Metroid Prime and Donkey Kong Country Returns.  [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html Be sure to also check out our forum posts as well!] &lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
RMW started out as a [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html forum post about hacking and modding Metroid Prime] created by [[User:Parax0|Paraxade]]. Over the course of the thread, more progress has been made than ever before on hacking and modifying the Metroid Prime series; many file formats were able to be read and edited for the very first time since Metroid Prime's release in 2002.&lt;br /&gt;
&lt;br /&gt;
Several months after the forum post, so much progress had been made, it had become rather difficult to find information and collaborate on hacking files, so it was decided that a repository or a central hub of information would be needed to track down all the file formats and progress made.  Since Retro Studios, the team behind the Metroid Prime Trilogy and Donkey Kong Country Returns series, utilizes the same game engine for all of their games, we chose Retro Modding Wiki to name our resource as all this information encompasses all of their games.&lt;br /&gt;
&lt;br /&gt;
On January 22rd, [[User:Nate|Nate]], owner of Metroid2002.com, was gracious enough to host this wiki on his website.  Several contributors from the original forum including [[User:Antidote|Antidote]], [[User:Bearborg|Bearborg]], [[User:MrSinistar|MrSinistar]], [[User:Embyr 75|Embyr 75]] and several others soon joined to further support this challenging hacking endeavor.&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki:About&amp;diff=407</id>
		<title>Retro Modding Wiki:About</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Retro_Modding_Wiki:About&amp;diff=407"/>
				<updated>2015-01-26T06:22:55Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:RetroModding.png|right|300px]]'''Retro Modding Wiki''' is the definitive resource containing all of the information gathered on formats used throughout Retro Studios' games.  These games are, of course, the critically-acclaimed Metroid Prime Trilogy and the Donkey Kong Country Returns games.  Our goal is to have a complete understanding of every file format and function in Retro Studio's games so that we can build level editors, import brand new assets, and create mods.&lt;br /&gt;
&lt;br /&gt;
If you want to contribute and help us research these game files, [[Special:UserLogin|create an account]] and be a part of the largest community devoted to modding Metroid Prime and Donkey Kong Country Returns.  [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html Be sure to also check out our forum posts as well!] &lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
RMW started out as a [https://m2k2.taigaforum.com/post/metroid_prime_hacking_research.html forum post about hacking and modding Metroid Prime] created by [[User:Parax0|Paraxade]].  For the very first time since Metroid Prime's release in 2002, more progress has been made than ever before on hacking and modifying the Metroid Prime series.  &lt;br /&gt;
&lt;br /&gt;
Several months after the forum post, so much progress had been made, it had become rather difficult to find information and collaborate on hacking files, so it was decided that a repository or a central hub of information would be needed to track down all the file formats and progress made.  Since Retro Studios, the team behind the Metroid Prime Trilogy and Donkey Kong Country Returns series, utilizes the same game engine for all of their games, we chose Retro Modding Wiki to name our resource as all this information encompasses all of their games.&lt;br /&gt;
&lt;br /&gt;
On January 22rd, [[User:Nate|Nate]], owner of Metroid2002.com, was gracious enough to host this wiki on his website.  Several contributors from the original forum including [[User:Antidote|Antidote]], [[User:Bearborg|Bearborg]], [[User:MrSinistar|MrSinistar]], [[User:Embyr 75|Embyr 75]] and several others soon joined to further support this challenging hacking endeavor.&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=TXTR_(Metroid_Prime)&amp;diff=388</id>
		<title>TXTR (Metroid Prime)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=TXTR_(Metroid_Prime)&amp;diff=388"/>
				<updated>2015-01-26T04:52:28Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note: The Tropical Freeze TXTR format is completely different, but doesn't have a page yet.''&lt;br /&gt;
&lt;br /&gt;
'''TXTR''' is, as the name suggests, the Retro Studios texture format. The format remains completely unchanged from Metroid Prime all the way up to Donkey Kong Country Returns.&lt;br /&gt;
&lt;br /&gt;
{{todo|Could possibly use some more information on how the formats work and how to decode them, but then again the Custom Mario Kart Wiiki has this covered pretty nicely already.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
TXTR files contain a very short 12-byte header, followed by the image data.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&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;
| '''Image format'''. Possible values range from 0x0 to 0xA; see below for more details.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 2&lt;br /&gt;
| '''Width'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| 2&lt;br /&gt;
| '''Height'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4&lt;br /&gt;
| '''Mipmap count'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| colspan=2 {{unknown|End of header}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Palettes ===&lt;br /&gt;
&lt;br /&gt;
The C4 and C8 image formats contain a palette table after the header, before the image data begins.&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;
| '''Palette format'''. Possible values range from 0 to 2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 2&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0x1 in C4, 0x100 in C8}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| 2&lt;br /&gt;
| {{unknown|'''Unknown'''; always 0x10 in C4, 0x1 in C8}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| Varies&lt;br /&gt;
| '''Palette colors'''. 16-bit color values; 16 colors in C4, 256 in C8.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 {{unknown|End of palette table; image data begins immediately after}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Image Formats ==&lt;br /&gt;
&lt;br /&gt;
There are 11 different image formats; these are built directly into GX, so they remain the same across all GameCube and Wii games. Rather than storing pixels in a linear left-to-right order, GX textures encode pixels in large blocks. The size of the block varies depending on the image format.&lt;br /&gt;
&lt;br /&gt;
For example, suppose you have a format that stores 4x4 blocks. Pixels 1-4 of the image will make up the first row of the first block; pixels 5-8 will make up the second row; 9-12 will make up the third row; 13-16 will make up the fourth row, completing the block; and the 17-20 will begin the first row of the second block, appearing directly to the right of the first row of the first block.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Name&lt;br /&gt;
! Bits per pixel&lt;br /&gt;
! Block size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| I4&lt;br /&gt;
| 4&lt;br /&gt;
| 8x8&lt;br /&gt;
| 4-bit greyscale intensity values. Two pixels per byte.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| I8&lt;br /&gt;
| 8&lt;br /&gt;
| 8x4&lt;br /&gt;
| 8-bit greyscale intensity values.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| IA4&lt;br /&gt;
| 8&lt;br /&gt;
| 8x4&lt;br /&gt;
| 4-bit greyscale intensity values with an additional 4-bit alpha channel.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| IA8&lt;br /&gt;
| 16&lt;br /&gt;
| 4x4&lt;br /&gt;
| 8-bit greyscale intensity values with an additional 8-bit alpha channel.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| C4&lt;br /&gt;
| 4&lt;br /&gt;
| 8x8&lt;br /&gt;
| 4-bit palette indices.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| C8&lt;br /&gt;
| 8&lt;br /&gt;
| 8x4&lt;br /&gt;
| 8-bit palette indices.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| C14x2&lt;br /&gt;
| 16&lt;br /&gt;
| 4x4&lt;br /&gt;
| Another palette format. Not used by any official textures.&lt;br /&gt;
|-&lt;br /&gt;
| 0x7&lt;br /&gt;
| RGB565&lt;br /&gt;
| 16&lt;br /&gt;
| 4x4&lt;br /&gt;
| 16-bit colors without alpha.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| RGB5A3&lt;br /&gt;
| 16&lt;br /&gt;
| 4x4&lt;br /&gt;
| 16-bit colors with alpha.&lt;br /&gt;
|-&lt;br /&gt;
| 0x9&lt;br /&gt;
| RGBA8&lt;br /&gt;
| 32&lt;br /&gt;
| 4x4&lt;br /&gt;
| Uncompressed 32-bit colors with alpha.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA&lt;br /&gt;
| CMPR&lt;br /&gt;
| 4&lt;br /&gt;
| 8x8&lt;br /&gt;
| DXT1-compressed textures.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.tockdom.com/wiki/Image_Formats Custom Mario Kart Wiki]: More detailed information on each format, and how to decode them.&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>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Materials_(Metroid_Prime)&amp;diff=276</id>
		<title>Materials (Metroid Prime)</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Materials_(Metroid_Prime)&amp;diff=276"/>
				<updated>2015-01-26T01:20:19Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Alpha Input Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The format for '''materials''' is seen in both the [[CMDL (Metroid Prime)|CMDL]] and [[MREA (File Format)|MREA]] formats, and is identical in both. This particular material format appears in both Metroid Prime and Metroid Prime 2, with minor differences.&lt;br /&gt;
&lt;br /&gt;
{{researchmoderate|reason=There are a few unknown values, and some unknown settings in known values; there are also a few unknown material animation modes. Also, basically everything that was introduced in Echoes is unknown.}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== GX Explanation ==&lt;br /&gt;
&lt;br /&gt;
The materials system in Metroid Prime is heavily dependent on the GameCube and Wii's graphics system, GX. GX is a fixed-function graphics pipeline, similar to old versions of OpenGL. In GX, rendering is done through a series of steps called '''T'''exture '''E'''n'''V'''ironment Stages, or or TEV stages for short.&lt;br /&gt;
&lt;br /&gt;
Prior to TEV stages, per-vertex calculations are performed, including lighting calculation and texture coord generation (texgen), and passed to GX. Then some parameters are passed that specify TEV order; namely, a set of values that describe which texture, UV coordinate, and rasterized color is available to each respective TEV stage.&lt;br /&gt;
&lt;br /&gt;
How TEV stages actually work: Each TEV stage takes in four color (RGB) inputs, and four alpha inputs, from one of eight sources. Then these four input colors are combined into one output color, and the output is saved into one of four registers, which can subsequently be used as input in the next TEV stages. The final stage must always save its output into the &amp;quot;previous TEV stage&amp;quot; register; that register is used as the final pixel color that gets displayed onscreen.&lt;br /&gt;
&lt;br /&gt;
== Material Set Format ==&lt;br /&gt;
&lt;br /&gt;
Materials come as part of a set; often there will only be one set per file, but many CMDLs can have more than one. The set begins with a short header before the actual material data begins.&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texture file IDs'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Material count''' (MC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| MC&lt;br /&gt;
| '''Material end offsets''' (relative to the start of the first material)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Materials begin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Material Format ==&lt;br /&gt;
&lt;br /&gt;
=== General Settings ===&lt;br /&gt;
&lt;br /&gt;
Each material begins with a flags value, followed by a list of texture indices:&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texture indices''' (these are indices into the material set texture array)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Vertex attribute flags'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown ''(note: only in Echoes)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown ''(note: only in Echoes)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst count''' (KC); max setting is 4. ''(note: only present if flag 0x8 is set!)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| KC&lt;br /&gt;
| '''Konst colors''' - 32-bit RGBA colors ''(note: not present if the Konst count isn't)''&lt;br /&gt;
|-&lt;br /&gt;
| short&lt;br /&gt;
| 1&lt;br /&gt;
| '''Blend destination factor'''&lt;br /&gt;
|-&lt;br /&gt;
| short&lt;br /&gt;
| 1&lt;br /&gt;
| '''Blend source factor'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown ''(note: only present if flag 0x400 is set!)''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Color channel flag count''' (CC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| CC&lt;br /&gt;
| '''Color channel flags'''&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''TEV stage count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Flags ====&lt;br /&gt;
&lt;br /&gt;
These are the known flag settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Appears unused, but always set&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x2&lt;br /&gt;
| Appears unused, but always set&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0x4&lt;br /&gt;
| Appears unused, but always unset&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x8&lt;br /&gt;
| Enable Konstant values&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 0x10&lt;br /&gt;
| Mark transparent material&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0x20&lt;br /&gt;
| Enable punchthrough alpha&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 0x40&lt;br /&gt;
| Enable Samus's reflection&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 0x80&lt;br /&gt;
| Enable depth writing&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0x100&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x200&lt;br /&gt;
| Don't draw&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 0x400&lt;br /&gt;
| Enable second unknown value&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0x800&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0x1000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 0x2000&lt;br /&gt;
| Enable lightmaps; first UV coordinate uses short array instead of float array&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 0x4000&lt;br /&gt;
| Appears to do the same thing as bit 14&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 0x8000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 0x10000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0x20000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0x40000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 0x80000&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 20+&lt;br /&gt;
| 0x100000+&lt;br /&gt;
| Unused; never set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Vertex Attribute Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags are generally toggled in pairs, with each pair corresponding to a vertex attribute; if a pair is set, then vertices using this material will have the corresponding attribute. This is vital for reading geometry.&lt;br /&gt;
&lt;br /&gt;
An important note is that while the leftmost byte is not used in Prime 1, in Echoes there's occasionally a value there that toggles an extra vertex attribute preceding position. This needs research to determine what the new attribute actually is. Also, GX supports up to 8 texture coords per vertex, but the game doesn't seem to allow you to assign more than 7 (though this could do with some double-checking).&lt;br /&gt;
&lt;br /&gt;
These are the possible attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit pair&lt;br /&gt;
! Attribute&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| Position&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| Normal&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| Color 0&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| Color 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x300&lt;br /&gt;
| Tex 0&lt;br /&gt;
|-&lt;br /&gt;
| 0xC00&lt;br /&gt;
| Tex 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x3000&lt;br /&gt;
| Tex 2&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0000&lt;br /&gt;
| Tex 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x300000&lt;br /&gt;
| Tex 4&lt;br /&gt;
|-&lt;br /&gt;
| 0xC00000&lt;br /&gt;
| Tex 5&lt;br /&gt;
|-&lt;br /&gt;
| 0x3000000&lt;br /&gt;
| Tex 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Konst Colors ====&lt;br /&gt;
&lt;br /&gt;
These values are only present when flag 0x8 is enabled. These allow you to set Konstant values, which can subsequently be used as inputs in TEV stages. The maximum number of Konst values you can set on one material is 4. The colors themselves are simply 32-bit RGBA values.&lt;br /&gt;
&lt;br /&gt;
==== Blend Mode ====&lt;br /&gt;
&lt;br /&gt;
The two blend factors set the blending mode used. The most common values you'll see are 0/1, which is used on opaque materials; transparent materials will usually have either 1/1, for additive blending, or 5/4, for alpha blending. Here's the full range of possible settings for each value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Blend factor&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| GX_BL_ZERO&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| GX_BL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| GX_BL_SRCCLR / GX_BL_DSTCLR&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| GX_BL_INVSRCCLR / GX_BL_INVSRCCLR&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| GX_BL_SRCALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| GX_BL_INVSRCALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| GX_BL_DSTALPHA&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| GX_BL_INVDSTALPHA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Channels ====&lt;br /&gt;
&lt;br /&gt;
There's an odd quirk with how these values work; although there's a count value listed, the game will only actually read the first value listed, and then skip the rest. There's no reason to ever have more than one flag value. Aside from that, how this works is unknown and needs research.&lt;br /&gt;
&lt;br /&gt;
=== TEV Stages ===&lt;br /&gt;
&lt;br /&gt;
There'll be one of these structures per TEV stage:&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;
| '''Color Input Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Alpha Input Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 4&lt;br /&gt;
| '''Color Combine Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 4&lt;br /&gt;
| '''Alpha Combine Flags'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 1&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst Alpha Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 1&lt;br /&gt;
| '''Konst Color Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| 1&lt;br /&gt;
| '''Rasterized Color Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| colspan=2 | End of TEV stage&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After looping through each TEV stage, there will be one of these structures per stage:&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;
| 2&lt;br /&gt;
| '''Padding'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texture TEV Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| 1&lt;br /&gt;
| '''Tex Coord TEV Input'''&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| colspan=2 | End of structure&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Input Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags set the four color inputs that are used by the TEV stage. Each color is allocated 5 bits, even though only 4 are actually used; the lower bits correspond to the lower input numbers (eg. the bottom 5 bits refer to the first input).&lt;br /&gt;
&lt;br /&gt;
There are 16 possible color sources:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! Color Source&lt;br /&gt;
|-&lt;br /&gt;
| 00000&lt;br /&gt;
| 0x0&lt;br /&gt;
| Previous stage RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00001&lt;br /&gt;
| 0x1&lt;br /&gt;
| Previous stage AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00010&lt;br /&gt;
| 0x2&lt;br /&gt;
| Color 0 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00011&lt;br /&gt;
| 0x3&lt;br /&gt;
| Color 0 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00100&lt;br /&gt;
| 0x4&lt;br /&gt;
| Color 1 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00101&lt;br /&gt;
| 0x5&lt;br /&gt;
| Color 1 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 00110&lt;br /&gt;
| 0x6&lt;br /&gt;
| Color 2 RGB&lt;br /&gt;
|-&lt;br /&gt;
| 00111&lt;br /&gt;
| 0x7&lt;br /&gt;
| Color 2 AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01000&lt;br /&gt;
| 0x8&lt;br /&gt;
| Texture RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01001&lt;br /&gt;
| 0x9&lt;br /&gt;
| Texture AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01010&lt;br /&gt;
| 0xA&lt;br /&gt;
| Rasterized RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01011&lt;br /&gt;
| 0xB&lt;br /&gt;
| Rasterized AAA&lt;br /&gt;
|-&lt;br /&gt;
| 01100&lt;br /&gt;
| 0xC&lt;br /&gt;
| One&lt;br /&gt;
|-&lt;br /&gt;
| 01101&lt;br /&gt;
| 0xD&lt;br /&gt;
| Half&lt;br /&gt;
|-&lt;br /&gt;
| 01110&lt;br /&gt;
| 0xE&lt;br /&gt;
| Konstant RGB&lt;br /&gt;
|-&lt;br /&gt;
| 01111&lt;br /&gt;
| 0xF&lt;br /&gt;
| Zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Alpha Input Flags ====&lt;br /&gt;
&lt;br /&gt;
Similar to the color input flags, these set the four alpha inputs used by the TEV stage. Each value is allocated 5 bits, although only 3 are used. The main difference with alpha is there's only 8 possible sources instead of 16:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Binary&lt;br /&gt;
! Hex&lt;br /&gt;
! Alpha Source&lt;br /&gt;
|-&lt;br /&gt;
| 00000&lt;br /&gt;
| 0x0&lt;br /&gt;
| Previous stage alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00001&lt;br /&gt;
| 0x1&lt;br /&gt;
| Color 0 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00010&lt;br /&gt;
| 0x2&lt;br /&gt;
| Color 1 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00011&lt;br /&gt;
| 0x3&lt;br /&gt;
| Color 2 alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00100&lt;br /&gt;
| 0x4&lt;br /&gt;
| Texture alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00101&lt;br /&gt;
| 0x5&lt;br /&gt;
| Rasterized alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00110&lt;br /&gt;
| 0x6&lt;br /&gt;
| Konstant alpha&lt;br /&gt;
|-&lt;br /&gt;
| 00111&lt;br /&gt;
| 0x7&lt;br /&gt;
| Zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Color Combine Flags ====&lt;br /&gt;
&lt;br /&gt;
These flags specify how the operation that combines the four input colors into one output color is performed.&lt;br /&gt;
&lt;br /&gt;
This is the combiner function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tevrigid = (d (tevop) ((1.0-c)*a + c*b) + tevbias) * tevscale;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The values set in the color operation flags correspond to the parameters passed to [http://libogc.devkitpro.org/gx_8h.html#a067b875ff1e3e6760d0d7d7838c6c4c2 GX_SetTevColorOp()]. These are the settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0-3&lt;br /&gt;
| 0xF&lt;br /&gt;
| tevop; [http://libogc.devkitpro.org/group__tevop.html there are ten accepted values.]&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 0x30&lt;br /&gt;
| tevbias. 00 does nothing; 01 adds 0.5; 10 subtracts 0.5; 11 does nothing.&lt;br /&gt;
|-&lt;br /&gt;
| 6-7&lt;br /&gt;
| 0xC0&lt;br /&gt;
| tevscale. 00 does nothing; 01 multiples by 2; 10 multiplies by 4; 11 divides by 2.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0x100&lt;br /&gt;
| clamp; enabling this will clamp the output color between 0 and 1.&lt;br /&gt;
|-&lt;br /&gt;
| 9-10&lt;br /&gt;
| 0x600&lt;br /&gt;
| tevrigid; this sets the register that the output color is saved into. 00 is the previous stage register; 01 is Color 0; 10 is Color 1; 11 is Color 2.&lt;br /&gt;
|-&lt;br /&gt;
| 11+&lt;br /&gt;
| 0xFFFFF800&lt;br /&gt;
| Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the vast majority of materials in the game, if not all of them, don't really bother with any of this; they enable clamping, set an output register, and leave everything else at their defaults of 0.&lt;br /&gt;
&lt;br /&gt;
==== Alpha Combine Flags ====&lt;br /&gt;
&lt;br /&gt;
This is exactly the same as the color combine flags; the only difference is it operates on alpha instead of color.&lt;br /&gt;
&lt;br /&gt;
=== Texgen ===&lt;br /&gt;
&lt;br /&gt;
After the TEV stages comes a sequence of flags determining how texgen is executed. Texgen is the process of taking input values and using them to generate texture coordinates (or UV coordinates), which can then be used by the TEV stages. It's important to note that any vertex attribute can be used as a texgen input; in fact, it's rather common for materials to use the vertex normal as an input to simulate reflections. That means ''the number of texture coords present on each vertex is not the same as the number of texture coords available to TEV''.&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;
| long&lt;br /&gt;
| 1&lt;br /&gt;
| '''Texgen count''' (TC)&lt;br /&gt;
|-&lt;br /&gt;
| long&lt;br /&gt;
| TC&lt;br /&gt;
| '''Texgen flags'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags largely correspond to arguments passed to [http://libogc.devkitpro.org/gx_8h.html#a55a426a3ff796db584302bddd829f002 GX_SetTexCoordGen2()]. These are the settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits&lt;br /&gt;
! Hex&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0-3&lt;br /&gt;
| 0xF&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 0x1F0&lt;br /&gt;
| Attribute input. [http://libogc.devkitpro.org/group__texgensrc.html These are the accepted inputs.]&lt;br /&gt;
|-&lt;br /&gt;
| 9-13&lt;br /&gt;
| 0x3E00&lt;br /&gt;
| Unknown; appear to be unused?&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 0x4000&lt;br /&gt;
| Toggle whether the coordinate is normalized after being multiplied by the texture matrix.&lt;br /&gt;
|-&lt;br /&gt;
| 15-20&lt;br /&gt;
| 0x1F8000&lt;br /&gt;
| This sets the index into the post-transform matrix used for the final calculations.&lt;br /&gt;
|-&lt;br /&gt;
| 21+&lt;br /&gt;
| 0xFFE00000&lt;br /&gt;
| Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Material Animations ===&lt;br /&gt;
&lt;br /&gt;
The material animations section immediately follows the texgen flags. It starts with this short header:&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;
| '''Material animations section size''' (includes animation count, so will be 4 at minimum)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 4&lt;br /&gt;
| '''Animation count'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The structure of the animations themselves is somewhat simple. Each animation has a 32-bit ''mode'' setting, followed by a number of float parameters. The number and usage of these float parameters varies depending on what mode is set. There are 7 possible modes, but only 2-5 are known.&lt;br /&gt;
&lt;br /&gt;
For all of the following modes, let ''s'' be equal to ''seconds mod 900''.&lt;br /&gt;
&lt;br /&gt;
==== Mode 2: UV Offset ====&lt;br /&gt;
&lt;br /&gt;
This mode is used to scroll both U and V at the same time. It has four float parameters: ''offsetA'', ''offsetB'', ''scaleA'', and ''scaleB''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uOffset = (s * scaleA) + offsetA;&lt;br /&gt;
vOffset = (s * scaleB) + offsetB;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode 3: Rotation ====&lt;br /&gt;
&lt;br /&gt;
This mode rotates the material. It has two float parameters: ''offset'' and ''scale''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;angle = (s * scale) + offset;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The material is then rotated by ''angle'' degrees.&lt;br /&gt;
&lt;br /&gt;
==== Mode 4/5: U/V Offset ====&lt;br /&gt;
&lt;br /&gt;
This mode can be used to scroll U and V independently from each other. It has four float parameters. The offset calculation for these modes is unknown; however, the same code is used for both modes, with the only difference being whether the calculated offset is applied to U or V.&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Metroid Prime]]&lt;br /&gt;
[[Category:Metroid Prime 2: Echoes]]&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=232</id>
		<title>User talk:Embyr 75/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=232"/>
				<updated>2015-01-25T21:51:41Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Gradient Colors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Gradient Colors==&lt;br /&gt;
Adding gradient colors for backgrounds for these templates, hope to eventually make a universal &amp;quot;box&amp;quot; template that can be used to create new Notice Templates, with the gradient-color-functionality built in. Colors can be chosen and changed later, more concerned with if people like the gradient function right now. We could probably discuss the progression here, so others can input their opinions. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 12:37, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: To have it out in the open, my two cents are mainly that I like the light colors, and the gradient is nice but I'm split on whether I prefer the flat color or the gradient; gradient's definitely nice but I like the simplicity and uniformity of the flat colors. Interested to hear other peoples' input. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 12:46, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: Personally, I prefer the gradients. Sweeping up to white looks particularly good, but if you want something more eyecatching, maybe go from one shade of purple to another? IMO, going straight from purple to white looks a little weird. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:55, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I also prefer the gradients, and sweeping up to white. The colors are flexible, I just think they should match the icon for each template. I don't mind the purple pixels I pulled but I also see the appeal of the lighter, more subtle colors. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 13:10, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I kinda agree with purple to white being a little weird. I'd be curious to see what a purple-to-purple gradient might look like. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 13:19, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Kinda meh on the purple to purple one. The darker purple doesn't really work IMO, especially since it starts to clash with the black text. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 14:36, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::Maybe something like this? [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 14:44, 25 January 2015 (CST)&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border:2px solid #446fa7; background: linear-gradient(#f5e0fc, #c68cd9); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[file:GravitySuitIcon.png|50px|link=]]&lt;br /&gt;
|'''To do:''' &amp;lt;br/&amp;gt; Light purple to lighter purple.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::Definitely like the lighter to darker purple gradient more than the purple to white.  I made some morphball images that I thought would work great for noticed that pertain to showing the file format progress.  For example:&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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball_wire.png|50px|link=]]&lt;br /&gt;
|'''This file format is not documented''' &amp;lt;br/&amp;gt; This file format has either no or very little documentation.  More research is needed.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball_model.png|50px|link=]]&lt;br /&gt;
|'''This file format is partially documented''' &amp;lt;br/&amp;gt; This file format may have some functionality but is still not completely understood and still needs further research.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball render.png|50px|link=]]&lt;br /&gt;
|'''This file format has been completely documented''' &amp;lt;br/&amp;gt; This file format has been completely understood and no further research is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:::::Note how the ball goes from wireframe, to untextured, to fully rendered, to denote the progress of the file.  Hope you guys like it! --[[User:MrSinistar|MrSinistar]] ([[User talk:MrSinistar|talk]]) 15:06, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::::Oh wow, those look excellent. I'd definitely support implementing them ASAP. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 15:09, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::::::Ooh that's actually a really neat concept. I like it. Also liking the gradients a lot. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 15:11, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::::::The only issue I have with the purple gradient is I feel like once it starts getting to be darker it starts clashing with the black text a little bit. It's still completely readable, but makes me feel like even that shade of purple is just a bit too dark.&lt;br /&gt;
&lt;br /&gt;
:::::::I wonder if we could expand on MrSinistar's idea with the morph ball a little to display smaller versions of that on the category pages. That way someone could go take a look at the Metroid Prime category, for instance, and quickly see the status for every format right from the category page. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 15:15, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::::::Thanks everyone!  I'll go and make the templates for the file formats notices, if that's cool with everyone.  As for the purple gradient, how about inverting it like this?&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;border:2px solid #446fa7; background: linear-gradient(#c68cd9, #f5e0fc); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[file:GravitySuitIcon.png|50px|link=]]&lt;br /&gt;
|'''To do:''' &amp;lt;br/&amp;gt; Light purple to lighter purple.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
::::::::I'll look into see if we can add small icons like that to the article names in the categories.  Just to make sure we're on the same page, something like this?&lt;br /&gt;
&lt;br /&gt;
[[File:Forum_idea.png|center]]&lt;br /&gt;
&lt;br /&gt;
::::::::If so, I think that requires a fair amount of CSS and extra programming.  But I think it's doable. --[[User:MrSinistar|MrSinistar]] ([[User talk:MrSinistar|talk]]) 15:26, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::::::::I was thinking of having it before the link instead of after, but yeah, basically that. Also, I think I like sweeping down to the darker color better. Go ahead and implement the templates, would like to start sticking these on some pages. I think embyr was going to make a universal box template for this kind of thing though, and I'm not sure if she's done with that, so we might need to remake it later? --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 15:30, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::::::::::Hey MrSinistar, I think it'd be nice to have one or two more intermediate notices. Can you think of what could be used as icons for that? Maybe vertices? Like in the pak format, for example, the structure is 100% known; it's just file ordering that needs a slight bit more research. But it's small enough that I don't think it's really accurate to say we only have a partial understanding of it. Also, I don't think we should ever really say no more research is needed. No matter how much we know about a given format, there's always the chance that there's something we missed about it. Also also, I'd kind of like to try changing the names of the templates if that's alright with you :P --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 15:48, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::::::::Actually come to think of it, that's not the only thing - it'd be helpful to write directly into the message box what specifically needs research. That doesn't really mesh with the icon idea, though. Any idea how we could do that? --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 15:50, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::::::::The CSS side of that would actually be pretty simple, I've [http://i.imgur.com/nKm5btY.png already written it]. The hard part would be the code that determines which image to show. Maybe Parax or someone who knows more than me could implement custom CSS classes for the file progress? [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 15:51, 25 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=213</id>
		<title>User talk:Embyr 75/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=213"/>
				<updated>2015-01-25T21:09:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: /* Gradient Colors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Gradient Colors==&lt;br /&gt;
Adding gradient colors for backgrounds for these templates, hope to eventually make a universal &amp;quot;box&amp;quot; template that can be used to create new Notice Templates, with the gradient-color-functionality built in. Colors can be chosen and changed later, more concerned with if people like the gradient function right now. We could probably discuss the progression here, so others can input their opinions. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 12:37, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: To have it out in the open, my two cents are mainly that I like the light colors, and the gradient is nice but I'm split on whether I prefer the flat color or the gradient; gradient's definitely nice but I like the simplicity and uniformity of the flat colors. Interested to hear other peoples' input. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 12:46, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: Personally, I prefer the gradients. Sweeping up to white looks particularly good, but if you want something more eyecatching, maybe go from one shade of purple to another? IMO, going straight from purple to white looks a little weird. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:55, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I also prefer the gradients, and sweeping up to white. The colors are flexible, I just think they should match the icon for each template. I don't mind the purple pixels I pulled but I also see the appeal of the lighter, more subtle colors. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 13:10, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I kinda agree with purple to white being a little weird. I'd be curious to see what a purple-to-purple gradient might look like. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 13:19, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Kinda meh on the purple to purple one. The darker purple doesn't really work IMO, especially since it starts to clash with the black text. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 14:36, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::Maybe something like this? [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 14:44, 25 January 2015 (CST)&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border:2px solid #446fa7; background: linear-gradient(#f5e0fc, #c68cd9); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[file:GravitySuitIcon.png|50px|link=]]&lt;br /&gt;
|'''To do:''' &amp;lt;br/&amp;gt; Light purple to lighter purple.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::Definitely like the lighter to darker purple gradient more than the purple to white.  I made some morphball images that I thought would work great for noticed that pertain to showing the file format progress.  For example:&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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball_wire.png|50px|link=]]&lt;br /&gt;
|'''This file format is not documented''' &amp;lt;br/&amp;gt; This file format has either no or very little documentation.  More research is needed.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball_model.png|50px|link=]]&lt;br /&gt;
|'''This file format is partially documented''' &amp;lt;br/&amp;gt; This file format may have some functionality but is still not completely understood and still needs further research.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;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;border:2px solid #446fa7; background: linear-gradient(#cce8ff, #64b8ff); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[File:Morphball render.png|50px|link=]]&lt;br /&gt;
|'''This file format has been completely documented''' &amp;lt;br/&amp;gt; This file format has been completely understood and no further research is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:::::Note how the ball goes from wireframe, to untextured, to fully rendered, to denote the progress of the file.  Hope you guys like it! --[[User:MrSinistar|MrSinistar]] ([[User talk:MrSinistar|talk]]) 15:06, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::::Oh wow, those look excellent. I'd definitely support implementing them ASAP. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 15:09, 25 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=202</id>
		<title>User talk:Embyr 75/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=202"/>
				<updated>2015-01-25T20:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Gradient Colors==&lt;br /&gt;
Adding gradient colors for backgrounds for these templates, hope to eventually make a universal &amp;quot;box&amp;quot; template that can be used to create new Notice Templates, with the gradient-color-functionality built in. Colors can be chosen and changed later, more concerned with if people like the gradient function right now. We could probably discuss the progression here, so others can input their opinions. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 12:37, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: To have it out in the open, my two cents are mainly that I like the light colors, and the gradient is nice but I'm split on whether I prefer the flat color or the gradient; gradient's definitely nice but I like the simplicity and uniformity of the flat colors. Interested to hear other peoples' input. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 12:46, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: Personally, I prefer the gradients. Sweeping up to white looks particularly good, but if you want something more eyecatching, maybe go from one shade of purple to another? IMO, going straight from purple to white looks a little weird. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:55, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I also prefer the gradients, and sweeping up to white. The colors are flexible, I just think they should match the icon for each template. I don't mind the purple pixels I pulled but I also see the appeal of the lighter, more subtle colors. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 13:10, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::I kinda agree with purple to white being a little weird. I'd be curious to see what a purple-to-purple gradient might look like. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 13:19, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Kinda meh on the purple to purple one. The darker purple doesn't really work IMO, especially since it starts to clash with the black text. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 14:36, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::Maybe something like this? [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 14:44, 25 January 2015 (CST)&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border:2px solid #446fa7; background: linear-gradient(#f5e0fc, #c68cd9); /* Standard syntax */&amp;quot; ! width=&amp;quot;55%&amp;quot;&lt;br /&gt;
| width=&amp;quot;5%&amp;quot; |[[file:GravitySuitIcon.png|50px|link=]]&lt;br /&gt;
|'''To do:''' &amp;lt;br/&amp;gt; Light purple to lighter purple.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:PhazonSuitIcon.png&amp;diff=200</id>
		<title>File:PhazonSuitIcon.png</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:PhazonSuitIcon.png&amp;diff=200"/>
				<updated>2015-01-25T20:36:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:PhazonSuitIcon.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Custom Phazon Suit graphic made for the Randomizer, in case anyone wants to use it&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:GravitySuitIcon.png&amp;diff=199</id>
		<title>File:GravitySuitIcon.png</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:GravitySuitIcon.png&amp;diff=199"/>
				<updated>2015-01-25T20:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:GravitySuitIcon.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:VariaSuitIcon.png&amp;diff=198</id>
		<title>File:VariaSuitIcon.png</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:VariaSuitIcon.png&amp;diff=198"/>
				<updated>2015-01-25T20:34:30Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:VariaSuitIcon.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:DarkSuitIcon.png&amp;diff=197</id>
		<title>File:DarkSuitIcon.png</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:DarkSuitIcon.png&amp;diff=197"/>
				<updated>2015-01-25T20:33:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:DarkSuitIcon.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dark Suit icon, in case anyone wants to use it&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=File:LightSuitIcon.png&amp;diff=196</id>
		<title>File:LightSuitIcon.png</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=File:LightSuitIcon.png&amp;diff=196"/>
				<updated>2015-01-25T20:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Bearborg uploaded a new version of File:LightSuitIcon.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Light Suit icon; looks like crap because apparently it uses a color modulation ingame&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=195</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=195"/>
				<updated>2015-01-25T20:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Slightly darker color for links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a;&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.new &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: black !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #2f66ad !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=Talk:Retro_Modding_Wiki&amp;diff=193</id>
		<title>Talk:Retro Modding Wiki</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=Talk:Retro_Modding_Wiki&amp;diff=193"/>
				<updated>2015-01-25T20:24:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==License==&lt;br /&gt;
CC-BY-SA logo is broken [[User:Antidote|Antidote]] ([[User talk:Antidote|talk]])&lt;br /&gt;
:Fixed --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]])&lt;br /&gt;
&lt;br /&gt;
==Logo==&lt;br /&gt;
Sorry for reverting your change, MrSinistar. Your logo looks nice, but I think we should try to mostly keep the logo consistent between the corner and the front page, though, and the one we have currently works a little better with the square shape than yours would. I'd actually be down for another revision of the logo, though, if you wanted to try to tweak yours a bit; it'd be cool to have it say &amp;quot;Retro Modding Wiki&amp;quot; instead of just &amp;quot;Retro Modding&amp;quot; (you could try making a more vertical layout for the corner and a more horizontal one for the front page if you want), and having the space inside the letters being transparent would be nice, since as embyr pointed out [http://www.metroid2002.com/retromodding/wiki/User:Embyr_75/Sandbox it doesn't look great on non-white backgrounds].--[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 05:32, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:Funny, I actually did a second revision of my logo that changed almost all the things you mentioned. Wasn't sure if I should post it since you guys seemed satisfied with the current one. Here's [https://i.imgur.com/fdXpkmH.png that], and here's [https://i.imgur.com/3RhPoro.png a version with the spaces empty]. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:14, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:: Oh that's nice! Will put that up. I'd still want to consider using MrSinistar's if he tweaks the things I mentioned though, since I like what he did with the subtext; it looks a little cleaner/nicer. Guess the best thing to do would be to put it up to a vote in the forum thread? :P In any case they're both awesome, thanks for the effort from both of you. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]])&lt;br /&gt;
&lt;br /&gt;
::: Something that actually fills out the entire square would be ideal for the corner IMO but I realize that's kinda hard to do with the Retro logo since it's so horizontally-oriented. Not a big deal either way though. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 12:20, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
::::Yeah, I would have liked to get a perfect square too, but I couldn't think of a better way to orient things to make that work. BTW, I noticed those suit pickup icons you made were a little off-color, especially, the Light Suit- don't know if you mind that much, but I made [https://imgur.com/a/iEp1O a set of icons] a while back from direct texture rips, and they seem to have come out better in that regard. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:38, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
:::::Did you replace the logo in the sidebar? I'm still seeing the old one, even after clearing my cache. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 14:24, 25 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=192</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=192"/>
				<updated>2015-01-25T20:23:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  /*color: #446fa7 !important;*/&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a; /* Old browsers */&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.new &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: black !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #446fa7 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link.new {&lt;br /&gt;
  color: #a63829 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=191</id>
		<title>User:Bearborg/vector.css</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg/vector.css&amp;diff=191"/>
				<updated>2015-01-25T20:19:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#mw-panel {&lt;br /&gt;
  font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li {&lt;br /&gt;
  border: 1px solid transparent !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li :link {&lt;br /&gt;
  /*color: #446fa7 !important;*/&lt;br /&gt;
  margin-left: 3px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover {&lt;br /&gt;
  background: #30558a; /* Old browsers */&lt;br /&gt;
  background: linear-gradient(#30558a, #7baef1);&lt;br /&gt;
  border: 1px solid white !important;&lt;br /&gt;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
#mw-panel li:hover :link {  &lt;br /&gt;
  color: white !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.new &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: #ba0000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.vectorTabs li.selected &amp;gt; span &amp;gt; :link {&lt;br /&gt;
  color: black !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:link:not(.new) {&lt;br /&gt;
  color: #446fa7 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg&amp;diff=190</id>
		<title>User:Bearborg</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User:Bearborg&amp;diff=190"/>
				<updated>2015-01-25T20:00:00Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: Created page with &amp;quot;A guy from [http://metroid.wikia.com/wiki/User:AmorphousBlob Wikitroid] who's clueless about modding, and only slightly less clueless about CSS. Not actually a bear or a cyborg.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A guy from [http://metroid.wikia.com/wiki/User:AmorphousBlob Wikitroid] who's clueless about modding, and only slightly less clueless about CSS. Not actually a bear or a cyborg.&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	<entry>
		<id>http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=178</id>
		<title>User talk:Embyr 75/Sandbox</title>
		<link rel="alternate" type="text/html" href="http://www.metroid2002.com/retromodding/index.php?title=User_talk:Embyr_75/Sandbox&amp;diff=178"/>
				<updated>2015-01-25T18:55:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bearborg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Gradient Colors==&lt;br /&gt;
Adding gradient colors for backgrounds for these templates, hope to eventually make a universal &amp;quot;box&amp;quot; template that can be used to create new Notice Templates, with the gradient-color-functionality built in. Colors can be chosen and changed later, more concerned with if people like the gradient function right now. We could probably discuss the progression here, so others can input their opinions. [[User:Embyr 75|Embyr 75]] ([[User talk:Embyr 75|talk]]) 12:37, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: To have it out in the open, my two cents are mainly that I like the light colors, and the gradient is nice but I'm split on whether I prefer the flat color or the gradient; gradient's definitely nice but I like the simplicity and uniformity of the flat colors. Interested to hear other peoples' input. --[[User:Parax0|Parax0]] ([[User talk:Parax0|talk]]) 12:46, 25 January 2015 (CST)&lt;br /&gt;
&lt;br /&gt;
: Personally, I prefer the gradients. Sweeping up to white looks particularly good, but if you want something more eyecatching, maybe go from one shade of purple to another? IMO, going straight from purple to white looks a little weird. [[User:Bearborg|Bearborg]] ([[User talk:Bearborg|talk]]) 12:55, 25 January 2015 (CST)&lt;/div&gt;</summary>
		<author><name>Bearborg</name></author>	</entry>

	</feed>