Skip to content
ProgSys edited this page May 3, 2020 · 6 revisions

MPP is a file container holding textures (.TX2) and models (.GEO). Each map (.MPD) in Disgaea has two corresponding MPP files, one containing the original assets and one the upgraded HD textures (there filename ends with "NEW").

File structure

Type Size Description
uShort 2 byte Number of textures
uShort 2 byte Has normals
uShort 2 byte Number of models
uShort 2 byte Unknown
uInt 4 byte Total size

If "has normals" is none zero (true), then each texture has a corresponding normal texture. This means the number of normals is same as number of textures. Only the HD textures have normal maps.

The header is followed by an address list, containing the starting offsets of each file. Each offset is a uInt (4 byte) and the number of offsets can be easily calculated:

if(has_normals)
   return number_of_textures * 2 + number_of_models
else
   return number_of_textures + number_of_models

The files are packed with no gaps, so to get the file size you need to calculate the difference between the offsets.

Clone this wiki locally