equal
deleted
inserted
replaced
596 cc:= Gear^.dX + HHGear^.dX; |
596 cc:= Gear^.dX + HHGear^.dX; |
597 len:= _1 / Distance(cc, cs); |
597 len:= _1 / Distance(cc, cs); |
598 cc:= cc * len; // rope vector plus hedgehog direction vector normalized |
598 cc:= cc * len; // rope vector plus hedgehog direction vector normalized |
599 cs:= cs * len; |
599 cs:= cs * len; |
600 |
600 |
601 nx:= hwAbs(cs) * hwSign(HHGear^.dX) * 3; // hedgehog direction normalized with length 3 |
601 nx:= hwAbs(cs) * hwSign(HHGear^.dX) * 5; // hedgehog direction normalized with length 3 |
602 ny:= hwAbs(cc) * hwSign(HHGear^.dY) * 3; |
602 ny:= hwAbs(cc) * hwSign(HHGear^.dY) * 5; |
603 |
603 |
604 flCheck:= not flCheck; |
604 flCheck:= not flCheck; |
605 if flCheck then // check whether rope needs dividing |
605 if flCheck then // check whether rope needs dividing |
606 begin |
606 begin |
607 len:= Gear^.Elasticity - _20; |
607 len:= Gear^.Elasticity - _20; |
676 HHGear^.dX:= -_0_6 * HHGear^.dX; |
676 HHGear^.dX:= -_0_6 * HHGear^.dX; |
677 if TestCollisionYwithGear(HHGear, hwSign(HHGear^.dY)) then |
677 if TestCollisionYwithGear(HHGear, hwSign(HHGear^.dY)) then |
678 HHGear^.dY:= -_0_6 * HHGear^.dY; |
678 HHGear^.dY:= -_0_6 * HHGear^.dY; |
679 |
679 |
680 len:= Distance(HHGear^.dX, HHGear^.dY); |
680 len:= Distance(HHGear^.dX, HHGear^.dY); |
681 if len > _0_5 then |
681 if len > _0_8 then |
682 begin |
682 begin |
683 len:= _0_5 / len; |
683 len:= _0_8 / len; |
684 HHGear^.dX:= HHGear^.dX * len; |
684 HHGear^.dX:= HHGear^.dX * len; |
685 HHGear^.dY:= HHGear^.dY * len; |
685 HHGear^.dY:= HHGear^.dY * len; |
686 end; |
686 end; |
687 |
687 |
688 if (Gear^.Message and gm_Attack) <> 0 then |
688 if (Gear^.Message and gm_Attack) <> 0 then |