hedgewars/GSHandlers.inc
changeset 5340 6963e37f2dd2
parent 5336 174734adc06b
child 5342 1868c2dc0284
child 5355 9e0c51a882aa
equal deleted inserted replaced
5338:dbe8a4ea8521 5340:6963e37f2dd2
   623             inc(Timer);
   623             inc(Timer);
   624             if Timer = vobFramesCount then Timer:= 0
   624             if Timer = vobFramesCount then Timer:= 0
   625             end;
   625             end;
   626     // move back to cloud layer
   626     // move back to cloud layer
   627         if yy > cWaterLine then move:= true
   627         if yy > cWaterLine then move:= true
   628         else if ((yy and LAND_HEIGHT_MASK) <> 0) or ((xx and LAND_WIDTH_MASK) <> 0) then move:=true
   628         else if ((yy and LAND_HEIGHT_MASK) <> 0) or (xx > LAND_WIDTH + 512) or (xx < -512) then move:=true
   629         // Solid pixel encountered
   629         // Solid pixel encountered
   630         else if (Land[yy, xx] <> 0) then
   630         else if (Land[yy, xx] <> 0) then
   631             begin
   631             begin
   632             // If there's room below keep falling
   632             // If there's room below keep falling
   633             if (((yy-1) and LAND_HEIGHT_MASK) = 0) and (Land[yy-1, xx] = 0) then
   633             if (((yy-1) and LAND_HEIGHT_MASK) = 0) and (Land[yy-1, xx] = 0) then
  4532     dec(Gear^.Timer);
  4532     dec(Gear^.Timer);
  4533     Gear^.X:= Gear^.X + Gear^.dX;
  4533     Gear^.X:= Gear^.X + Gear^.dX;
  4534     Gear^.Y:= Gear^.Y + Gear^.dY;
  4534     Gear^.Y:= Gear^.Y + Gear^.dY;
  4535     Gear^.dX := Gear^.dX + cWindSpeed / 4;
  4535     Gear^.dX := Gear^.dX + cWindSpeed / 4;
  4536     Gear^.dY := Gear^.dY + cGravity / 100;
  4536     Gear^.dY := Gear^.dY + cGravity / 100;
  4537     if (GameTicks mod 250) = 0 then
  4537     if (GameTicks and $FF) = 0 then
  4538         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, Gear^.Hedgehog, EXPLDontDraw or EXPLNoGfx or EXPLNoDamage or EXPLDoNotTouchAny or EXPLPoisoned);
  4538         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, Gear^.Hedgehog, EXPLDontDraw or EXPLNoGfx or EXPLNoDamage or EXPLDoNotTouchAny or EXPLPoisoned);
  4539     AllInactive:= false;
  4539     AllInactive:= false;
  4540 end;
  4540 end;
  4541 
  4541 
  4542 ////////////////////////////////////////////////////////////////////////////////
  4542 ////////////////////////////////////////////////////////////////////////////////