unit uBasic;

interface

const
  STD_FONT = 'DejaVuSans.ttf';

  // Use those values if loading from XML data failed
  WIDTH = 800;
  HEIGHT = 600;
  BITS = 32;
  
  
  {$IFDEF WINDOWS}
  RESPATH = '..\resources\';
  {$ELSE}
    {$IFDEF DARWIN}
    RESPATH = '../Resources/';
    {$ELSE}
    RESPATH = '../resources/';
    {$ENDIF}
  {$ENDIF}

type
  TGameState = (gsMainMenu, gsIntro, gsGame, gsInstructions, gsOptions);
  TLevelState = (lsSelector, lsPast, lsPresent, lsFuture);
  TLanguage = (laGerman, laEnglish);

function GetResPath: String;
function GetResDataPath: String;
function GetResImgPath: String;
function GetResSndPath: String;
function GetResFontPath: String;
function GetStdFont: String;

implementation

function GetResPath: String;
begin
  Result := RESPATH;
end;

function GetResDataPath: String;
begin
  {$IFDEF WINDOWS}
    Result := GetResPath + 'data\';
  {$ELSE}
    Result := GetResPath + 'data/';
  {$ENDIF}
end;

function GetResImgPath: String;
begin
  {$IFDEF WINDOWS}
    Result := GetResPath + 'images\';
  {$ELSE}
    Result := GetResPath + 'images/';
  {$ENDIF}
end;

function GetResSndPath: String;
begin
  {$IFDEF WINDOWS}
    Result := GetResPath + 'sounds\';
  {$ELSE}
    Result := GetResPath + 'sounds/';
  {$ENDIF}
end;

function GetResFontPath: String;
begin
  {$IFDEF WINDOWS}
    Result := GetResPath + 'fonts\';
  {$ELSE}
    Result := GetResPath + 'fonts/';
  {$ENDIF}
end;

function GetStdFont: String;
begin
  Result := GetResFontPath + STD_FONT;
end;

end.