char GameName[20]; // Name of game in List of save games in EOB2 (?)
 
2070b   6 * 345 Bytes Party members
//Game State (position and so on)
struct GameState {
   short int pi_level;
   short int pi_sublevel;
   short int pi_position;
   short int pi_dir; // (N,O,S,W)
 
   short int (+6); pi_subpos; Allways middle of square
   short int (+8); pi_hand; item in Hand (Mouse pointer).
   //----------------------------------------
   int (+10);-> pi_levelbits; Level visited? (Flag)
   int (+14); pi_spellbits;
   HI ÝLO
   Ý 400h ; 8400h || Member.spellbits 1000h ; HitDmg+1
   0Ý8000h ; Monster-Hitthrow -1
   0220h; ; TRUE SEEING &
   0002hÝ0     ; Detect Magic active
   char (+18);  _Dummy1
   char (+19);-> ; pi_monear; Is set if "Not save to rest here"
   char (+20); pi_levflags[8] ;-> Array{long} with 64 Bytes ;
                              ; levflags ;-> 16 Levels
   int (+84);
   int (+88); pi_globflags   // TeamGlobFlags
            ;   HI / LO
            ; 0004h   ;  if MonsterType =  7
            ; 0800h   ; if MonsterType = 12
            ; 8000h     ; if Hand with "Sign of Darkmoon"
} [6]; //92 bytes
/*
Party-Member (6 Recs * 159h); 2070d --> EOB2, because Hitpoints are
in 'short int'. In EOB1, the hit points are 'char'
*/
 
/*
8400b   Stores the actual items in game array ITEM[600] (ITEM[499] (ITEM[0..01F2]) in EOB1)
*/
 
/*
32000b  16 Levels:
        Per Level:
         1200b MAZE. Actual State, CPS-compressed (?)
*/
30 Monsters * SizeOf(Monsters)(20) = 900 byte

10 ThrownItems * SizeOf(ThrownItem)(18) = 180bytes
/*
4210b   holds (to check!)
*/
 
char _MouseSwitch;
char _WithSound;
char _BarGraphSwitch;
 
ItemType HandSpells[6];
/*
96byte
Data for Hand-Spells (which are special "itemtypes"):
(see ItemType.dat for spec)
Starts at Itemtypes[51]
An hand spell is  a special kind of item
*/