MAPU (File Format): Difference between revisions

no edit summary
imported>Antidote
No edit summary
>Aruki
No edit summary
Line 1: Line 1:
The '''MAPU format''' is used to build the game's Universe Map, which is separated into several "Worlds", the format is extremely simple and is one of the few formats where we know absolutely everything about it.
The '''MAPU format''' is used to build the game's universe map, which is split up by world. The format is simple and is one of the few formats that's 100% cracked. There are no format differences between Metroid Prime 1 and 2.


__TOC__
__TOC__
Line 5: Line 5:
== Format ==
== Format ==


The MAPU format is broken in to 2 part, the header, and the world descriptors. Each world has it's own transform matrix, and a list of area transforms you multiply with the world's matrix. However due to the way geometry works, the number of areas in the actual world may differ from the amount stored here, several rooms may share the same hexagon model for instance.
The MAPU format is broken into 2 parts: the header, and the world descriptors. Each world descriptor determines how that world's hexagon map is laid out. The number of areas in the world usually differs from the amount of hexagons present on the Universe Map.


=== Header ===
=== Header ===
Line 14: Line 14:
! Type
! Type
! Description
! Description
! Notes
|-
|-
| u32
| u32
| '''Magic'''; Always 0xABCDEF01
| '''Magic'''
| Always 0xABCDEF01
|-
|-
| u32
| u32
| '''Version'''; Always 1
| '''Version'''
| Always 1
|-
|-
| u32
| [[MAPA (File Format)|MAPA]]
| '''MAPA ID'''; The hexagon model
| '''Hexagon MAPA ID'''
| This is the MAPA file that contains the hexagon model
|-
|-
| u32
| u32
| '''World Count (WC)'''
| '''World count (WC)'''
|
|-
|-
| [[#World|Worlds[WC]]]
| [[#World|Worlds[WC]]]
| '''The worlds in the game'''
| '''World array'''
|
|}
|}


=== World ===
=== World ===


Each world defines it's name, it's [[MLVL (File Format)|MLVL]], 3x4 Transformation Matrix, Areas, and it's color.
For each world, its internal name and [[MLVL (File Format)|MLVL file]] are listed. Following that is a list of 3x4 transformation matrices defining the location of each hexagon; then finally, the color of the world's hexagons.


{| class="wikitable"
{| class="wikitable"
! Type
! Type
! Description
! Description
! Ntes
|-
|-
| string
| string
| '''Name'''; The internal name of the world e.g "Ruins"
| '''Name'''
| This is the internal name of the world; for example, "Ruins"
|-
|-
| u32
| u32
| '''[[MLVL (File Format)|MLVL]] ID'''; The World metafile.
| '''World [[MLVL (File Format)|MLVL]] ID'''
|-
|-
| CTransform4f
| CTransform4f
| '''World Transform'''; The worlds position in the map
| '''World transform'''
| The world map's transform within the universe map
|-
|-
| u32
| u32
| '''Area Count (AC)'''; The number of areas in this world
| '''Hexagon count (HC)'''
|-
|-
| CTransform4f[AC]
| CTransform4f[HC]
| '''Area Transforms'''; The areas location relative to the worlds transform
| '''Hexagon transforms'''
| This is the hexagon's transform within the world map; it's multiplied an additional time by the world transform
|-
|-
| Color4f
| CColor
| '''World Color'''; Used to color each room correctly
| '''World hexagon color'''
|
|}
|}


Anonymous user