equal
deleted
inserted
replaced
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 |