hedgewars/uGearsHandlersMess.pas
changeset 10490 b30b8d39d662
parent 10411 ee4e6d392b31
child 10494 0eb97cf4c78e
equal deleted inserted replaced
10489:bde3e43d7b27 10490:b30b8d39d662
  1826 var
  1826 var
  1827     i: LongInt;
  1827     i: LongInt;
  1828     particle: PVisualGear;
  1828     particle: PVisualGear;
  1829     dxdy: hwFloat;
  1829     dxdy: hwFloat;
  1830 begin
  1830 begin
  1831     if (Gear^.dY.QWordValue = 0) and (Gear^.dY.QWordValue = 0) and (TestCollisionYwithGear(Gear, 1) = 0) then
  1831     if (Gear^.dX.QWordValue = 0) and (Gear^.dY.QWordValue = 0) and (TestCollisionYwithGear(Gear, 1) = 0) then
  1832         SetLittle(Gear^.dY);
  1832         SetLittle(Gear^.dY);
  1833     Gear^.State := Gear^.State or gstAnimation;
  1833     Gear^.State := Gear^.State or gstAnimation;
  1834     if Gear^.Health < cBarrelHealth then Gear^.State:= Gear^.State and (not gstFrozen);
  1834     if Gear^.Health < cBarrelHealth then Gear^.State:= Gear^.State and (not gstFrozen);
  1835 
  1835 
  1836     if ((Gear^.dX.QWordValue <> 0)
  1836     if ((Gear^.dX.QWordValue <> 0)
  4034         or (iterator^.X > Gear^.X + r)
  4034         or (iterator^.X > Gear^.X + r)
  4035         or (iterator^.Y < Gear^.Y - r)
  4035         or (iterator^.Y < Gear^.Y - r)
  4036         or (iterator^.Y > Gear^.Y + r) then
  4036         or (iterator^.Y > Gear^.Y + r) then
  4037             continue;
  4037             continue;
  4038 
  4038 
  4039         hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0)) or ((iterator^.State or gstMoving) = 0));
  4039         hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0)) or ((iterator^.State and gstMoving) = 0));
  4040 
  4040 
  4041         // in case the object is not moving, let's asume it's falling towards the portal
  4041         // in case the object is not moving, let's asume it's falling towards the portal
  4042         if not hasdxy then
  4042         if not hasdxy then
  4043             begin
  4043             begin
  4044             if Gear^.Y < iterator^.Y then
  4044             if Gear^.Y < iterator^.Y then