text: #pragma once
  
  /* This file contains copied of data structures of the original game. */
  
  #include "Types.h"
  
  /** Vanilla Data Structures */
  namespace VDS
  {
  
  typedef uint16_t        CHAR16;
  
  
  /* -------------------------------------------------------------------------
   * ja2/Build/GameSettings.h
   * ------------------------------------------------------------------------- */
  
  typedef struct
  {
  	BOOLEAN fGunNut;
  	BOOLEAN	fSciFi;
  	UINT8		ubDifficultyLevel;
  	BOOLEAN	fTurnTimeLimit;
  	BOOLEAN	fIronManMode;
  
  	UINT8		ubFiller[7];
  
  } GAME_OPTIONS;
  
  
  /* -------------------------------------------------------------------------
   * ja2/Build/SaveLoadGame.h
   * ------------------------------------------------------------------------- */
  
  #define		SIZE_OF_SAVE_GAME_DESC				128
  
  #define		GAME_VERSION_LENGTH						16
  
  typedef struct
  {
  	UINT32	uiSavedGameVersion;
  	INT8		zGameVersionNumber[ GAME_VERSION_LENGTH ];
  
  	CHAR16	sSavedGameDesc[ SIZE_OF_SAVE_GAME_DESC ];
  
  	UINT32	uiFlags;
  
  #ifdef CRIPPLED_VERSION
  	UINT8 ubCrippleFiller[20];
  #endif
  
  
  	//The following will be used to quickly access info to display in the save/load screen
  	UINT32	uiDay;
  	UINT8		ubHour;
  	UINT8		ubMin;
  	INT16		sSectorX;
  	INT16		sSectorY;
  	INT8		bSectorZ;
  	UINT8		ubNumOfMercsOnPlayersTeam;
  	INT32		iCurrentBalance;
  
  	UINT32	uiCurrentScreen;
  
  	BOOLEAN	fAlternateSector;
  
  	BOOLEAN	fWorldLoaded;
  
  	UINT8		ubLoadScreenID;		//The load screen that should be used when loading the saved game
  
  	GAME_OPTIONS	sInitialGameOptions;	//need these in the header so we can get the info from it on the save load screen.
  
  	UINT32	uiRandom;
  
  	UINT8		ubFiller[110];
  
  } SAVED_GAME_HEADER;
  
  /* -------------------------------------------------------------------------
   *
   * ------------------------------------------------------------------------- */
  
  }
  