author | unc0rr |
Sat, 20 Nov 2010 23:55:00 +0300 | |
changeset 4390 | f219628ed666 |
parent 4385 | f679ffa2dc8c |
child 4398 | 36d7e4b6ca81 |
permissions | -rw-r--r-- |
4 | 1 |
(* |
1066 | 2 |
* Hedgewars, a free turn based strategy game |
883 | 3 |
* Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com> |
4 | 4 |
* |
183 | 5 |
* This program is free software; you can redistribute it and/or modify |
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
4 | 8 |
* |
183 | 9 |
* This program is distributed in the hope that it will be useful, |
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
4 | 13 |
* |
183 | 14 |
* You should have received a copy of the GNU General Public License |
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
|
4 | 17 |
*) |
18 |
||
2623 | 19 |
{$INCLUDE "options.inc"} |
20 |
||
4 | 21 |
unit uStore; |
22 |
interface |
|
4368 | 23 |
uses sysutils, uConsts, SDLh, GLunit, uTypes; |
2699
249adefa9c1c
replace initialization/finalization statements with custom init functions
koda
parents:
2698
diff
changeset
|
24 |
|
3038 | 25 |
procedure initModule; |
26 |
procedure freeModule; |
|
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
27 |
|
4 | 28 |
procedure StoreLoad; |
29 |
procedure StoreRelease; |
|
30 |
procedure RenderHealth(var Hedgehog: THedgehog); |
|
31 |
procedure AddProgress; |
|
510 | 32 |
procedure FinishProgress; |
2905 | 33 |
function LoadImage(const filename: shortstring; imageFlags: LongInt): PSDL_Surface; |
753 | 34 |
procedure SetupOpenGL; |
2161
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
35 |
procedure SetScale(f: GLfloat); |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
36 |
function RenderHelpWindow(caption, subcaption, description, extra: ansistring; extracolor: LongInt; iconsurf: PSDL_Surface; iconrect: PSDL_Rect): PTexture; |
2747 | 37 |
procedure RenderWeaponTooltip(atype: TAmmoType); |
38 |
procedure ShowWeaponTooltip(x, y: LongInt); |
|
39 |
procedure FreeWeaponTooltip; |
|
4 | 40 |
|
41 |
implementation |
|
4390
f219628ed666
Move localization data to uVariables, some Uses cleanup
unc0rr
parents:
4385
diff
changeset
|
42 |
uses uMisc, uConsole, uMobile, uVariables, uUtils, uTextures, uIO, uRender, uRenderUtils; |
4 | 43 |
|
2735 | 44 |
type TGPUVendor = (gvUnknown, gvNVIDIA, gvATI, gvIntel, gvApple); |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
45 |
|
4385 | 46 |
var MaxTextureSize: LongInt; |
2735 | 47 |
cGPUVendor: TGPUVendor; |
3445 | 48 |
|
2905 | 49 |
function WriteInRect(Surface: PSDL_Surface; X, Y: LongInt; Color: LongWord; Font: THWFont; s: ansistring): TSDL_Rect; |
2747 | 50 |
var w, h: LongInt; |
51 |
tmpsurf: PSDL_Surface; |
|
52 |
clr: TSDL_Color; |
|
53 |
finalRect: TSDL_Rect; |
|
54 |
begin |
|
3407 | 55 |
w:= 0; h:= 0; // avoid compiler hints |
2747 | 56 |
TTF_SizeUTF8(Fontz[Font].Handle, Str2PChar(s), w, h); |
57 |
finalRect.x:= X + FontBorder + 2; |
|
58 |
finalRect.y:= Y + FontBorder; |
|
59 |
finalRect.w:= w + FontBorder * 2 + 4; |
|
60 |
finalRect.h:= h + FontBorder * 2; |
|
61 |
clr.r:= Color shr 16; |
|
62 |
clr.g:= (Color shr 8) and $FF; |
|
63 |
clr.b:= Color and $FF; |
|
64 |
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[Font].Handle, Str2PChar(s), clr); |
|
65 |
tmpsurf:= doSurfaceConversion(tmpsurf); |
|
66 |
SDLTry(tmpsurf <> nil, true); |
|
67 |
SDL_UpperBlit(tmpsurf, nil, Surface, @finalRect); |
|
68 |
SDL_FreeSurface(tmpsurf); |
|
69 |
finalRect.x:= X; |
|
70 |
finalRect.y:= Y; |
|
71 |
finalRect.w:= w + FontBorder * 2 + 4; |
|
72 |
finalRect.h:= h + FontBorder * 2; |
|
73 |
WriteInRect:= finalRect |
|
74 |
end; |
|
75 |
||
4 | 76 |
procedure StoreLoad; |
2905 | 77 |
var s: shortstring; |
4 | 78 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
79 |
procedure WriteNames(Font: THWFont); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
80 |
var t: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
81 |
i: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
82 |
r, rr: TSDL_Rect; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
83 |
drY: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
84 |
texsurf, flagsurf, iconsurf: PSDL_Surface; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
85 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
86 |
r.x:= 0; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
87 |
r.y:= 0; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
88 |
drY:= - 4; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
89 |
for t:= 0 to Pred(TeamsCount) do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
90 |
with TeamsArray[t]^ do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
91 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
92 |
NameTagTex:= RenderStringTex(TeamName, Clan^.Color, Font); |
690 | 93 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
94 |
r.w:= cTeamHealthWidth + 5; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
95 |
r.h:= NameTagTex^.h; |
690 | 96 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
97 |
texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, r.w, r.h, 32, RMask, GMask, BMask, AMask); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
98 |
TryDo(texsurf <> nil, errmsgCreateSurface, true); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
99 |
TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true); |
690 | 100 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
101 |
DrawRoundRect(@r, cWhiteColor, cNearBlackColorChannels.value, texsurf, true); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
102 |
rr:= r; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
103 |
inc(rr.x, 2); dec(rr.w, 4); inc(rr.y, 2); dec(rr.h, 4); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
104 |
DrawRoundRect(@rr, Clan^.Color, Clan^.Color, texsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
105 |
HealthTex:= Surface2Tex(texsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
106 |
SDL_FreeSurface(texsurf); |
690 | 107 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
108 |
r.x:= 0; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
109 |
r.y:= 0; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
110 |
r.w:= 32; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
111 |
r.h:= 32; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
112 |
texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, r.w, r.h, 32, RMask, GMask, BMask, AMask); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
113 |
TryDo(texsurf <> nil, errmsgCreateSurface, true); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
114 |
TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true); |
2747 | 115 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
116 |
r.w:= 26; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
117 |
r.h:= 19; |
2747 | 118 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
119 |
DrawRoundRect(@r, cWhiteColor, cNearBlackColor, texsurf, true); |
3697 | 120 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
121 |
// overwrite flag for cpu teams and keep players from using it |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
122 |
if (Hedgehogs[0].Gear <> nil) and (Hedgehogs[0].BotLevel > 0) then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
123 |
Flag:= 'cpu' |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
124 |
else if Flag = 'cpu' then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
125 |
Flag:= 'hedgewars'; |
3697 | 126 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
127 |
flagsurf:= LoadImage(Pathz[ptFlags] + '/' + Flag, ifNone); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
128 |
if flagsurf = nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
129 |
flagsurf:= LoadImage(Pathz[ptFlags] + '/hedgewars', ifNone); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
130 |
TryDo(flagsurf <> nil, 'Failed to load flag "' + Flag + '" as well as the default flag', true); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
131 |
copyToXY(flagsurf, texsurf, 2, 2); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
132 |
SDL_FreeSurface(flagsurf); |
3513
f589230fa21b
now it's possible to select the scheme file in the ifrontendfix a type about loading an image (iphone file system IS case senstive)
koda
parents:
3509
diff
changeset
|
133 |
flagsurf:= nil; |
3697 | 134 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
135 |
// restore black border pixels inside the flag |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
136 |
PLongwordArray(texsurf^.pixels)^[32 * 2 + 2]:= cNearBlackColor; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
137 |
PLongwordArray(texsurf^.pixels)^[32 * 2 + 23]:= cNearBlackColor; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
138 |
PLongwordArray(texsurf^.pixels)^[32 * 16 + 2]:= cNearBlackColor; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
139 |
PLongwordArray(texsurf^.pixels)^[32 * 16 + 23]:= cNearBlackColor; |
2747 | 140 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
141 |
FlagTex:= Surface2Tex(texsurf, false); |
3041 | 142 |
SDL_FreeSurface(texsurf); |
143 |
||
3773 | 144 |
AIKillsTex := RenderStringTex(inttostr(stats.AIKills), Clan^.Color, fnt16); |
145 |
||
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
146 |
dec(drY, r.h + 2); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
147 |
DrawHealthY:= drY; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
148 |
for i:= 0 to 7 do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
149 |
with Hedgehogs[i] do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
150 |
if Gear <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
151 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
152 |
NameTagTex:= RenderStringTex(Name, Clan^.Color, CheckCJKFont(Name,fnt16)); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
153 |
if Hat <> 'NoHat' then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
154 |
begin |
2874
3c7c2bf1ba38
A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents:
2873
diff
changeset
|
155 |
if (Length(Hat) > 39) and (Copy(Hat,1,8) = 'Reserved') and (Copy(Hat,9,32) = PlayerHash) then |
3041 | 156 |
texsurf:= LoadImage(Pathz[ptHats] + '/Reserved/' + Copy(Hat,9,Length(s)-8), ifNone) |
2874
3c7c2bf1ba38
A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents:
2873
diff
changeset
|
157 |
else |
3041 | 158 |
texsurf:= LoadImage(Pathz[ptHats] + '/' + Hat, ifNone); |
3862 | 159 |
if texsurf <> nil then |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
160 |
begin |
3862 | 161 |
HatTex:= Surface2Tex(texsurf, true); |
162 |
SDL_FreeSurface(texsurf) |
|
3513
f589230fa21b
now it's possible to select the scheme file in the ifrontendfix a type about loading an image (iphone file system IS case senstive)
koda
parents:
3509
diff
changeset
|
163 |
end; |
3862 | 164 |
texsurf:= nil; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
165 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
166 |
end; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
167 |
end; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
168 |
MissionIcons:= LoadImage(Pathz[ptGraphics] + '/missions', ifCritical); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
169 |
iconsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, 28, 28, 32, RMask, GMask, BMask, AMask); |
3862 | 170 |
if iconsurf <> nil then |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
171 |
begin |
3862 | 172 |
r.x:= 0; |
173 |
r.y:= 0; |
|
174 |
r.w:= 28; |
|
175 |
r.h:= 28; |
|
176 |
DrawRoundRect(@r, cWhiteColor, cNearBlackColor, iconsurf, true); |
|
177 |
ropeIconTex:= Surface2Tex(iconsurf, false); |
|
178 |
SDL_FreeSurface(iconsurf); |
|
179 |
iconsurf:= nil; |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
180 |
end; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
181 |
end; |
4 | 182 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
183 |
procedure MakeCrossHairs; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
184 |
var t: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
185 |
tmpsurf, texsurf: PSDL_Surface; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
186 |
Color, i: Longword; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
187 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
188 |
s:= Pathz[ptGraphics] + '/' + cCHFileName; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
189 |
tmpsurf:= LoadImage(s, ifAlpha or ifCritical); |
4 | 190 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
191 |
for t:= 0 to Pred(TeamsCount) do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
192 |
with TeamsArray[t]^ do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
193 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
194 |
texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, tmpsurf^.w, tmpsurf^.h, 32, RMask, GMask, BMask, AMask); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
195 |
TryDo(texsurf <> nil, errmsgCreateSurface, true); |
764
7513452b1d51
Now game looks almost like it did before switching to OpenGL
unc0rr
parents:
762
diff
changeset
|
196 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
197 |
Color:= Clan^.Color; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
198 |
Color:= SDL_MapRGB(texsurf^.format, Color shr 16, Color shr 8, Color and $FF); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
199 |
SDL_FillRect(texsurf, nil, Color); |
764
7513452b1d51
Now game looks almost like it did before switching to OpenGL
unc0rr
parents:
762
diff
changeset
|
200 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
201 |
SDL_UpperBlit(tmpsurf, nil, texsurf, nil); |
777 | 202 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
203 |
TryDo(tmpsurf^.format^.BytesPerPixel = 4, 'Ooops', true); |
777 | 204 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
205 |
if SDL_MustLock(texsurf) then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
206 |
SDLTry(SDL_LockSurface(texsurf) >= 0, true); |
777 | 207 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
208 |
// make black pixel be alpha-transparent |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
209 |
for i:= 0 to texsurf^.w * texsurf^.h - 1 do |
3862 | 210 |
if PLongwordArray(texsurf^.pixels)^[i] = AMask then PLongwordArray(texsurf^.pixels)^[i]:= (RMask or GMask or BMask) and Color; |
777 | 211 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
212 |
if SDL_MustLock(texsurf) then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
213 |
SDL_UnlockSurface(texsurf); |
764
7513452b1d51
Now game looks almost like it did before switching to OpenGL
unc0rr
parents:
762
diff
changeset
|
214 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
215 |
CrosshairTex:= Surface2Tex(texsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
216 |
SDL_FreeSurface(texsurf) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
217 |
end; |
351 | 218 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
219 |
SDL_FreeSurface(tmpsurf) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
220 |
end; |
4 | 221 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
222 |
procedure InitHealth; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
223 |
var i, t: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
224 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
225 |
for t:= 0 to Pred(TeamsCount) do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
226 |
if TeamsArray[t] <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
227 |
with TeamsArray[t]^ do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
228 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
229 |
for i:= 0 to cMaxHHIndex do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
230 |
if Hedgehogs[i].Gear <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
231 |
RenderHealth(Hedgehogs[i]); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
232 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
233 |
end; |
4 | 234 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
235 |
procedure LoadGraves; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
236 |
var t: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
237 |
texsurf: PSDL_Surface; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
238 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
239 |
for t:= 0 to Pred(TeamsCount) do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
240 |
if TeamsArray[t] <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
241 |
with TeamsArray[t]^ do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
242 |
begin |
3689 | 243 |
if GraveName = '' then GraveName:= 'Statue'; |
244 |
texsurf:= LoadImage(Pathz[ptGraves] + '/' + GraveName, ifTransparent); |
|
245 |
if texsurf = nil then texsurf:= LoadImage(Pathz[ptGraves] + '/Statue', ifCritical or ifTransparent); |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
246 |
GraveTex:= Surface2Tex(texsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
247 |
SDL_FreeSurface(texsurf) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
248 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
249 |
end; |
4 | 250 |
|
844 | 251 |
var ii: TSprite; |
252 |
fi: THWFont; |
|
253 |
ai: TAmmoType; |
|
254 |
tmpsurf: PSDL_Surface; |
|
255 |
i: LongInt; |
|
4 | 256 |
begin |
2222 | 257 |
|
4 | 258 |
for fi:= Low(THWFont) to High(THWFont) do |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
259 |
with Fontz[fi] do |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
260 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
261 |
s:= Pathz[ptFonts] + '/' + Name; |
3185 | 262 |
WriteToConsole(msgLoading + s + ' (' + inttostr(Height) + 'pt)... '); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
263 |
Handle:= TTF_OpenFont(Str2PChar(s), Height); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
264 |
SDLTry(Handle <> nil, true); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
265 |
TTF_SetFontStyle(Handle, style); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
266 |
WriteLnToConsole(msgOK) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
267 |
end; |
53 | 268 |
|
4 | 269 |
WriteNames(fnt16); |
70 | 270 |
MakeCrossHairs; |
4 | 271 |
LoadGraves; |
272 |
||
273 |
AddProgress; |
|
274 |
for ii:= Low(TSprite) to High(TSprite) do |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
275 |
with SpritesData[ii] do |
2145 | 276 |
// FIXME - add a sprite attribute |
3594
aeca3d8f1b29
turn cReducedQuality into a LongInt and provide a series of quality flags (and best of all, this is still compatible with current frontend)
koda
parents:
3558
diff
changeset
|
277 |
if ((cReducedQuality and rqNoBackground) = 0) or (not (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR, sprFlake, sprSplash, sprDroplet])) then // FIXME: hack |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
278 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
279 |
if AltPath = ptNone then |
3881
e570268a9d52
re-add City theme with the UpdateDataFolder script (and revert changes made to the flake sprite)
koda
parents:
3875
diff
changeset
|
280 |
if ii in [sprHorizontL, sprHorizontR, sprSkyL, sprSkyR] then // FIXME: hack |
3537
8f5b3108f29c
New approach to the low-res problem. Basically, we already have a 1024 minimum, and the tallest maps are restricting themselves to 2048 maximum. All backgrounds are scaled down 50%, then scaled up on draw. Saves memory, and backgrounds are already deliberately fuzzed for depth of field anyway.
nemo
parents:
3525
diff
changeset
|
281 |
tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent) |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
282 |
else |
3537
8f5b3108f29c
New approach to the low-res problem. Basically, we already have a 1024 minimum, and the tallest maps are restricting themselves to 2048 maximum. All backgrounds are scaled down 50%, then scaled up on draw. Saves memory, and backgrounds are already deliberately fuzzed for depth of field anyway.
nemo
parents:
3525
diff
changeset
|
283 |
tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent or ifCritical) |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
284 |
else begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
285 |
tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
286 |
if tmpsurf = nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
287 |
tmpsurf:= LoadImage(Pathz[AltPath] + '/' + FileName, ifAlpha or ifCritical or ifTransparent); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
288 |
end; |
2426 | 289 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
290 |
if tmpsurf <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
291 |
begin |
3558 | 292 |
if getImageDimensions then |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
293 |
begin |
3558 | 294 |
imageWidth:= tmpsurf^.w; |
295 |
imageHeight:= tmpsurf^.h |
|
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
296 |
end; |
3558 | 297 |
if getDimensions then |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
298 |
begin |
3558 | 299 |
Width:= tmpsurf^.w; |
300 |
Height:= tmpsurf^.h |
|
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
301 |
end; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
302 |
if (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR]) then |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
303 |
begin |
3537
8f5b3108f29c
New approach to the low-res problem. Basically, we already have a 1024 minimum, and the tallest maps are restricting themselves to 2048 maximum. All backgrounds are scaled down 50%, then scaled up on draw. Saves memory, and backgrounds are already deliberately fuzzed for depth of field anyway.
nemo
parents:
3525
diff
changeset
|
304 |
Texture:= Surface2Tex(tmpsurf, true); |
8f5b3108f29c
New approach to the low-res problem. Basically, we already have a 1024 minimum, and the tallest maps are restricting themselves to 2048 maximum. All backgrounds are scaled down 50%, then scaled up on draw. Saves memory, and backgrounds are already deliberately fuzzed for depth of field anyway.
nemo
parents:
3525
diff
changeset
|
305 |
Texture^.Scale:= 2 |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
306 |
end |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
307 |
else |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
308 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
309 |
Texture:= Surface2Tex(tmpsurf, false); |
3611 | 310 |
if (ii = sprWater) and ((cReducedQuality and (rq2DWater or rqClampLess)) = 0) then // HACK: We should include some sprite attribute to define the texture wrap directions |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
311 |
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
312 |
end; |
3491 | 313 |
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, priority); |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
314 |
if saveSurf then |
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
315 |
Surface:= tmpsurf else SDL_FreeSurface(tmpsurf) |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
316 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
317 |
else |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
318 |
Surface:= nil |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
319 |
end; |
80 | 320 |
|
4 | 321 |
AddProgress; |
567 | 322 |
|
2171
8208946331ba
Smaxx refactor of LoadImage to use flags, iphone changes by koda (mostly use of rgba instead of rgb)
nemo
parents:
2161
diff
changeset
|
323 |
tmpsurf:= LoadImage(Pathz[ptGraphics] + '/' + cHHFileName, ifAlpha or ifCritical or ifTransparent); |
2290
bf87ca44782e
Selectively enable clamping - seeing if this helps avoid weird flake problems while still fixing vertical lines in waves and sky
nemo
parents:
2285
diff
changeset
|
324 |
HHTexture:= Surface2Tex(tmpsurf, false); |
761 | 325 |
SDL_FreeSurface(tmpsurf); |
4 | 326 |
|
327 |
InitHealth; |
|
328 |
||
3774 | 329 |
// TODO: are those textures ever freed? |
2623 | 330 |
PauseTexture:= RenderStringTex(trmsg[sidPaused], cYellowColor, fntBig); |
331 |
ConfirmTexture:= RenderStringTex(trmsg[sidConfirm], cYellowColor, fntBig); |
|
332 |
SyncTexture:= RenderStringTex(trmsg[sidSync], cYellowColor, fntBig); |
|
281
5b483aa9f2ab
Pause support (mouse cursor is released when the game is paused)
unc0rr
parents:
208
diff
changeset
|
333 |
|
2601 | 334 |
AddProgress; |
335 |
||
2670 | 336 |
// name of weapons in ammo menu |
843 | 337 |
for ai:= Low(TAmmoType) to High(TAmmoType) do |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
338 |
with Ammoz[ai] do |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
339 |
begin |
3384 | 340 |
TryDo(trAmmo[NameId] <> '','No default text/translation found for ammo type #' + intToStr(ord(ai)) + '!',true); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
341 |
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[CheckCJKFont(trAmmo[NameId],fnt16)].Handle, Str2PChar(trAmmo[NameId]), cWhiteColorChannels); |
3384 | 342 |
TryDo(tmpsurf <> nil,'Name-texture creation for ammo type #' + intToStr(ord(ai)) + ' failed!',true); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
343 |
tmpsurf:= doSurfaceConversion(tmpsurf); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
344 |
NameTex:= Surface2Tex(tmpsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
345 |
SDL_FreeSurface(tmpsurf) |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
346 |
end; |
2376 | 347 |
|
2670 | 348 |
// number of weapons in ammo menu |
844 | 349 |
for i:= Low(CountTexz) to High(CountTexz) do |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
350 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
351 |
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[fnt16].Handle, Str2PChar(IntToStr(i) + 'x'), cWhiteColorChannels); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
352 |
tmpsurf:= doSurfaceConversion(tmpsurf); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
353 |
CountTexz[i]:= Surface2Tex(tmpsurf, false); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
354 |
SDL_FreeSurface(tmpsurf) |
3765
ebfe7c9b3085
set flake to non critical, no touches until game is starding, moved some variables to be initialized in the right place
koda
parents:
3764
diff
changeset
|
355 |
end; |
844 | 356 |
|
2222 | 357 |
AddProgress; |
2669 | 358 |
|
2672 | 359 |
{$IFDEF SDL_IMAGE_NEWER} |
2669 | 360 |
IMG_Quit(); |
2671
7e0f88013fe8
smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents:
2670
diff
changeset
|
361 |
{$ENDIF} |
4 | 362 |
end; |
363 |
||
364 |
procedure StoreRelease; |
|
365 |
var ii: TSprite; |
|
366 |
begin |
|
3405 | 367 |
for ii:= Low(TSprite) to High(TSprite) do |
769
788efc1d649f
- Save 8 MB of memory by freeing LandSurface and not using it anymore after game initialization
unc0rr
parents:
768
diff
changeset
|
368 |
begin |
3405 | 369 |
FreeTexture(SpritesData[ii].Texture); |
3513
f589230fa21b
now it's possible to select the scheme file in the ifrontendfix a type about loading an image (iphone file system IS case senstive)
koda
parents:
3509
diff
changeset
|
370 |
SpritesData[ii].Texture:= nil; |
3405 | 371 |
if SpritesData[ii].Surface <> nil then |
3513
f589230fa21b
now it's possible to select the scheme file in the ifrontendfix a type about loading an image (iphone file system IS case senstive)
koda
parents:
3509
diff
changeset
|
372 |
SDL_FreeSurface(SpritesData[ii].Surface); |
f589230fa21b
now it's possible to select the scheme file in the ifrontendfix a type about loading an image (iphone file system IS case senstive)
koda
parents:
3509
diff
changeset
|
373 |
SpritesData[ii].Surface:= nil; |
769
788efc1d649f
- Save 8 MB of memory by freeing LandSurface and not using it anymore after game initialization
unc0rr
parents:
768
diff
changeset
|
374 |
end; |
3405 | 375 |
SDL_FreeSurface(MissionIcons); |
376 |
FreeTexture(ropeIconTex); |
|
377 |
FreeTexture(HHTexture); |
|
4 | 378 |
end; |
379 |
||
2677
83ad68ceef72
Non-hacked version of CJK handling. Should switch to CJK rendering only if a particular string needs it, instead of based on locale file.
nemo
parents:
2674
diff
changeset
|
380 |
|
4 | 381 |
procedure RenderHealth(var Hedgehog: THedgehog); |
95 | 382 |
var s: shortstring; |
4 | 383 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
384 |
str(Hedgehog.Gear^.Health, s); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
385 |
if Hedgehog.HealthTagTex <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
386 |
FreeTexture(Hedgehog.HealthTagTex); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
387 |
Hedgehog.HealthTagTex:= RenderStringTex(s, Hedgehog.Team^.Clan^.Color, fnt16) |
4 | 388 |
end; |
389 |
||
2905 | 390 |
function LoadImage(const filename: shortstring; imageFlags: LongInt): PSDL_Surface; |
30 | 391 |
var tmpsurf: PSDL_Surface; |
355 | 392 |
s: shortstring; |
4 | 393 |
begin |
3906 | 394 |
WriteToConsole(msgLoading + filename + '.png [flags: ' + inttostr(imageFlags) + ']'); |
2426 | 395 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
396 |
s:= filename + '.png'; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
397 |
tmpsurf:= IMG_Load(Str2PChar(s)); |
2254 | 398 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
399 |
if tmpsurf = nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
400 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
401 |
OutError(msgFailed, (imageFlags and ifCritical) <> 0); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
402 |
exit(nil) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
403 |
end; |
2153 | 404 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
405 |
if ((imageFlags and ifIgnoreCaps) = 0) and ((tmpsurf^.w > MaxTextureSize) or (tmpsurf^.h > MaxTextureSize)) then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
406 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
407 |
SDL_FreeSurface(tmpsurf); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
408 |
OutError(msgFailedSize, (imageFlags and ifCritical) <> 0); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
409 |
// dummy surface to replace non-critical textures that failed to load due to their size |
3862 | 410 |
exit(SDL_CreateRGBSurface(SDL_SWSURFACE, 2, 2, 32, RMask, GMask, BMask, AMask)); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
411 |
end; |
351 | 412 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
413 |
tmpsurf:= doSurfaceConversion(tmpsurf); |
2630 | 414 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
415 |
if (imageFlags and ifTransparent) <> 0 then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
416 |
TryDo(SDL_SetColorKey(tmpsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true); |
2630 | 417 |
|
3407 | 418 |
WriteLnToConsole(msgOK + ' (' + inttostr(tmpsurf^.w) + 'x' + inttostr(tmpsurf^.h) + ')'); |
2630 | 419 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
420 |
LoadImage:= tmpsurf //Result |
753 | 421 |
end; |
422 |
||
2905 | 423 |
function glLoadExtension(extension : shortstring) : boolean; |
2428 | 424 |
begin |
2580
aeccc8f51d3f
completes touch input/control (problems with moving camera)
koda
parents:
2578
diff
changeset
|
425 |
{$IFDEF IPHONEOS} |
3971 | 426 |
extension:= extension; // avoid hint |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
427 |
glLoadExtension:= false; |
3333 | 428 |
{$IFDEF DEBUGFILE} |
429 |
AddFileLog('OpenGL - "' + extension + '" skipped') |
|
430 |
{$ENDIF} |
|
2580
aeccc8f51d3f
completes touch input/control (problems with moving camera)
koda
parents:
2578
diff
changeset
|
431 |
{$ELSE} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
432 |
glLoadExtension:= glext_LoadExtension(extension); |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
433 |
{$IFDEF DEBUGFILE} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
434 |
if not glLoadExtension then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
435 |
AddFileLog('OpenGL - "' + extension + '" failed to load') |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
436 |
else |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
437 |
AddFileLog('OpenGL - "' + extension + '" loaded'); |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
438 |
{$ENDIF} |
3333 | 439 |
{$ENDIF} |
2428 | 440 |
end; |
441 |
||
753 | 442 |
procedure SetupOpenGL; |
3928
2560731c860d
move all mobile-related functions in their own module, provides a structure for future mobile ports
koda
parents:
3922
diff
changeset
|
443 |
{$IFNDEF IPHONEOS} |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
444 |
var vendor: shortstring; |
3405 | 445 |
{$IFDEF DARWIN} |
446 |
one: LongInt; |
|
447 |
{$ENDIF} |
|
3928
2560731c860d
move all mobile-related functions in their own module, provides a structure for future mobile ports
koda
parents:
3922
diff
changeset
|
448 |
{$ENDIF} |
753 | 449 |
begin |
3405 | 450 |
|
2697 | 451 |
{$IFDEF IPHONEOS} |
3376 | 452 |
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0); // no double buffering |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
453 |
SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 1); |
3376 | 454 |
{$ELSE} |
455 |
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); |
|
3928
2560731c860d
move all mobile-related functions in their own module, provides a structure for future mobile ports
koda
parents:
3922
diff
changeset
|
456 |
vendor:= LowerCase(shortstring(pchar(glGetString(GL_VENDOR)))); |
3405 | 457 |
{$IFNDEF SDL13} |
458 |
// this attribute is default in 1.3 and must be enabled in MacOSX |
|
3670
4c673e57f0d7
use llvm to compile, don't preview map on wimpier devices, merge vsync, fix iphone launch image
koda
parents:
3663
diff
changeset
|
459 |
if (cReducedQuality and rqDesyncVBlank) <> 0 then |
4c673e57f0d7
use llvm to compile, don't preview map on wimpier devices, merge vsync, fix iphone launch image
koda
parents:
3663
diff
changeset
|
460 |
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0) |
4c673e57f0d7
use llvm to compile, don't preview map on wimpier devices, merge vsync, fix iphone launch image
koda
parents:
3663
diff
changeset
|
461 |
else |
3405 | 462 |
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); |
463 |
{$IFDEF DARWIN} |
|
464 |
// fixes vsync in Snow Leopard |
|
3670
4c673e57f0d7
use llvm to compile, don't preview map on wimpier devices, merge vsync, fix iphone launch image
koda
parents:
3663
diff
changeset
|
465 |
one:= 1; |
3405 | 466 |
CGLSetParameter(CGLGetCurrentContext(), 222, @one); |
467 |
{$ENDIF} |
|
468 |
{$ENDIF} |
|
3376 | 469 |
{$ENDIF} |
470 |
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0); // no depth buffer |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
471 |
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
472 |
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 6); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
473 |
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5); |
3376 | 474 |
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0); // no alpha channel required |
475 |
SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 16); // buffer has to be 16 bit only |
|
476 |
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); // try to prefer hardware rendering |
|
2697 | 477 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
478 |
glGetIntegerv(GL_MAX_TEXTURE_SIZE, @MaxTextureSize); |
2697 | 479 |
|
480 |
{$IFDEF DEBUGFILE} |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
481 |
AddFileLog('OpenGL-- Renderer: ' + shortstring(pchar(glGetString(GL_RENDERER)))); |
3757 | 482 |
AddFileLog(' |----- Vendor: ' + shortstring(pchar(glGetString(GL_VENDOR)))); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
483 |
AddFileLog(' |----- Version: ' + shortstring(pchar(glGetString(GL_VERSION)))); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
484 |
AddFileLog(' \----- GL_MAX_TEXTURE_SIZE: ' + inttostr(MaxTextureSize)); |
2153 | 485 |
{$ENDIF} |
2252 | 486 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
487 |
if MaxTextureSize <= 0 then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
488 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
489 |
MaxTextureSize:= 1024; |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
490 |
{$IFDEF DEBUGFILE} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
491 |
AddFileLog('OpenGL Warning - driver didn''t provide any valid max texture size; assuming 1024'); |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
492 |
{$ENDIF} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
493 |
end; |
2568
e654cbfb23ba
Bunch of neat stuff by Smaxx. ATI check, translucent name tags to reduce terrain fail, disabling health crates on invulnerable hogs. Also tweaks to prior stuff.
nemo
parents:
2567
diff
changeset
|
494 |
|
3695
c11abf387a7d
reverted stereo craziness - the experimental3D branch has been created for a reason
koda
parents:
3691
diff
changeset
|
495 |
{$IFNDEF IPHONEOS} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
496 |
if StrPos(Str2PChar(vendor), Str2PChar('nvidia')) <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
497 |
cGPUVendor:= gvNVIDIA |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
498 |
else if StrPos(Str2PChar(vendor), Str2PChar('intel')) <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
499 |
cGPUVendor:= gvATI |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
500 |
else if StrPos(Str2PChar(vendor), Str2PChar('ati')) <> nil then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
501 |
cGPUVendor:= gvIntel; |
2647 | 502 |
//SupportNPOTT:= glLoadExtension('GL_ARB_texture_non_power_of_two'); |
3695
c11abf387a7d
reverted stereo craziness - the experimental3D branch has been created for a reason
koda
parents:
3691
diff
changeset
|
503 |
{$ELSE} |
c11abf387a7d
reverted stereo craziness - the experimental3D branch has been created for a reason
koda
parents:
3691
diff
changeset
|
504 |
cGPUVendor:= gvApple; |
2735 | 505 |
{$ENDIF} |
506 |
||
507 |
{$IFDEF DEBUGFILE} |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
508 |
if cGPUVendor = gvUnknown then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
509 |
AddFileLog('OpenGL Warning - unknown hardware vendor; please report'); |
2735 | 510 |
{$ELSE} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
511 |
// just avoid 'never used' compiler warning for now |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
512 |
if cGPUVendor = gvUnknown then cGPUVendor:= gvUnknown; |
2428 | 513 |
{$ENDIF} |
514 |
||
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
515 |
// set view port to whole window |
3940
cc29628976cc
some optimizations to drawing and fetching data of new ammomenu
koda
parents:
3939
diff
changeset
|
516 |
if (rotationQt = 0) or (rotationQt = 180) then |
3922
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
517 |
glViewport(0, 0, cScreenWidth, cScreenHeight) |
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
518 |
else |
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
519 |
glViewport(0, 0, cScreenHeight, cScreenWidth); |
2428 | 520 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
521 |
glMatrixMode(GL_MODELVIEW); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
522 |
// prepare default translation/scaling |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
523 |
glLoadIdentity(); |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
524 |
glRotatef(rotationQt, 0, 0, 1); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
525 |
glScalef(2.0 / cScreenWidth, -2.0 / cScreenHeight, 1.0); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
526 |
glTranslatef(0, -cScreenHeight / 2, 0); |
2428 | 527 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
528 |
// enable alpha blending |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
529 |
glEnable(GL_BLEND); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
530 |
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
3376 | 531 |
// disable/lower perspective correction (won't need it anyway) |
532 |
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); |
|
533 |
// disable dithering |
|
534 |
glDisable(GL_DITHER); |
|
3641 | 535 |
// enable common states by default as they save a lot |
3376 | 536 |
glEnable(GL_TEXTURE_2D); |
3697 | 537 |
glEnableClientState(GL_VERTEX_ARRAY); |
538 |
glEnableClientState(GL_TEXTURE_COORD_ARRAY); |
|
4 | 539 |
end; |
540 |
||
2161
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
541 |
procedure SetScale(f: GLfloat); |
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
542 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
543 |
// leave immediately if scale factor did not change |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
544 |
if f = cScaleFactor then exit; |
2161
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
545 |
|
3523 | 546 |
if f = cDefaultZoomLevel then |
547 |
glPopMatrix // "return" to default scaling |
|
548 |
else // other scaling |
|
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
549 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
550 |
glPushMatrix; // save default scaling |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
551 |
glLoadIdentity; |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
552 |
glRotatef(rotationQt, 0, 0, 1); |
3922
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
553 |
glScalef(f / cScreenWidth, -f / cScreenHeight, 1.0); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
554 |
glTranslatef(0, -cScreenHeight / 2, 0); |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
555 |
end; |
2258 | 556 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
557 |
cScaleFactor:= f; |
2161
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
558 |
end; |
0c8634241fa4
Some work on zooming. Hedgewars are now unplayable.
unc0rr
parents:
2154
diff
changeset
|
559 |
|
510 | 560 |
//////////////////////////////////////////////////////////////////////////////// |
561 |
procedure AddProgress; |
|
562 |
var r: TSDL_Rect; |
|
766 | 563 |
texsurf: PSDL_Surface; |
510 | 564 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
565 |
if Step = 0 then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
566 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
567 |
WriteToConsole(msgLoading + 'progress sprite: '); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
568 |
texsurf:= LoadImage(Pathz[ptGraphics] + '/Progress', ifCritical or ifTransparent); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
569 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
570 |
ProgrTex:= Surface2Tex(texsurf, false); |
3697 | 571 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
572 |
squaresize:= texsurf^.w shr 1; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
573 |
numsquares:= texsurf^.h div squaresize; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
574 |
SDL_FreeSurface(texsurf); |
3928
2560731c860d
move all mobile-related functions in their own module, provides a structure for future mobile ports
koda
parents:
3922
diff
changeset
|
575 |
|
3935 | 576 |
perfExt_AddProgress(); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
577 |
end; |
1045 | 578 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
579 |
TryDo(ProgrTex <> nil, 'Error - Progress Texure is nil!', true); |
2284 | 580 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
581 |
glClear(GL_COLOR_BUFFER_BIT); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
582 |
if Step < numsquares then r.x:= 0 |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
583 |
else r.x:= squaresize; |
3697 | 584 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
585 |
r.y:= (Step mod numsquares) * squaresize; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
586 |
r.w:= squaresize; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
587 |
r.h:= squaresize; |
3697 | 588 |
|
3922
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
589 |
DrawFromRect( -squaresize div 2, (cScreenHeight - squaresize) shr 1, @r, ProgrTex); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
590 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
591 |
SDL_GL_SwapBuffers(); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
592 |
{$IFDEF SDL13} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
593 |
SDL_RenderPresent(); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
594 |
{$ENDIF} |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
595 |
inc(Step); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
596 |
|
510 | 597 |
end; |
598 |
||
599 |
procedure FinishProgress; |
|
600 |
begin |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
601 |
WriteLnToConsole('Freeing progress surface... '); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
602 |
FreeTexture(ProgrTex); |
3935 | 603 |
perfExt_FinishProgress(); |
510 | 604 |
end; |
605 |
||
2905 | 606 |
function RenderHelpWindow(caption, subcaption, description, extra: ansistring; extracolor: LongInt; iconsurf: PSDL_Surface; iconrect: PSDL_Rect): PTexture; |
2747 | 607 |
var tmpsurf: PSDL_SURFACE; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
608 |
w, h, i, j: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
609 |
font: THWFont; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
610 |
r, r2: TSDL_Rect; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
611 |
wa, ha: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
612 |
tmpline, tmpline2, tmpdesc: ansistring; |
2747 | 613 |
begin |
2843 | 614 |
// make sure there is a caption as well as a sub caption - description is optional |
615 |
if caption = '' then caption:= '???'; |
|
616 |
if subcaption = '' then subcaption:= ' '; |
|
617 |
||
2841 | 618 |
font:= CheckCJKFont(caption,fnt16); |
619 |
font:= CheckCJKFont(subcaption,font); |
|
620 |
font:= CheckCJKFont(description,font); |
|
621 |
font:= CheckCJKFont(extra,font); |
|
2747 | 622 |
|
623 |
w:= 0; |
|
624 |
h:= 0; |
|
625 |
wa:= FontBorder * 2 + 4; |
|
626 |
ha:= FontBorder * 2; |
|
627 |
||
3407 | 628 |
i:= 0; j:= 0; // avoid compiler hints |
629 |
||
2747 | 630 |
// TODO: Recheck height/position calculation |
631 |
||
632 |
// get caption's dimensions |
|
633 |
TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(caption), i, j); |
|
634 |
// width adds 36 px (image + space) |
|
635 |
w:= i + 36 + wa; |
|
636 |
h:= j + ha; |
|
637 |
||
638 |
// get sub caption's dimensions |
|
639 |
TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(subcaption), i, j); |
|
640 |
// width adds 36 px (image + space) |
|
641 |
if w < (i + 36 + wa) then w:= i + 36 + wa; |
|
642 |
inc(h, j + ha); |
|
643 |
||
644 |
// get description's dimensions |
|
645 |
tmpdesc:= description; |
|
646 |
while tmpdesc <> '' do |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
647 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
648 |
tmpline:= tmpdesc; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
649 |
SplitByChar(tmpline, tmpdesc, '|'); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
650 |
if tmpline <> '' then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
651 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
652 |
TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(tmpline), i, j); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
653 |
if w < (i + wa) then w:= i + wa; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
654 |
inc(h, j + ha) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
655 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
656 |
end; |
2747 | 657 |
|
658 |
if extra <> '' then |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
659 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
660 |
// get extra label's dimensions |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
661 |
TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(extra), i, j); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
662 |
if w < (i + wa) then w:= i + wa; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
663 |
inc(h, j + ha); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
664 |
end; |
3697 | 665 |
|
2747 | 666 |
// add borders space |
667 |
inc(w, wa); |
|
668 |
inc(h, ha + 8); |
|
669 |
||
670 |
tmpsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32, RMask, GMask, BMask, AMask); |
|
671 |
TryDo(tmpsurf <> nil, 'RenderHelpWindow: fail to create surface', true); |
|
672 |
||
673 |
// render border and background |
|
674 |
r.x:= 0; |
|
675 |
r.y:= 0; |
|
676 |
r.w:= w; |
|
677 |
r.h:= h; |
|
678 |
DrawRoundRect(@r, cWhiteColor, cNearBlackColor, tmpsurf, true); |
|
679 |
||
680 |
// render caption |
|
681 |
r:= WriteInRect(tmpsurf, 36 + FontBorder + 2, ha, $ffffffff, font, caption); |
|
682 |
// render sub caption |
|
683 |
r:= WriteInRect(tmpsurf, 36 + FontBorder + 2, r.y + r.h, $ffc7c7c7, font, subcaption); |
|
684 |
||
685 |
// render all description lines |
|
686 |
tmpdesc:= description; |
|
687 |
while tmpdesc <> '' do |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
688 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
689 |
tmpline:= tmpdesc; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
690 |
SplitByChar(tmpline, tmpdesc, '|'); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
691 |
r2:= r; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
692 |
if tmpline <> '' then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
693 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
694 |
r:= WriteInRect(tmpsurf, FontBorder + 2, r.y + r.h, $ff707070, font, tmpline); |
3697 | 695 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
696 |
// render highlighted caption (if there's a ':') |
3407 | 697 |
tmpline2:= ''; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
698 |
SplitByChar(tmpline, tmpline2, ':'); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
699 |
if tmpline2 <> '' then |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
700 |
WriteInRect(tmpsurf, FontBorder + 2, r2.y + r2.h, $ffc7c7c7, font, tmpline + ':'); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
701 |
end |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
702 |
end; |
2747 | 703 |
|
704 |
if extra <> '' then |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
705 |
r:= WriteInRect(tmpsurf, FontBorder + 2, r.y + r.h, extracolor, font, extra); |
2747 | 706 |
|
707 |
r.x:= FontBorder + 6; |
|
708 |
r.y:= FontBorder + 4; |
|
709 |
r.w:= 32; |
|
710 |
r.h:= 32; |
|
711 |
SDL_FillRect(tmpsurf, @r, $ffffffff); |
|
712 |
SDL_UpperBlit(iconsurf, iconrect, tmpsurf, @r); |
|
3697 | 713 |
|
2747 | 714 |
RenderHelpWindow:= Surface2Tex(tmpsurf, true); |
715 |
SDL_FreeSurface(tmpsurf) |
|
716 |
end; |
|
717 |
||
718 |
procedure RenderWeaponTooltip(atype: TAmmoType); |
|
719 |
var r: TSDL_Rect; |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
720 |
i: LongInt; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
721 |
extra: ansistring; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
722 |
extracolor: LongInt; |
2747 | 723 |
begin |
3634 | 724 |
// don't do anything if the window shouldn't be shown |
725 |
if (cReducedQuality and rqTooltipsOff) <> 0 then |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
726 |
begin |
3634 | 727 |
WeaponTooltipTex:= nil; |
728 |
exit |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
729 |
end; |
2747 | 730 |
|
731 |
// free old texture |
|
732 |
FreeWeaponTooltip; |
|
733 |
||
734 |
// image region |
|
735 |
i:= LongInt(atype) - 1; |
|
3853 | 736 |
r.x:= (i shr 4) * 32; |
737 |
r.y:= (i mod 16) * 32; |
|
2747 | 738 |
r.w:= 32; |
739 |
r.h:= 32; |
|
740 |
||
741 |
// default (no extra text) |
|
742 |
extra:= ''; |
|
743 |
extracolor:= 0; |
|
744 |
||
745 |
if (CurrentTeam <> nil) and (Ammoz[atype].SkipTurns >= CurrentTeam^.Clan^.TurnNumber) then // weapon or utility is not yet available |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
746 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
747 |
extra:= trmsg[sidNotYetAvailable]; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
748 |
extracolor:= LongInt($ffc77070); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
749 |
end |
4241
835fd7a0e1bf
Move resurrection to utilities, reduce its probablit a bit to match other utilities, rename the "hint" prop since it really isn't being used as a hint anymore. That can be put back if it changes.
nemo
parents:
4222
diff
changeset
|
750 |
else if (Ammoz[atype].Ammo.Propz and ammoprop_NoRoundEnd) <> 0 then // weapon or utility won't end your turn |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
751 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
752 |
extra:= trmsg[sidNoEndTurn]; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
753 |
extracolor:= LongInt($ff70c770); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
754 |
end |
3697 | 755 |
else |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
756 |
begin |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
757 |
extra:= ''; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
758 |
extracolor:= 0; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
759 |
end; |
2747 | 760 |
|
761 |
// render window and return the texture |
|
762 |
WeaponTooltipTex:= RenderHelpWindow(trammo[Ammoz[atype].NameId], trammoc[Ammoz[atype].NameId], trammod[Ammoz[atype].NameId], extra, extracolor, SpritesData[sprAMAmmos].Surface, @r) |
|
2753 | 763 |
end; |
2747 | 764 |
|
765 |
procedure ShowWeaponTooltip(x, y: LongInt); |
|
766 |
begin |
|
767 |
// draw the texture if it exists |
|
768 |
if WeaponTooltipTex <> nil then |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
769 |
DrawTexture(x, y, WeaponTooltipTex) |
2747 | 770 |
end; |
771 |
||
772 |
procedure FreeWeaponTooltip; |
|
773 |
begin |
|
774 |
// free the existing texture (if there's any) |
|
775 |
if WeaponTooltipTex = nil then |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2910
diff
changeset
|
776 |
exit; |
2747 | 777 |
FreeTexture(WeaponTooltipTex); |
778 |
WeaponTooltipTex:= nil |
|
779 |
end; |
|
780 |
||
3038 | 781 |
procedure initModule; |
2699
249adefa9c1c
replace initialization/finalization statements with custom init functions
koda
parents:
2698
diff
changeset
|
782 |
begin |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
783 |
PixelFormat:= nil; |
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
784 |
SDLPrimSurface:= nil; |
3922
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
785 |
|
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3906
diff
changeset
|
786 |
{$IFNDEF IPHONEOS} |
3626 | 787 |
rotationQt:= 0; |
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
788 |
cGPUVendor:= gvUnknown; |
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
789 |
{$ENDIF} |
3697 | 790 |
|
3394
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
791 |
cScaleFactor:= 2.0; |
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
792 |
SupportNPOTT:= false; |
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
793 |
Step:= 0; |
47b51e22e670
Henek's patch - adds a column to ammoMenu and removes the F* column in iphone version
koda
parents:
3390
diff
changeset
|
794 |
ProgrTex:= nil; |
2699
249adefa9c1c
replace initialization/finalization statements with custom init functions
koda
parents:
2698
diff
changeset
|
795 |
end; |
249adefa9c1c
replace initialization/finalization statements with custom init functions
koda
parents:
2698
diff
changeset
|
796 |
|
3038 | 797 |
procedure freeModule; |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
798 |
begin |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
799 |
end; |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2705
diff
changeset
|
800 |
|
4 | 801 |
end. |