MREA (Metroid Prime): Difference between revisions

no edit summary
>Aruki
No edit summary
>Aruki
No edit summary
Line 9: Line 9:


Like [[CMDL (Metroid Prime)|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.
Like [[CMDL (Metroid Prime)|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.
These are the sections that appear in each MREA file, in the order they appear in the file:
{| class="wikitable"
! Identifier
! Name
|-
| {{none}}
| [[#World Geometry|World Geometry]]
|-
| <code>AROT</code>
| [[#Area Octree|Area Octree]]
|-
| <code>SCLY</code>
| [[#Script Layers|Script Layers]]
|-
| <code>0xDEAFBABE</code>
| [[#Collision|Collision]]
|-
| {{none}}
| {{unknown|[[#Unknown Section|Unknown]]}}
|-
| <code>0xBABEDEAD</code>
| [[#Lights|Lights]]
|-
| <code>VISI</code>
| [[#Visibility Tree|Visibility Tree]]
|-
| {{none}}
| [[#Path|Path]]
|}


=== Header ===
=== Header ===
Line 106: Line 137:
|}
|}


=== Data Sections ===
=== World Geometry ===
 
MREA data sections are in the file in the following order:
 
{| class="wikitable"
! Identifier
! Name
|-
| {{none}}
| [[#World Geometry|World Geometry]]
|-
| <code>AROT</code>
| [[#Area Octree|Area Octree]]
|-
| <code>SCLY</code>
| [[#Script Layers|Script Layers]]
|-
| <code>0xDEAFBABE</code>
| [[#Collision|Collision]]
|-
| {{none}}
| {{unknown|[[#Unknown Section|Unknown]]}}
|-
| <code>0xBABEDEAD</code>
| [[#Lights|Lights]]
|-
| <code>VISI</code>
| [[#Visibility Tree|Visibility Tree]]
|-
| {{none}}
| [[#Path|Path]]
|}
 
==== World Geometry ====


''See [[Materials (Metroid Prime)]] and [[Geometry (Metroid Prime)]]''
''See [[Materials (Metroid Prime)]] and [[Geometry (Metroid Prime)]]''
Line 179: Line 177:
|}
|}


===== Visor Flags =====
==== Visor Flags ====


{| class="wikitable"
{| class="wikitable"
Line 210: Line 208:
|}
|}


==== Area Octree ====
=== Area Octree ===


{{main|AROT (MREA Section)}}
{{main|AROT (MREA Section)}}
Line 216: Line 214:
The AROT section stores the area's octree, accelerating back-to-front rendering of contained meshes, it is also used for spacial queries such as collision.
The AROT section stores the area's octree, accelerating back-to-front rendering of contained meshes, it is also used for spacial queries such as collision.


==== Script Layers ====
=== Script Layers ===


{{todo|SCLY is definitely complicated enough to need its own article.}}
{{todo|SCLY is definitely complicated enough to need its own article.}}
Line 222: Line 220:
The SCLY section contains data for objects.
The SCLY section contains data for objects.


==== Collision ====
=== Collision ===


{{todo|Collision needs a separate article because it shares so many similarities with DCLN. How should we document the parts where the format diverges, though?}}
{{todo|Collision needs a separate article because it shares so many similarities with DCLN. How should we document the parts where the format diverges, though?}}
Line 228: Line 226:
You have three guesses what the collision section is for, and the first two don't count.
You have three guesses what the collision section is for, and the first two don't count.


==== Unknown Section ====
=== Unknown Section ===


This one is sandwiched between collision and lights, and usually just contains a single 32-bit "1". Purpose is unknown.
This one is sandwiched between collision and lights, and usually just contains a single 32-bit "1". Purpose is unknown.


==== Lights ====
=== Lights ===


This section is for dynamic lights, see the [[Lights_(Metroid_Prime)|Light]] article for details.
This section is for dynamic lights, see the [[Lights_(Metroid_Prime)|Light]] article for details.


==== Visibility Tree ====
=== Visibility Tree ===


This section is labeled "VISI". This section is sometimes not actually present in the file, labeled with a size of 0.
This section is labeled "VISI". This section is sometimes not actually present in the file, labeled with a size of 0.


==== Path ====
=== Path ===


This is the final section in the file; it's always 0x20 bytes, and its only value is a single [[PATH (File Format)|PATH]] file ID.
This is the final section in the file; it's always 0x20 bytes, and its only value is a single [[PATH (File Format)|PATH]] file ID.
Anonymous user