
#include "modepro.h"

#define ID_FORM MAKE_ID('F','O','R','M')
#define ID_PREF MAKE_ID('P','R','E','F')
/* Promotion chunk */
#define ID_PRMO MAKE_ID('P','R','M','O')
/* ModeProPreferences chunk */
#define ID_MPPR MAKE_ID('M','P','P','R')

struct Promo
{
  UWORD Version;
  UWORD Type;
  ULONG ModeSelect;
  ULONG ModeID;
  UWORD Width,Height;
  ULONG OverscanType;
  ULONG AutoScroll;
  ULONG Look3D;
  ULONG NameLen;
};

#define ID_MPST MAKE_ID('M','P','S','T')

struct ChunkMPST
{
  ULONG Version;
  BYTE   CX_Popup;
  BYTE   CX_Priority;
  STRPTR CX_HotKey;
};

/**** File Format ****

STRPTR=Null terminated string, end is padded to align WORDly.

PREF.PRMO
  UWORD : Version
  UWORD : Type
  ULONG : Promotion Method
  ULONG : DisplayID
  UWORD : Width
  UWORD : Height
  ULONG : Overscan
  ULONG : AutoScroll
  ULONG : Look3D
  ULONG : Name Length (must be even) 
  UBYTE * Name Length : Name
** Additions in Version 1 **
  ULONG : # DrawInfo Pens 
  UWORD * #DIP : DrawInfo Pens 
** Additions in Version 2 **
  ULONG : Flags
            INTERLEAVE (1<<0)
            CENTER     (1<<2)  // obsolete ver 4.6
            FIXASPECT  (1<<3)
            DEPTH      (1<<4)
            SHAREPENS  (1<<5)
            SCRHOTKEY  (1<<6)
  UWORD : FontMode
  if( Font == SFONT_MP )
  {
    STRPTR : FontName
    UWORD : ta_YSize
    UBYTE : ta_Style
    UBYTE : ta_Flags
  }
** Additions in Version 3 **
  ULONG : Public Options
          PUBLIC      (1<<0)
  STRPTR : PubName
** V4 **
  WORD : Depth
  STRPTR : ExcludedPenNumber(s)
** V5 **
  STRPTR : HotKey
** V6 **
  ULONG : OrigDisplayID
** V7 **  
  UBYTE : OrigDisplayFlags
  UBYTE : CenterFlags
  ULONG : Colors
  struct RGB * (Colors) : Palette
** v8 **
  BYTE : BackdropType
  BYTE : BackdropFlags
  STRPTR : Picture Filename
** v9 **
  LONG : BackdropDataSize 
  ???? : Extra backdrop data.
  
**********************/


struct MPPR_Chunk
{
  ULONG Version;
  BYTE  EnablePromotion;
  BYTE  EnableNLM;
  BYTE  AskUnknown;
  BYTE  CenterUnknown;
  /* End version 0 */
  BYTE  AskUnknownPub;
  /* End version 1 */
};
