hedgewars/GSHandlers.inc
changeset 5044 6e8da75e5f5e
parent 5042 f26c5eb040af
child 5052 74a81c276d67
equal deleted inserted replaced
5043:2df62e1a6c02 5044:6e8da75e5f5e
  3750            or (iterator^.Y < Gear^.Y - r)
  3750            or (iterator^.Y < Gear^.Y - r)
  3751            or (iterator^.Y > Gear^.Y + r) then
  3751            or (iterator^.Y > Gear^.Y + r) then
  3752             continue;
  3752             continue;
  3753 
  3753 
  3754         //Will if fit through?
  3754         //Will if fit through?
       
  3755         //set r to be portal distance
       
  3756         r := Int2hwFloat(Gear^.Radius +1);
  3755 
  3757 
  3756         o_x := hwRound(conPortal^.X + conPortal^.dX);
  3758         o_x := hwRound(conPortal^.X + conPortal^.dX);
  3757         o_y := hwRound(conPortal^.Y + conPortal^.dY);
  3759         o_y := hwRound(conPortal^.Y + conPortal^.dY);
  3758         r_x := hwRound(conPortal^.X+r*conPortal^.dX);
  3760         r_x := hwRound(conPortal^.X+r*conPortal^.dX);
  3759         r_y := hwRound(conPortal^.Y+r*conPortal^.dY);
  3761         r_y := hwRound(conPortal^.Y+r*conPortal^.dY);
  3798             if hasBorder then continue;
  3800             if hasBorder then continue;
  3799             end
  3801             end
  3800         else
  3802         else
  3801         if ((Land[o_y, rr_x] and $FF00) <> 0) then
  3803         if ((Land[o_y, rr_x] and $FF00) <> 0) then
  3802                 continue;
  3804                 continue;
       
  3805 
       
  3806         //Okay reset r in case something uses it
       
  3807         r := Int2hwFloat(iterator^.Radius+Gear^.Radius);
  3803 
  3808 
  3804         hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0))
  3809         hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0))
  3805                     or ((iterator^.State or gstMoving) = 0));
  3810                     or ((iterator^.State or gstMoving) = 0));
  3806 
  3811 
  3807         // in case the object is not moving, let's asume it's falling towards the portal
  3812         // in case the object is not moving, let's asume it's falling towards the portal