aboutsummaryrefslogtreecommitdiffstats
path: root/src/MacOSX/Wrapper/MacResources.pas
blob: a97fb5653c081e4809cb451e388c3c4d277002d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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
	x,
	i : integer;
begin
  Result := ExtractFilePath(ParamStr(0));
  for x := 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.