Difference between revisions of "MREA (File Format)"

From Retro Modding Wiki
Jump to: navigation, search
Line 3: Line 3:
 
__TOC__
 
__TOC__
  
==Universal Header==
+
=Universal Header=
  
 
This header is shared between Metroid Prime and Donkey Kong Country, and is fairly straight forward.
 
This header is shared between Metroid Prime and Donkey Kong Country, and is fairly straight forward.
Line 54: Line 54:
 
|}
 
|}
  
 +
=Metroid Prime 3 & Donkey Kong Header=
  
 +
Metroid Prime 3 and Donkey Kong Country Returns share the same header, also Metroid Prime 2 contains the Compressed Block Count present in this header as well.
 +
 +
{| class="wikitable"
 +
!Offset
 +
!Size
 +
!Description
 +
|-
 +
|0x0
 +
|4
 +
|'''Compressed Block Count''' ''Note: Present in Metroid Prime 2''
 +
|0x4
 +
|'''Section Number Count''' ''Note: see below''
 +
|}
 +
 +
=Section Numbers=
  
==Metroid Prime Section Numbers==
+
===Metroid Prime 1 and 2===
  
Immediately following the header each section in an MREA is given it's own number, the following is the order in which they appear:
+
In metroid Prime 1 and 2 Immediately following the header each section in an MREA is given it's own number, the following is the order in which they appear:
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 86: Line 102:
 
|}
 
|}
  
==Metroid Prime 3 & Donkey Kong Header==
+
===Metroid Prime 3 and Donkey Kong Country Returns===
  
Metroid Prime 3 and Donkey Kong Country Returns share the same header, also Metroid Prime 2 contains the Compressed Block Count present in this header as well.
+
Metroid Prime 3 and Donkey Kong Country Returns does it differently, and it is also preceded by the compressed blocks, each section is designated in the following:
  
 +
<code>let N=Section Number Count</code>
 
{| class="wikitable"
 
{| class="wikitable"
!Offset
+
!Type
!Size
+
 
!Description
 
!Description
 
|-
 
|-
|0x0
+
|FourCC
|4
+
|Section type
|'''Compressed Block Count''' ''Note: Present in Metroid Prime 2''
+
|-
|0x4
+
|Long
|'''Section Number Count''' ''Note: see below''
+
|Section Number
 +
|}
 +
 
 +
Repeat <code>N</code> times, one for each section, and the sections sections are associated with the following FourCC values:
 +
 
 +
 
 +
{|class="wikitable"
 +
!FourCC
 +
!Description
 +
|-
 +
|AABB
 +
|Axis Aligned Bounding Boxes
 +
|-
 +
|APTL
 +
|{{unknown|Unknown}}
 +
|-
 +
|COLI
 +
|Collision
 +
|-
 +
|DEPS
 +
|Dependencies
 +
|-
 +
|EGMC
 +
|{{unknown|Unknown}
 +
|-
 +
|GPUD
 +
|Submesh data, e.g, vertices, normals, etc.
 +
|-
 +
|LITE
 +
|Lights
 +
|-
 +
|LLTE
 +
|{{unknown|Unknown}}
 +
|-
 +
|PFL2
 +
|Path file
 +
|-
 +
|PVS!
 +
|Area vis octree, used for culling unseen geometry
 +
|-
 +
|ROCT
 +
|{{unknown|Unknown}}
 +
|-
 +
|RSOS
 +
|Revolution Shared Objects
 +
|-
 +
|SOBJ
 +
|SCLY Layer data, there can be multiple copies, but only the first is indicated.
 +
|-
 +
|SGEN
 +
|{{unknown|Unknown}}
 +
|-
 +
|WOBJ
 +
|Mesh Header, always 0 and there are usually two.
 
|}
 
|}

Revision as of 23:08, 25 January 2015

The .MREA file format is used to define areas in Metroid Prime and Donkey Kong Country Returns. MREA files are broken up into many sections, and each section serves a specific purpose. However for the sake of brevity this article will only cover each revision of the MREA header.

Universal Header

This header is shared between Metroid Prime and Donkey Kong Country, and is fairly straight forward.

Offset Size Description
0x0 4 Magic Number 0xDEADBEEF
0x4 4 File Version See below
0x8 48 Transformation Matrix The position of the area in world-space
0x38 4 Mesh Count
0x3C 4 SCLY Count Note: Not present in Metroid Prime 1
0x40 4 Section Count
Version Game
15 Metroid Prime 1
25 Metroid Prime 2
30 Metroid Prime 3
32 Donkey Kong Country Returns

Metroid Prime 3 & Donkey Kong Header

Metroid Prime 3 and Donkey Kong Country Returns share the same header, also Metroid Prime 2 contains the Compressed Block Count present in this header as well.

Offset Size Description
0x0 4 Compressed Block Count Note: Present in Metroid Prime 2 0x4 Section Number Count Note: see below

Section Numbers

Metroid Prime 1 and 2

In metroid Prime 1 and 2 Immediately following the header each section in an MREA is given it's own number, the following is the order in which they appear:

Description
Materials
SCLY
SCGN Note: Not present in Metroid Prime 1
Collision
Unknown
Lights
VISI
PATH
AROT
PTLA Note: Not present in Metroid Prime 1
EGMC Note: Not present in Metroid Prime 1

Metroid Prime 3 and Donkey Kong Country Returns

Metroid Prime 3 and Donkey Kong Country Returns does it differently, and it is also preceded by the compressed blocks, each section is designated in the following:

let N=Section Number Count

Type Description
FourCC Section type
Long Section Number

Repeat N times, one for each section, and the sections sections are associated with the following FourCC values:


FourCC Description
AABB Axis Aligned Bounding Boxes
APTL Unknown
COLI Collision
DEPS Dependencies
EGMC Unknown}
GPUD Submesh data, e.g, vertices, normals, etc.
LITE Lights
LLTE Unknown
PFL2 Path file
PVS! Area vis octree, used for culling unseen geometry
ROCT Unknown
RSOS Revolution Shared Objects
SOBJ SCLY Layer data, there can be multiple copies, but only the first is indicated.
SGEN Unknown
WOBJ Mesh Header, always 0 and there are usually two.