hedgewars/uGears.pas
changeset 547 b81a055f2d06
parent 543 465e2ec8f05f
child 568 d0690b7aa808
equal deleted inserted replaced
546:0e7cc3fb05cd 547:b81a055f2d06
   772     end;
   772     end;
   773 SetAllToActive
   773 SetAllToActive
   774 end;
   774 end;
   775 
   775 
   776 procedure AssignHHCoords;
   776 procedure AssignHHCoords;
   777 var Team: PTeam;
   777 var i, t, p: LongInt;
   778     i, t: LongInt;
       
   779     ar: array[0..Pred(cMaxHHs)] of PGear;
   778     ar: array[0..Pred(cMaxHHs)] of PGear;
   780     Count: Longword;
   779     Count: Longword;
   781 begin
   780 begin
   782 Team:= TeamsList;
       
   783 
       
   784 if (GameFlags and gfForts) <> 0 then
   781 if (GameFlags and gfForts) <> 0 then
   785    begin
   782    begin
   786    t:= 0;
   783    t:= 0;
   787    while Team <> nil do
   784    for p:= 0 to Pred(TeamsCount) do
       
   785      with TeamsArray[p]^ do
   788       begin
   786       begin
   789       for i:= 0 to cMaxHHIndex do
   787       for i:= 0 to cMaxHHIndex do
   790           with Team^.Hedgehogs[i] do
   788           with Hedgehogs[i] do
   791                if Gear <> nil then FindPlace(Gear, false, t, t + 1024);
   789                if Gear <> nil then FindPlace(Gear, false, t, t + 1024);
   792       inc(t, 1024);
   790       inc(t, 1024);
   793       Team:= Team^.Next
       
   794       end
   791       end
   795    end else // mix hedgehogs
   792    end else // mix hedgehogs
   796    begin
   793    begin
   797    Count:= 0;
   794    Count:= 0;
   798    while Team <> nil do
   795    for p:= 0 to Pred(TeamsCount) do
       
   796      with TeamsArray[p]^ do
   799       begin
   797       begin
   800       for i:= 0 to cMaxHHIndex do
   798       for i:= 0 to cMaxHHIndex do
   801           with Team^.Hedgehogs[i] do
   799           with Hedgehogs[i] do
   802                if Gear <> nil then
   800                if Gear <> nil then
   803                   begin
   801                   begin
   804                   ar[Count]:= Gear;
   802                   ar[Count]:= Gear;
   805                   inc(Count)
   803                   inc(Count)
   806                   end;
   804                   end;
   807       Team:= Team^.Next
       
   808       end;
   805       end;
   809 
   806 
   810    while (Count > 0) do
   807    while (Count > 0) do
   811       begin
   808       begin
   812       i:= GetRandom(Count);
   809       i:= GetRandom(Count);