3754 if (iterator^.X < Gear^.X - r) |
3754 if (iterator^.X < Gear^.X - r) |
3755 or (iterator^.X > Gear^.X + r) |
3755 or (iterator^.X > Gear^.X + r) |
3756 or (iterator^.Y < Gear^.Y - r) |
3756 or (iterator^.Y < Gear^.Y - r) |
3757 or (iterator^.Y > Gear^.Y + r) then |
3757 or (iterator^.Y > Gear^.Y + r) then |
3758 continue; |
3758 continue; |
3759 |
3759 (* |
|
3760 Square check causes fail on many innocent cases. the 3/4s and 1.5 fudge factors... help. |
|
3761 Might still need to remove this section |
|
3762 *) |
3760 //Will if fit through? |
3763 //Will if fit through? |
3761 //set r to be portal distance |
3764 //set r to be portal distance |
3762 r := Int2hwFloat(Gear^.Radius +1); |
3765 r := Int2hwFloat(Gear^.Radius * 3 div 4); |
3763 |
3766 o_x := hwRound(conPortal^.X + (conPortal^.dX*_1_5)); |
3764 o_x := hwRound(conPortal^.X + conPortal^.dX); |
3767 o_y := hwRound(conPortal^.Y + (conPortal^.dY*_1_5)); |
3765 o_y := hwRound(conPortal^.Y + conPortal^.dY); |
3768 //r := Int2hwFloat(Gear^.Radius +1); |
|
3769 |
|
3770 //o_x := hwRound(conPortal^.X + conPortal^.dX); |
|
3771 //o_y := hwRound(conPortal^.Y + conPortal^.dY); |
3766 r_x := hwRound(conPortal^.X+r*conPortal^.dX); |
3772 r_x := hwRound(conPortal^.X+r*conPortal^.dX); |
3767 r_y := hwRound(conPortal^.Y+r*conPortal^.dY); |
3773 r_y := hwRound(conPortal^.Y+r*conPortal^.dY); |
3768 rr_x := hwRound(conPortal^.X+r*conPortal^.dX*2); |
3774 rr_x := hwRound(conPortal^.X+r*conPortal^.dX*2); |
3769 rr_y := hwRound(conPortal^.Y+r*conPortal^.dY*2); |
3775 rr_y := hwRound(conPortal^.Y+r*conPortal^.dY*2); |
3770 |
3776 |