MAPU (File Format)

Revision as of 23:32, 3 March 2015 by >Aruki (→‎World)

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.

Format

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

The header is extremely simple following this format:

Type Description Notes
u32 Magic Always 0xABCDEF01
u32 Version Always 1
MAPA Hexagon MAPA ID This is the MAPA file that contains the hexagon model
u32 World count (WC)
Worlds[WC] World array

World

For each world, its internal name and 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.

Type Description Notes
string Name This is the internal name of the world; for example, "Ruins"
u32 World MLVL ID
CTransform4f World transform The world map's transform within the universe map
u32 Hexagon count (HC)
CTransform4f[HC] Hexagon transforms This is the hexagon's transform within the world map; it's multiplied an additional time by the world transform
CColor World hexagon color