MREA (Metroid Prime): Difference between revisions
no edit summary
>Aruki |
imported>Jackoalan No edit summary |
||
(4 intermediate revisions by one other user not shown) | |||
Line 4: | Line 4: | ||
{{todo|There's a LOT of sections that are mostly known, but need some documentation written up. SCLY and collision need separate articles (although the unique parts of the collision format, like the octree, could maybe be documented here). The rest should probably stay on this page.}} | {{todo|There's a LOT of sections that are mostly known, but need some documentation written up. SCLY and collision need separate articles (although the unique parts of the collision format, like the octree, could maybe be documented here). The rest should probably stay on this page.}} | ||
{{research|minor|Discounting unknowns within the actual data sections, the | {{research|minor|Discounting unknowns within the actual data sections, the main thing that still isn't known is what the unknown data section is for.}} | ||
== Format == | == Format == | ||
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)}} | ||
The AROT section stores the area's octree, accelerating back-to-front rendering of contained meshes | 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| | {{todo|Format known, needs documentation written up.}} | ||
The SCLY section contains data for objects. | The SCLY section contains data for objects. | ||
=== Collision === | |||
''Main article: [[Area Collision (File Format)]]'' | |||
=== Unknown Section === | |||
This one is sandwiched between collision and lights, and usually just contains a single 32-bit "1". Purpose is unknown. In the Prime 3/DKCR MREA format, this section is labelled <code>LLTE</code>. | |||
=== Lights === | |||
This section is for dynamic lights. See the [[Lights_(Metroid_Prime)|Light]] article for details. | |||
=== Visibility Tree === | |||
{{main|VISI (MREA Section)}} | |||
This section is labeled "VISI". | This section is a PVS octree labeled "VISI". Some areas don't have visibility octrees; in that case this section will be completely empty and listed with a size of 0. | ||
=== Path === | |||
This is the final section in the file; | This is the final section in the file; its only value is a single [[PATH (File Format)|PATH]] file ID. | ||
= | {| class="wikitable" | ||
! Offset | |||
! Type | |||
! Name | |||
|- | |||
| 0x0 | |||
| Asset ID | |||
| '''Area PATH Resource''' | |||
|- | |||
| 0x4 | |||
| colspan=2 {{unknown|End of section}} | |||
|} | |||
[[Category:File Formats]] | [[Category:File Formats]] | ||
[[Category:Metroid Prime]] | [[Category:Metroid Prime]] |