Difference between revisions of "FF7/Field/MIMfile"

From Final Fantasy Inside
< FF7‎ | Field
Jump to navigation Jump to search
my_wiki>Cyberman
m (6 revisions imported)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==MIM File structure==
+
== MIM File structure ==
The MIM filestructure begins with the
 
  
===MIM Header===
+
The MIM filestructure begins with the
  typedef struct  
+
 
 +
=== MIM Header ===
 +
 
 +
  typedef struct
 
  {
 
  {
     UINT32  Header_Palette;
+
     UINT32  sizeofpaletteData; // &lt;=&gt; 12 + PalWidth*2*PalHeight
 
     UINT16  PalX, PalY;
 
     UINT16  PalX, PalY;
     UINT16  PalWidth;
+
     UINT16  PalWidth, PalHeight;
    UINT16  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  WordCount;     // # words of data in image
+
     UINT32  sizeofimageData; // &lt;=&gt; 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. The palettes are selected from information in the DAT section 3 data.
+
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

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.