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.