hedgewars/GSHandlers.inc
changeset 4641 43d17e3b81de
parent 4637 0f22a53c4c1d
child 4642 d9e7d173e6a7
equal deleted inserted replaced
4640:bc30434ae156 4641:43d17e3b81de
  1239 
  1239 
  1240     if HHGear^.dY.isNegative and TestCollisionYwithGear(HHGear, -1) then HHGear^.dY := _0;
  1240     if HHGear^.dY.isNegative and TestCollisionYwithGear(HHGear, -1) then HHGear^.dY := _0;
  1241     HHGear^.X := HHGear^.X + HHGear^.dX;
  1241     HHGear^.X := HHGear^.X + HHGear^.dX;
  1242     HHGear^.Y := HHGear^.Y + HHGear^.dY;
  1242     HHGear^.Y := HHGear^.Y + HHGear^.dY;
  1243     HHGear^.dY := HHGear^.dY + cGravity;
  1243     HHGear^.dY := HHGear^.dY + cGravity;
  1244     if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2;
  1244     if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density;
  1245 
  1245 
  1246     if (Gear^.Message and gmAttack) <> 0 then
  1246     if (Gear^.Message and gmAttack) <> 0 then
  1247     begin
  1247     begin
  1248         Gear^.X := HHGear^.X;
  1248         Gear^.X := HHGear^.X;
  1249         Gear^.Y := HHGear^.Y;
  1249         Gear^.Y := HHGear^.Y;
  1305         if (Gear^.Message and gmRight <> 0) then HHGear^.dX := HHGear^.dX + _0_0002;
  1305         if (Gear^.Message and gmRight <> 0) then HHGear^.dX := HHGear^.dX + _0_0002;
  1306 
  1306 
  1307     if not TestCollisionYwithGear(HHGear, 1) then
  1307     if not TestCollisionYwithGear(HHGear, 1) then
  1308         begin
  1308         begin
  1309         HHGear^.dY := HHGear^.dY + cGravity;
  1309         HHGear^.dY := HHGear^.dY + cGravity;
  1310         if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2
  1310         if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density;
  1311         end;
  1311         end;
  1312 
  1312 
  1313     ropeDx := HHGear^.X - Gear^.X;
  1313     ropeDx := HHGear^.X - Gear^.X;
  1314     // vector between hedgehog and rope attaching point
  1314     // vector between hedgehog and rope attaching point
  1315     ropeDy := HHGear^.Y - Gear^.Y;
  1315     ropeDy := HHGear^.Y - Gear^.Y;
  1534         else
  1534         else
  1535             begin
  1535             begin
  1536             HHGear^.Y := HHGear^.Y + HHGear^.dY;
  1536             HHGear^.Y := HHGear^.Y + HHGear^.dY;
  1537             Gear^.Y := Gear^.Y + HHGear^.dY;
  1537             Gear^.Y := Gear^.Y + HHGear^.dY;
  1538             HHGear^.dY := HHGear^.dY + cGravity;
  1538             HHGear^.dY := HHGear^.dY + cGravity;
  1539             if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2
  1539             if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density
  1540             end;
  1540             end;
  1541 
  1541 
  1542         tt := Gear^.Elasticity;
  1542         tt := Gear^.Elasticity;
  1543         tx := _0;
  1543         tx := _0;
  1544         ty := _0;
  1544         ty := _0;