hedgewars/uFLGameConfig.pas
branchqmlfrontend
changeset 10446 7ae44f42a689
parent 10444 47a6231f1fc1
child 10448 4cb727e029fa
equal deleted inserted replaced
10444:47a6231f1fc1 10446:7ae44f42a689
   157 end;
   157 end;
   158 
   158 
   159 
   159 
   160 procedure tryAddTeam(teamName: PChar);
   160 procedure tryAddTeam(teamName: PChar);
   161 var msg: ansistring;
   161 var msg: ansistring;
   162 begin
   162     i, hn, hedgehogsNumber: Longword;
       
   163     team: PTeam;
       
   164 begin
       
   165     with currentConfig do
       
   166     begin
       
   167         hedgehogsNumber:= 0;
       
   168         i:= 0;
       
   169 
       
   170         while (i < 8) and (teams[i].hogsNumber > 0) do
       
   171         begin
       
   172             inc(i);
       
   173             inc(hedgehogsNumber, teams[i].hogsNumber)
       
   174         end;
       
   175 
       
   176         // no free space for a team or reached hogs number maximum
       
   177         if (i > 7) or (hedgehogsNumber >= 48) then exit;
       
   178 
       
   179         team:= teamByName(teamName);
       
   180         if team = nil then exit;
       
   181 
       
   182         teams[i]:= team^;
       
   183 
       
   184         if i = 0 then hn:= 4 else hn:= teams[i - 1].hogsNumber;
       
   185         if hn > 48 - hedgehogsNumber then hn:= 48 - hedgehogsNumber;
       
   186         teams[i].hogsNumber:= hn;
       
   187     end;
       
   188 
       
   189 
   163     msg:= '0' + #10 + teamName;
   190     msg:= '0' + #10 + teamName;
   164 
   191 
   165     guiCallbackFunction(guiCallbackPointer, mtAddPlayingTeam, @msg[1], length(msg));
   192     guiCallbackFunction(guiCallbackPointer, mtAddPlayingTeam, @msg[1], length(msg));
   166 
   193 
   167     msg:= teamName;
   194     msg:= teamName;