equal
deleted
inserted
replaced
1509 end; |
1509 end; |
1510 |
1510 |
1511 function GearsNear(X, Y: hwFloat; Kind: TGearType; r: LongInt): TPGearArray; |
1511 function GearsNear(X, Y: hwFloat; Kind: TGearType; r: LongInt): TPGearArray; |
1512 var |
1512 var |
1513 t: PGear; |
1513 t: PGear; |
|
1514 l: Longword; |
1514 begin |
1515 begin |
1515 r:= r*r; |
1516 r:= r*r; |
1516 GearsNear := nil; |
1517 GearsNear := nil; |
1517 t := GearsList; |
1518 t := GearsList; |
1518 while t <> nil do begin |
1519 while t <> nil do |
1519 if (t^.Kind = Kind) then begin |
1520 begin |
1520 if (X - t^.X)*(X - t^.X) + (Y - t^.Y)*(Y-t^.Y) < |
1521 if (t^.Kind = Kind) |
1521 int2hwFloat(r) then |
1522 and ((X - t^.X)*(X - t^.X) + (Y - t^.Y)*(Y-t^.Y) < int2hwFloat(r)) then |
1522 begin |
1523 begin |
1523 SetLength(GearsNear, Length(GearsNear)+1); |
1524 l:= Length(GearsNear); |
1524 GearsNear[High(GearsNear)] := t; |
1525 SetLength(GearsNear, l + 1); |
1525 end; |
1526 GearsNear[l] := t; |
1526 end; |
1527 end; |
1527 t := t^.NextGear; |
1528 t := t^.NextGear; |
1528 end; |
1529 end; |
1529 end; |
1530 end; |
1530 |
1531 |
1531 function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; |
1532 function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; |