hedgewars/uGears.pas
changeset 5556 5b8ca3955834
parent 5525 5fb06333314e
child 5558 49cfd05ccb83
equal deleted inserted replaced
5555:38e3d9347910 5556:5b8ca3955834
  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;