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: | ||
|} | |} | ||
=== | === World Geometry === | ||
''See [[Materials (Metroid Prime)]] and [[Geometry (Metroid Prime)]]'' | ''See [[Materials (Metroid Prime)]] and [[Geometry (Metroid Prime)]]'' | ||
Line 179: | Line 177: | ||
|} | |} | ||
==== Visor Flags ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 210: | Line 208: | ||
|} | |} | ||
=== 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 === | |||
{{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 === | |||
{{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 === | |||
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 === | |||
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 === | |||
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 === | |||
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. |