aboutsummaryrefslogblamecommitdiffstats
path: root/src/macosx/MacResources.pas
blob: fa67ad23e2396ae8412d815248d2b562017b84ba (plain) (tree)
1
2
3
4
5
6
7
8






                  
                             





                                      
                                                                                 

      
                                                                                          


              
                                                                                           
     
              

    
                                   
   
                

                                         






                                       




                   
                                                                                             
   

                        
     





































































                                                                            

                                
                                                
      
                                                                                                       


    
unit MacResources;

{$I switches.inc}

interface

uses
  Classes, Windows, SysUtils;

type

  TResourceStream = class(TFileStream)
  private
  public
    constructor Create(Instance: THandle; const ResName: String; ResType: PChar);
  end;
  
function FindResource(hInstance: THandle; pcIdentifier: PChar; pcResType: PChar): THandle;

implementation

function FindResource(hInstance : THandle; pcIdentifier: PChar; pcResType: PChar): THandle;
begin
  Result := 1;
end;

function GetResourcesPath : String;
var
  i, j: Integer;
begin
  Result := ExtractFilePath(ParamStr(0));
  for j := 0 to 2 do
  begin
    i := Length(Result);
    repeat 
      Delete(Result, i, 1);
      i := Length(Result);
    until (i = 0) or (Result[i] = '/');
  end;  
end;

{ TResourceStream }

constructor TResourceStream.Create(Instance: THandle; const ResName: String; ResType: PChar);
var
  sResNameLower: String;
  sFileName: String;
begin
  sResNameLower := LowerCase(String(ResName));

  if ResType = 'TEX' then
  begin
    if sResNameLower = 'font' then
      sFileName := GetResourcesPath + 'Fonts/Normal/eurostar_regular.png'
    else if sResNameLower = 'fontb' then
      sFileName := GetResourcesPath + 'Fonts/Bold/eurostar_regular_bold.png'
    else if sResNameLower = 'fonto' then
      sFileName := GetResourcesPath + 'Fonts/Outline 1/Outline 1.png'
    else if sResNameLower = 'fonto2' then
      sFileName := GetResourcesPath + 'Fonts/Outline 2/Outline 2.png'
    else if sResNameLower = 'crdts_bg' then
      sFileName := GetResourcesPath + 'Graphics/credits_v5_bg.png'
    else if sResNameLower = 'crdts_ovl' then
      sFileName := GetResourcesPath + 'Graphics/credits_v5_overlay.png'
    else if sResNameLower = 'crdts_blindguard' then
      sFileName := GetResourcesPath + 'Graphics/names_blindguard.png'
    else if sResNameLower = 'crdts_blindy' then
      sFileName := GetResourcesPath + 'Graphics/names_blindy.png'
    else if sResNameLower = 'crdts_canni' then
      sFileName := GetResourcesPath + 'Graphics/names_canni.png'
    else if sResNameLower = 'crdts_commandio' then
      sFileName := GetResourcesPath + 'Graphics/names_commandio.png'
    else if sResNameLower = 'crdts_lazyjoker' then
      sFileName := GetResourcesPath + 'Graphics/names_lazyjoker.png'
    else if sResNameLower = 'crdts_mog' then
      sFileName := GetResourcesPath + 'Graphics/names_mog.png'
    else if sResNameLower = 'crdts_mota' then
      sFileName := GetResourcesPath + 'Graphics/names_mota.png'
    else if sResNameLower = 'crdts_skillmaster' then
      sFileName := GetResourcesPath + 'Graphics/names_skillmaster.png'
    else if sResNameLower = 'crdts_whiteshark' then
      sFileName := GetResourcesPath + 'Graphics/names_whiteshark.png'
    else if sResNameLower = 'intro_l01' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-01.png'
    else if sResNameLower = 'intro_l02' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-02.png'
    else if sResNameLower = 'intro_l03' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-03.png'
    else if sResNameLower = 'intro_l04' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-04.png'
    else if sResNameLower = 'intro_l05' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-05.png'
    else if sResNameLower = 'intro_l06' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-06.png'
    else if sResNameLower = 'intro_l07' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-07.png'
    else if sResNameLower = 'intro_l08' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-08.png'
    else if sResNameLower = 'intro_l09' then
      sFileName := GetResourcesPath + 'Graphics/intro-l-09.png'
    else if sResNameLower = 'outro_bg' then
      sFileName := GetResourcesPath + 'Graphics/outro-bg.png'
    else if sResNameLower = 'outro_esc' then
      sFileName := GetResourcesPath + 'Graphics/outro-esc.png'
    else if sResNameLower = 'outro_exd' then
      sFileName := GetResourcesPath + 'Graphics/outro-exit-dark.png';
  end
  else if ResType = 'FNT' then
  begin
    if sResNameLower = 'font' then
      sFileName := GetResourcesPath + 'Fonts/Normal/eurostar_regular.dat'
    else if sResNameLower = 'fontb' then
      sFileName := GetResourcesPath + 'Fonts/Bold/eurostar_regular_bold.dat'
    else if sResNameLower = 'fonto' then
      sFileName := GetResourcesPath + 'Fonts/Outline 1/Outline 1.dat'
    else if sResNameLower = 'fonto2' then
      sFileName := GetResourcesPath + 'Fonts/Outline 2/Outline 2.dat';
  end;
	
  if FileExists(sFileName) then 
    inherited Create(sFileName, fmOpenReadWrite)
  else
    raise Exception.Create('MacResources.TResourceStream.Create: File "' + sFileName + '" not found.');
end;

end.