diff -r d24257910f8d -r aaefa587e277 hedgewars/VGSHandlers.inc --- a/hedgewars/VGSHandlers.inc Sun Dec 02 00:03:16 2012 +0100 +++ b/hedgewars/VGSHandlers.inc Tue Dec 25 04:45:22 2012 +0100 @@ -60,8 +60,8 @@ else if Angle < - 360 then Angle:= Angle + 360; - - + + if (round(X) >= cLeftScreenBorder) and (round(X) <= cRightScreenBorder) and (round(Y) - 75 <= LAND_HEIGHT) @@ -644,10 +644,10 @@ begin gX:= round(Gear^.X); gY:= round(Gear^.Y); -for i:= 0 to 31 do +for i:= 0 to 31 do begin vg:= AddVisualGear(gX, gY, vgtFire); - if vg <> nil then + if vg <> nil then begin vg^.State:= gstTmpFlag; inc(vg^.FrameTicks, vg^.FrameTicks) @@ -688,10 +688,10 @@ gX:= round(Gear^.X); gY:= round(Gear^.Y); AddVisualGear(gX, gY, vgtSmokeRing); -for i:= 0 to 46 do +for i:= 0 to 46 do begin vg:= AddVisualGear(gX, gY, vgtFire); - if vg <> nil then + if vg <> nil then begin vg^.State:= gstTmpFlag; inc(vg^.FrameTicks, vg^.FrameTicks) @@ -704,7 +704,9 @@ Gear^.doStep:= @doStepBigExplosionWork; if Steps > 1 then Gear^.doStep(Gear, Steps-1); -performRumble(); +with mobileRecord do + if (performRumble <> nil) and (not fastUntilLag) then + performRumble(kSystemSoundID_Vibrate); end; procedure doStepChunk(Gear: PVisualGear; Steps: Longword); @@ -766,7 +768,7 @@ procedure doStepSmoothWindBar(Gear: PVisualGear; Steps: Longword); begin inc(Gear^.Timer, Steps); - + while Gear^.Timer >= 10 do begin dec(Gear^.Timer, 10); @@ -785,8 +787,8 @@ cWindspeedf := cWindspeedf + Gear^.Angle*Steps; if cWindspeedf > Gear^.dAngle then cWindspeedf:= Gear^.dAngle; end; - -if (WindBarWidth = Gear^.Tag) and (cWindspeedf = Gear^.dAngle) then + +if (WindBarWidth = Gear^.Tag) and (cWindspeedf = Gear^.dAngle) then DeleteVisualGear(Gear) end; //////////////////////////////////////////////////////////////////////////////// @@ -800,7 +802,7 @@ else begin dec(Gear^.FrameTicks, Steps); - if (Gear^.FrameTicks < 501) and (Gear^.FrameTicks mod 5 = 0) then + if (Gear^.FrameTicks < 501) and (Gear^.FrameTicks mod 5 = 0) then Gear^.Tint:= (Gear^.Tint and $FFFFFF00) or (((Gear^.Tint and $000000FF) * Gear^.FrameTicks) div 500) end end;