/
Crimson2/alias/
Crimson2/area.tmp/
Crimson2/area.tmp/AnomalySpaceDock/
Crimson2/area.tmp/AnomalyStation/
Crimson2/area.tmp/AntHill/
Crimson2/area.tmp/ArcticTerrarium/
Crimson2/area.tmp/BuilderCity/
Crimson2/area.tmp/Dungeon/
Crimson2/area.tmp/MiningDock/
Crimson2/area.tmp/PipeSystem/
Crimson2/area.tmp/RattArea/
Crimson2/area.tmp/RobotFactory/
Crimson2/area.tmp/SilverDale/
Crimson2/area.tmp/StarshipFearless/
Crimson2/area.tmp/StationConduits/
Crimson2/area.tmp/TerrariumAlpha/
Crimson2/area.tmp/TerrariumBeta/
Crimson2/area.tmp/TestArea/
Crimson2/area.tmp/Void/
Crimson2/area/
Crimson2/area/AnomalySpaceDock/
Crimson2/area/AnomalyStation/
Crimson2/area/MiningDock/
Crimson2/area/PipeSystem/
Crimson2/area/SilverDale/
Crimson2/area/StationConduits/
Crimson2/area/Void/
Crimson2/board/
Crimson2/clone/
Crimson2/lib/
Crimson2/mole/
Crimson2/mole/mole_src/HELP/
Crimson2/player/
Crimson2/util/
Crimson2/wldedit/
Crimson2/wldedit/res/
struct AreaListType {
  /* read from the tbl file */
  STR       *aFileName;      /* whats the file name for this area */
  LWORD      aVirtualMin;
  LWORD      aVirtualMax;    /* the basic virtual range */
  STR       *aEditor;        /* currently authorized editors */

  /* system info */
  FLAG       aStatus;        /* unsaved/scrambled etc nonsavable flags */
  INDEX      aWldIndex;
  INDEX      aMobIndex;
  INDEX      aObjIndex;

  LWORD      aOffset;        /* used to relocated an area at load-time */

  /* these are stored in the rst (reset) file for the area */
  STR       *aDesc;          /* writeup on the area, authors listed here */
  FLAG       aSystem;        /* system area flags, notably AS_SCRAMBLED */
  FLAG       aResetFlag;     /* reset (savable) flags, notably RF_CLOSED */
  WORD       aResetDelay;    /* how long between resets (minutes)*/
  ULWORD     aResetLast;     /* current age of this zone(minutes) */
  RESETLIST *aResetList;     /* command table for reset          */
  LWORD      aResetNum;      /* number of resetlist entries */
  LWORD      aResetByte;     /* memory allocated for resetlist entries */
  LWORD      aResetWait;     /* for slow resets - note implemented yet */
  THING      aResetThing;    /* For attaching areawide scripts to */
};

#define AS_WLDUNSAVED   1<<0
#define AS_MOBUNSAVED   1<<1
#define AS_OBJUNSAVED   1<<2
#define AS_RSTUNSAVED   1<<3
#define AS_RSTSHOWN     1<<4 /* if allready shown, cannot rshow */

extern BYTE *wSystemList[];

extern AREALIST *areaList;
extern LWORD     areaListMax;
extern BYTE      areaWriteBinary;

extern void  AreaInit(void);
extern WORD  AreaOf(WORD virtual);
extern BYTE  AreaHasPlayers(WORD area);
extern LWORD AreaMove(WORD area, LWORD virtual);
extern BYTE  AreaIsEditor(WORD area, THING *thing);