From Final Fantasy Inside
< FF7‎ | Field
Jump to navigation Jump to search

MIM File structure

The MIM filestructure begins with the

MIM Header

typedef struct
   UINT32   sizeofpaletteData; // <=> 12 + PalWidth*2*PalHeight
   UINT16   PalX, PalY;
   UINT16   PalWidth, PalHeight;
} MIMHeader;

which is followed by PalHeight number of

MIM Palette

typedef struct
   UINT16   Palette[256];
} BGRPal256;

After the palettes comes the

MIM Block Header (1)

typedef struct
   UINT32   sizeofimageData; // <=> 12 + Width*2*Height
   UINT16   ImageX, ImageY; // location of blocks on 1024x512 display area
   UINT16   Width, Height;  // Width is the # of Word units (UINT16) the blocks are wide
} MIMBaseImage;

lastly the actual block data for display follows. The palettes are selected from information in the DAT section 3 data.

Sometimes there is a second MIM Block:

MIM Block Header (2)

Same header as MIM Block 1.