hedgewars/GSHandlers.inc
changeset 23 16322d14f068
parent 16 b6f4b413dd41
child 37 2b7f2a43b999
equal deleted inserted replaced
22:517be8dc5b76 23:16322d14f068
   403    len:= Gear.Elasticity - 20;
   403    len:= Gear.Elasticity - 20;
   404    while len > 5 do
   404    while len > 5 do
   405          begin
   405          begin
   406          tx:= cc*len;
   406          tx:= cc*len;
   407          ty:= cs*len;
   407          ty:= cs*len;
   408 //         if   TestCollisionXwithXYShift(Gear, round(tx), round(ty), Sign(HHGear.dX))
       
   409 ///           or TestCollisionYwithXYShift(Gear, round(tx), round(ty), Sign(HHGear.dY)) then
       
   410          lx:= round(Gear.X + tx) + sign(HHGear.dX);
   408          lx:= round(Gear.X + tx) + sign(HHGear.dX);
   411          ly:= round(Gear.Y + ty) + sign(HHGear.dY);
   409          ly:= round(Gear.Y + ty) + sign(HHGear.dY);
   412          if ((ly and $FFFFFC00) = 0) and ((lx and $FFFFF800) = 0)and (Land[ly, lx] <> 0) then
   410          if ((ly and $FFFFFC00) = 0) and ((lx and $FFFFF800) = 0)and (Land[ly, lx] <> 0) then
   413            begin
   411            begin
   414            with RopePoints.ar[RopePoints.Count] do
   412            with RopePoints.ar[RopePoints.Count] do
   571 end;
   569 end;
   572 
   570 
   573 ////////////////////////////////////////////////////////////////////////////////
   571 ////////////////////////////////////////////////////////////////////////////////
   574 procedure doStepMine(Gear: PGear);
   572 procedure doStepMine(Gear: PGear);
   575 begin
   573 begin
   576 if (Gear.dX <> 0) or (Gear.dY <> 0) then
   574 if (Gear.dX <> 0) or (Gear.dY <> 0) {or not TestCollisionY(Gear, 1)} then
   577    begin
   575    begin
   578    doStepFallingGear(Gear);
   576    doStepFallingGear(Gear);
   579    if Gear.Active = false then
   577    if Gear.Active = false then
   580       begin
   578       begin
   581       Gear.dX:= 0;
   579       Gear.dX:= 0;