hedgewars/uGearsUtils.pas
changeset 15178 d3998dcc076f
parent 15150 c383ebdd61b9
child 15181 d13a38548112
equal deleted inserted replaced
15177:a22013a817e4 15178:d3998dcc076f
  1761         WorldWrap:= true;
  1761         WorldWrap:= true;
  1762         end
  1762         end
  1763     else if WorldEdge = weBounce then
  1763     else if WorldEdge = weBounce then
  1764         begin
  1764         begin
  1765         bounced:= false;
  1765         bounced:= false;
  1766         if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX))) then
  1766         if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (((hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX))) or (Gear^.Kind = gtHedgehog)) then
  1767             begin
  1767             begin
  1768             LeftImpactTimer:= 333;
  1768             LeftImpactTimer:= 333;
  1769             Gear^.dX.isNegative:= false;
  1769             Gear^.dX.isNegative:= false;
  1770             Gear^.X:= int2hwfloat(leftX + Gear^.Radius);
  1770             Gear^.X:= int2hwfloat(leftX + Gear^.Radius);
  1771             bounced:= true;
  1771             bounced:= true;
  1772             end
  1772             end
  1773         else if (hwRound(Gear^.X) - Gear^.Radius > rightX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX))) then
  1773         else if (hwRound(Gear^.X) + Gear^.Radius > rightX) and (((hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX))) or (Gear^.Kind = gtHedgehog)) then
  1774             begin
  1774             begin
  1775             RightImpactTimer:= 333;
  1775             RightImpactTimer:= 333;
  1776             Gear^.dX.isNegative:= true;
  1776             Gear^.dX.isNegative:= true;
  1777             Gear^.X:= int2hwfloat(rightX-Gear^.Radius);
  1777             Gear^.X:= int2hwfloat(rightX-Gear^.Radius);
  1778             bounced:= true;
  1778             bounced:= true;