# HG changeset patch # User Wuzzy # Date 1560963062 -7200 # Node ID d3998dcc076f51eafbaa534d7fa204d7f1747cb5 # Parent a22013a817e4cce3bb64e611cfe03a852d7285b2 weBounce: Fix some weird bouncing behaviour diff -r a22013a817e4 -r d3998dcc076f hedgewars/uGearsUtils.pas --- a/hedgewars/uGearsUtils.pas Mon Jun 17 21:43:05 2019 +0200 +++ b/hedgewars/uGearsUtils.pas Wed Jun 19 18:51:02 2019 +0200 @@ -1763,14 +1763,14 @@ else if WorldEdge = weBounce then begin bounced:= false; - if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX))) then + if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (((hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX))) or (Gear^.Kind = gtHedgehog)) then begin LeftImpactTimer:= 333; Gear^.dX.isNegative:= false; Gear^.X:= int2hwfloat(leftX + Gear^.Radius); bounced:= true; end - else if (hwRound(Gear^.X) - Gear^.Radius > rightX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX))) then + else if (hwRound(Gear^.X) + Gear^.Radius > rightX) and (((hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX))) or (Gear^.Kind = gtHedgehog)) then begin RightImpactTimer:= 333; Gear^.dX.isNegative:= true;