# HG changeset patch # User nemo # Date 1267757472 0 # Node ID 451f917ac46cfaa02af17aebb81f4db0b98e1839 # Parent da06c25edf1d25ad84a635e3ad6e66166315690f ok. I think I'm finally done burning revisions diff -r da06c25edf1d -r 451f917ac46c hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Fri Mar 05 02:28:03 2010 +0000 +++ b/hedgewars/GSHandlers.inc Fri Mar 05 02:51:12 2010 +0000 @@ -1264,8 +1264,7 @@ V:= hwSqr(Gear^.dX) + hwSqr(Gear^.dY); //if V > _0_03 then Gear^.State:= Gear^.State or gstAnimation; if hwAbs(Gear^.dX) > _0_15 then Gear^.State:= Gear^.State or gstAnimation; - if ((Gear^.State and gstAnimation) = 0) or (hwAbs(Gear^.dX) < _0_001) then Gear^.dX:= _0; - if ((Gear^.State and gstAnimation) <> 0) and (Gear^.dX.QWordValue <> 0) and (Gear^.dY.QWordValue <> 0) then + if ((Gear^.State and gstAnimation) <> 0) and ((Gear^.dX.QWordValue <> 0) or (Gear^.dY.QWordValue <> 0)) then begin AllInactive:= false; doStepFallingGear(Gear); @@ -1279,6 +1278,7 @@ if Gear^.Health <= 0 then exBoom:= true; end; +if ((Gear^.State and gstAnimation) = 0) or (hwAbs(Gear^.dX) < _0_001) then Gear^.dX:= _0; if (Gear^.Damage > 0) or exBoom then begin @@ -1315,7 +1315,7 @@ Gear^.Y:= Gear^.Y + Gear^.dY; if (Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, -1) then Gear^.dY:= _0 end; - if Gear^.dY < _0_001 then SetAllHHToActive; + if (not Gear^.dY.isNegative) and (Gear^.dY > _0_001) then SetAllHHToActive; if (not Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, 1) then begin if (V > _0_02) and (k = gtExplosives) and ((Gear^.State and gstAnimation) <> 0) then @@ -1332,8 +1332,8 @@ CheckGearDrowning(Gear); end; -if (Gear^.dY.QWordValue = 0) then AddGearCI(Gear) - else if (Gear^.dY.QWordValue <> 0) then DeleteCI(Gear) +if (Gear^.dX.QWordValue = 0) and (Gear^.dY.QWordValue = 0) then AddGearCI(Gear) + else DeleteCI(Gear) end; //////////////////////////////////////////////////////////////////////////////// diff -r da06c25edf1d -r 451f917ac46c hedgewars/uGears.pas --- a/hedgewars/uGears.pas Fri Mar 05 02:28:03 2010 +0000 +++ b/hedgewars/uGears.pas Fri Mar 05 02:51:12 2010 +0000 @@ -329,7 +329,7 @@ gtExplosives: begin gear^.Radius:= 16; gear^.Elasticity:= _0_4; - gear^.Friction:= _0_999; + gear^.Friction:= _0_995; gear^.Health:= cBarrelHealth end; gtDEagleShot: begin