Difference between revisions of "FF7/Field/MIMfile"
Jump to navigation
Jump to search
Qhimm>Cyberman |
ffrtt>BukTop m (6 revisions imported) |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== MIM File structure == | |||
The MIM filestructure begins with the | |||
typedef struct | |||
=== MIM Header === | |||
typedef struct | |||
{ | { | ||
UINT32 | UINT32 sizeofpaletteData; // <=> 12 + PalWidth*2*PalHeight | ||
UINT16 PalX, PalY; | UINT16 PalX, PalY; | ||
UINT16 PalWidth | UINT16 PalWidth, PalHeight; | ||
} MIMHeader; | } MIMHeader; | ||
which is followed by PalHeight number of | which is followed by PalHeight number of | ||
=== MIM Palette === | |||
typedef struct | typedef struct | ||
{ | { | ||
Line 19: | Line 23: | ||
After the palettes comes the | After the palettes comes the | ||
=== MIM Block Header (1) === | |||
typedef struct | typedef struct | ||
{ | { | ||
UINT32 | UINT32 sizeofimageData; // <=> 12 + Width*2*Height | ||
UINT16 ImageX, ImageY; // location of blocks on 1024x512 display area | UINT16 ImageX, ImageY; // location of blocks on 1024x512 display area | ||
UINT16 Width, Height; // Width is the # of Word units (UINT16) the blocks are wide | UINT16 Width, Height; // Width is the # of Word units (UINT16) the blocks are wide | ||
} MIMBaseImage; | } MIMBaseImage; | ||
lastly the actual block data for display follows. | 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. |
Latest revision as of 04:14, 23 May 2019
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.