MREA (File Format)
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.
Contents
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. |