Difference between revisions of "FF7/Field/MIMfile"
Jump to navigation
Jump to search
my_wiki>Cyberman |
m (6 revisions imported) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | ==MIM File structure | + | == MIM File structure == |
− | |||
− | ===MIM Header=== | + | 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=== | + | |
+ | === MIM Palette === | ||
+ | |||
typedef struct | typedef struct | ||
{ | { | ||
Line 20: | Line 23: | ||
After the palettes comes the | After the palettes comes the | ||
− | ===MIM Block Header=== | + | === 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 05:14, 23 May 2019
Contents
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.