211 begin |
211 begin |
212 {$IFDEF USE_TOUCH_INTERFACE} |
212 {$IFDEF USE_TOUCH_INTERFACE} |
213 //positioning of the buttons |
213 //positioning of the buttons |
214 buttonScale:= 1.5/cDefaultZoomLevel; |
214 buttonScale:= 1.5/cDefaultZoomLevel; |
215 |
215 |
216 //TODO: add sensible hOffset and vOffset values |
216 with firebutton do |
217 firebutton.x:= (cScreenWidth shr 1) - Round(spritesData[sprFireButton].Texture^.h * buttonScale); |
217 begin |
218 firebutton.y:= -Round(spritesData[sprFireButton].Texture^.h* buttonScale) + cScreenHeight; |
218 show:= true; |
219 firebutton.width:= Round(spritesData[sprFireButton].Texture^.w * buttonScale); |
219 sprite:= sprFireButton; |
220 firebutton.height:= Round(spritesData[sprFireButton].Texture^.h * buttonScale); |
220 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
221 firebutton.hOffset:= 0; |
221 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
222 firebutton.vOffset:= 0; |
222 frame.x:= (cScreenWidth shr 1) - frame.w; |
223 firebutton.sprite:= sprFireButton; |
223 frame.y:= cScreenHeight - frame.h; |
224 firebutton.show:= true; |
224 active:= frame; |
225 |
225 end; |
226 backjump.x:= (cScreenWidth shr 1) - Round(spritesData[sprbackjump].Texture^.h * 2 * buttonScale); |
226 |
227 backjump.y:= -Round(spritesData[sprbackjump].Texture^.h * 1.2 * buttonScale) + cScreenHeight; |
227 with backjump do |
228 backjump.width:= Round(spritesData[sprbackjump].Texture^.w * buttonScale); |
228 begin |
229 backjump.height:= Round(spritesData[sprbackjump].Texture^.h * buttonScale); |
229 show:= true; |
230 backjump.hOffset:= 0; |
230 sprite:= sprbackjump; |
231 backjump.vOffset:= 0; |
231 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
232 backjump.sprite:= sprbackjump; |
232 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
233 backjump.show:= true; |
233 frame.x:= (cScreenWidth shr 1) - frame.w * 2; |
234 |
234 frame.y:= cScreenHeight - Round(frame.h * 1.2); |
235 forwardjump.x:= (cScreenWidth shr 1) - Round(spritesData[sprforwardjump].Texture^.h * 1.2 * buttonScale); |
235 active:= frame; |
236 forwardjump.y:= -Round(spritesData[sprforwardjump].Texture^.h * 2 * buttonScale) + cScreenHeight; |
236 end; |
237 forwardjump.width:= Round(spritesData[sprforwardjump].Texture^.w * buttonScale); |
237 |
238 forwardjump.height:= Round(spritesData[sprforwardjump].Texture^.h * buttonScale); |
238 with forwardjump do |
239 forwardjump.hOffset:= 0; |
239 begin |
240 forwardjump.vOffset:= 0; |
240 show:= true; |
241 forwardjump.sprite:= sprforwardjump; |
241 sprite:= sprforwardjump; |
242 forwardjump.show:= true; |
242 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
|
243 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
|
244 frame.x:= (cScreenWidth shr 1) - Round(frame.w * 1.2); |
|
245 frame.y:= cScreenHeight - frame.h * 2; |
|
246 active:= frame; |
|
247 end; |
243 |
248 |
244 with arrowLeft do |
249 with arrowLeft do |
245 begin |
250 begin |
246 show:= true; |
251 show:= true; |
247 sprite:= sprArrowLeft; |
252 sprite:= sprArrowLeft; |
248 x:= -(cScreenWidth shr 1) + Round(spritesData[sprite].Texture^.h*buttonScale * 0.25); |
253 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
249 y:= -Round(spritesData[sprite].Texture^.h*buttonScale) + cScreenHeight - Round(spritesData[sprite].Texture^.h*buttonScale *0.5); |
254 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
250 width:= Round(spritesData[sprite].Texture^.h * buttonScale); |
255 frame.x:= -(cScreenWidth shr 1) + Round(frame.w * 0.25); |
251 height:= Round(spritesData[sprite].Texture^.h * buttonScale); |
256 frame.y:= cScreenHeight - Round(frame.h * 1.5); |
252 hOffset:= 0; |
257 active:= frame; |
253 vOffset:= 0; |
258 end; |
254 end; |
259 |
255 with arrowRight do |
260 with arrowRight do |
256 begin |
261 begin |
257 show:= true; |
262 show:= true; |
258 sprite:= sprArrowRight; |
263 sprite:= sprArrowRight; |
259 x:= -(cScreenWidth shr 1) + Round(spritesData[sprite].Texture^.h * buttonScale *1.5); |
264 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
260 y:= -Round(spritesData[sprite].Texture^.h*buttonScale) + cScreenHeight - Round(spritesData[sprite].Texture^.h*buttonScale * 0.5); |
265 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
261 width:= Round(spritesData[sprite].Texture^.w * buttonScale); |
266 frame.x:= -(cScreenWidth shr 1) + Round(frame.w * 1.5); |
262 height:= Round(spritesData[sprite].Texture^.h * buttonScale); |
267 frame.y:= cScreenHeight - Round(frame.h * 1.5); |
263 hOffset:= 0; |
268 active:= frame; |
264 vOffset:= 0; |
|
265 end; |
269 end; |
266 |
270 |
267 with arrowUp do |
271 with arrowUp do |
268 begin |
272 begin |
269 show:= false; |
273 show:= false; |
270 sprite:= sprArrowUp; |
274 sprite:= sprArrowUp; |
271 x:= (cScreenWidth shr 1) - Round(spritesData[sprite].Texture^.w * buttonScale *2); |
275 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
272 y:= backjump.y -Round(spritesData[sprite].Texture^.h * buttonScale*2.25); |
276 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
273 width:= Round(spritesData[sprite].Texture^.w * buttonScale); |
277 frame.x:= (cScreenWidth shr 1) - frame.w * 2; |
274 height:= Round(spritesData[sprite].Texture^.h * buttonScale); |
278 frame.y:= backjump.frame.y - Round(frame.h * 2.25); |
275 hOffset:= 0; |
279 active:= frame; |
276 vOffset:= 0; |
|
277 with moveAnim do |
280 with moveAnim do |
278 begin |
281 begin |
279 targetToX:= arrowUp.x; |
282 target.x:= frame.x; |
280 targetToY:= arrowUp.y; |
283 target.y:= frame.y; |
281 targetFromX:= arrowUp.x - Round(spritesData[sprite].Texture^.w * buttonScale *0.75); |
284 source.x:= frame.x - Round(frame.w * 0.75); |
282 targetFromY:= arrowUp.y; |
285 source.y:= frame.y; |
283 end; |
286 end; |
284 end; |
287 end; |
285 |
288 |
286 with arrowDown do |
289 with arrowDown do |
287 begin |
290 begin |
288 show:= false; |
291 show:= false; |
289 sprite:= sprArrowDown; |
292 sprite:= sprArrowDown; |
290 x:= (cScreenWidth shr 1) - Round(spritesData[sprite].Texture^.w * buttonScale * 2); |
293 frame.w:= Round(spritesData[sprite].Texture^.w * buttonScale); |
291 y:= backjump.y -Round(spritesData[sprite].Texture^.h * buttonScale *2.25); |
294 frame.h:= Round(spritesData[sprite].Texture^.h * buttonScale); |
292 width:= Round(spritesData[sprite].Texture^.w * buttonScale); |
295 frame.x:= (cScreenWidth shr 1) - frame.w * 2; |
293 height:= Round(spritesData[sprite].Texture^.h * buttonScale); |
296 frame.y:= backjump.frame.y - Round(frame.h * 2.25); |
294 hOffset:= 0; |
297 active:= frame; |
295 vOffset:= 0; |
|
296 with moveAnim do |
298 with moveAnim do |
297 begin |
299 begin |
298 targetToX:= arrowDown.x; |
300 target.x:= frame.x; |
299 targetToY:= arrowDown.y; |
301 target.y:= frame.y; |
300 targetFromX:= arrowDown.x + Round(spritesData[sprite].Texture^.w * buttonScale *0.75); |
302 source.x:= frame.x + Round(frame.w * 0.75); |
301 targetFromY:= arrowDown.y; |
303 source.y:= frame.y; |
302 end; |
304 end; |
303 end; |
305 end; |
304 |
306 |
305 pauseButton.x:= cScreenWidth div 2 - Round(spritesData[sprPauseButton].Texture^.w * buttonscale); |
307 with pauseButton do |
306 pauseButton.y:= 0; //-Round(spritesData[sprPauseButton].Texture^.h * buttonscale); |
308 begin |
307 pauseButton.width:= Round(spritesData[sprPauseButton].Texture^.w * buttonScale);; |
309 show:= true; |
308 pauseButton.height:= Round(spritesData[sprPauseButton].Texture^.h * buttonScale);; |
310 sprite:= sprPauseButton; |
309 pauseButton.hOffset:= 0; |
311 frame.w:= Round(spritesData[sprPauseButton].Texture^.w * buttonScale); |
310 pauseButton.vOffset:= 0; |
312 frame.h:= Round(spritesData[sprPauseButton].Texture^.h * buttonScale); |
311 pauseButton.sprite:= sprPauseButton; |
313 frame.x:= cScreenWidth div 2 - frame.w; |
312 pauseButton.show:= true; |
314 frame.y:= 0; |
|
315 active:= frame; |
|
316 end; |
313 |
317 |
314 {$ENDIF} |
318 {$ENDIF} |
315 end; |
319 end; |
316 |
320 |
317 // for uStore texture resetting |
321 // for uStore texture resetting |
1185 |
1189 |
1186 DrawScreenWidget(@fireButton); |
1190 DrawScreenWidget(@fireButton); |
1187 DrawScreenWidget(@backjump); |
1191 DrawScreenWidget(@backjump); |
1188 DrawScreenWidget(@forwardjump); |
1192 DrawScreenWidget(@forwardjump); |
1189 DrawScreenWidget(@pauseButton); |
1193 DrawScreenWidget(@pauseButton); |
1190 { |
1194 {$ENDIF} |
1191 DrawTexture(arrowLeft.x, arrowLeft.y, spritesData[sprArrowLeft].Texture, buttonScale); |
|
1192 DrawTexture(arrowRight.x, arrowRight.y, spritesData[sprArrowRight].Texture, buttonScale); |
|
1193 DrawTexture(arrowUp.x, arrowUp.y, spritesData[sprArrowUp].Texture, buttonScale); |
|
1194 DrawTexture(arrowDown.x, arrowDown.y, spritesData[sprArrowDown].Texture, buttonScale); |
|
1195 |
|
1196 DrawTexture(fireButton.x, firebutton.y, spritesData[sprFireButton].Texture, buttonScale); |
|
1197 DrawTexture(backjump.x, backjump.y, spritesData[sprBackjump].Texture, buttonScale); |
|
1198 DrawTexture(forwardjump.x, forwardjump.y, spritesData[sprForwardjump].Texture, buttonScale); |
|
1199 DrawTexture(pauseButton.x, pauseButton.y, spritesData[sprPauseButton].Texture, buttonScale); |
|
1200 }{$ENDIF} |
|
1201 |
1195 |
1202 // Teams Healths |
1196 // Teams Healths |
1203 if TeamsCount * 20 > Longword(cScreenHeight) div 7 then // take up less screen on small displays |
1197 if TeamsCount * 20 > Longword(cScreenHeight) div 7 then // take up less screen on small displays |
1204 begin |
1198 begin |
1205 SetScale(1.5); |
1199 SetScale(1.5); |