unit Globals;

interface
                    (****** CONSTANT DECLARATIONS ******)
const
  Debug        = False;
  MaxRobots    = 3;
  MaxHiScores  = 40;
  SWall        = 130;
  MapX         = 0;
  MapY         = 129;
  NoofIcons    = 20;
  IconSize     = 205;
  SAdir        = '';
  North        = 1;
  South        = 2;
  West         = 4;
  East         = 8;
  Shield       = 16;
  Block        = 32;
  Pform        = 64;
  Panel        = 128;
  Ppack        = 1;
  Key          = 2;
  Crystal      = 6;
  ObjIcon      : array[1..9] of byte
               = (16,17,17,17,17,18,18,18,18);
  OneWay       : array[1..10,1..3] of byte
               = ((1,2,1),(1,3,1),(1,9,1),
                  (2,3,1),(2,9,3),(2,14,1),(2,14,3),
                  (3,2,3),(3,3,3),(3,14,1));
  PCcompatible = True;

                     (***** TYPE DECLARATIONS *****)
type
  IconTyp = array [1..IconSize] of byte;
  ShipTyp = array [1..3,1..14,1..3] of record
              Interior:word;
							Objekt:byte;
              Visited:boolean;
            end;
  WeapTyp = (Phaser,Blaster);
  Str80   = string[80];
  ScrTyp  = array [1..16240] of byte;
  HiscTyp = array [1..MaxHiScores] of record
              Hname  : string [16];
              Hscore : integer;
              Hdone  : boolean;
            end;

                      (**** VARIABLE DECLARATIONS *****)
var
  Tit1,Tit2                   : ScrTyp;
  TitleFile                   : file of ScrTyp;
  Scr                         : byte absolute $B800:0000;
  Scr2                        : byte absolute $B800:8120;
  Ship                        : ShipTyp;
  ShipFile                    : file of ShipTyp;
  HiScore                     : HiscTyp;
  HiScoreFile                 : file of HiscTyp;
  Icon                        : array [1..NoofIcons] of IconTyp;
  KeyCarried                  : array [0..3] of boolean;
  Robot                       : array [1..MaxRobots] of record
                                  Xr,Yr,Xrd,Yrd,Xrb,Yrb,Xrbd,Yrbd:integer;
                                  Typ,Power:byte;
                                  Bl:boolean;
                                end;
  Weapon                      : WeapTyp;
  WSupp                       : array [WeapTyp] of integer;
  Ym,Yb,Man,WlkC,Robots,
  RobotsLeft,Hit,MessCnt,Keys,
  Ppacks,Crystals,Width,Page,
  CurrObj,Obx,Oby,Skill,Level,
  NewLevel,ShipX,ShipY,Ox,Oy  : byte;
  Ctr,Ctr2,Ctr3,Code,Size,
  Gd,Gm,Xm,Xd,Yd,Xod,Yod,
  Xb,Xbd,Ybd,Dist,BulSound,
  RobotsKilled,PpacksUsed,
  Rooms,Score,LifeSupp        : integer;
  Teleport,Walk,Bul,RFlag,
  Leave,Dead,Done,Quit,Noise,
  ShwTitle                    : boolean;
  K1,K2,K3                    : char;
  Pause,TempPause,BkColor     : shortint;

implementation

end.
