Changeset 549 for trunk/LocalPlayer


Ignore:
Timestamp:
Apr 21, 2024, 8:55:53 PM (4 weeks ago)
Author:
chronos
Message:
  • Modified: Optimize code with earlier break from for cycle evaluating boolean result.
  • Modified: Code cleanup.
Location:
trunk/LocalPlayer
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/CityScreen.pas

    r548 r549  
    883883            Sprite(Offscreen, HGrSystem, X - 4, Y + 29 - 3 * J, 10, 10,
    884884              132, 115);
    885         end
     885        end;
    886886      end;
    887887    if imix[0] >= 0 then
     
    10821082        Loc1 := dLoc(cLoc, dx, dy);
    10831083        if (Loc1 >= 0) and (Loc1 < G.lx * G.ly) and
    1084           (MyMap[Loc1] and fTerrain < fGrass) then
    1085           IsPort := True;
     1084          (MyMap[Loc1] and fTerrain < fGrass) then begin
     1085            IsPort := True;
     1086            Break;
     1087          end;
    10861088      end;
    10871089
  • trunk/LocalPlayer/ClientTools.pas

    r531 r549  
    178178  Result := False;
    179179  for p1 := 1 to nPl - 1 do
    180     if G.RO[p1] <> nil then
     180    if G.RO[p1] <> nil then begin
    181181      Result := True;
     182      Break;
     183    end;
    182184end;
    183185
     
    373375          if Abs(dx) + Abs(dy) = 2 then
    374376            if Server(sMoveUnit - sExecute + dx and 7 shl 4 + dy and
    375               7 shl 7, Me, uix, nil^) >= rExecuted then
    376               Result := False;
     377              7 shl 7, Me, uix, nil^) >= rExecuted then begin
     378                Result := False;
     379                Exit;
     380              end;
    377381end;
    378382
     
    608612                  dx := fix and 3 shl 1 - 3 + (dy + 3) and 1;
    609613                  Loc1 := dLoc(MyCity[cix].Loc, dx, dy);
    610                   if MarkCitiesAround(Loc1, cix) then
     614                  if MarkCitiesAround(Loc1, cix) then begin
    611615                    Done := False;
     616                    Break;
     617                  end;
    612618                end;
    613619              Server(sSetCityTiles, Me, cix, Advice.Tiles);
     
    664670        dx := fix and 3 shl 1 - 3 + (dy + 3) and 1;
    665671        Loc1 := dLoc(MyCity[cix].Loc, dx, dy);
    666         if MarkCitiesAround(Loc1, cix) then
     672        if MarkCitiesAround(Loc1, cix) then begin
    667673          Done := False;
     674          Break;
     675        end;
    668676      end;
    669677    if not Done then
  • trunk/LocalPlayer/Draft.pas

    r536 r549  
    307307      for I := 0 to Lines - 1 do
    308308      begin
    309         if not(Code[I] in AutoFeature) then
     309        if not (Code[I] in AutoFeature) then
    310310        begin
    311311          // paint +/- butttons
     
    458458procedure TDraftDlg.FormShow(Sender: TObject);
    459459var
    460   count, D, I: Integer;
     460  Count, D, I: Integer;
    461461begin
    462462  Domain := dGround;
     
    465465    Inc(Domain);
    466466
    467   // count max number of features in any domain
     467  // Count max number of features in any domain
    468468  MaxLines := 0;
    469469  for D := 0 to nDomains - 1 do
     
    471471      (MyRO.Tech[upgrade[D, 0].Preq] >= tsApplicable) then
    472472    begin
    473       count := 0;
     473      Count := 0;
    474474      for I := 0 to nFeature - 1 do
    475475        if IsFeatureInList(D, I) then
    476           Inc(count);
    477       if count > MaxLines then
    478         MaxLines := count;
     476          Inc(Count);
     477      if Count > MaxLines then
     478        MaxLines := Count;
    479479    end;
    480480  Cut := (MaxLines0 - MaxLines) * LinePitch;
  • trunk/LocalPlayer/Help.pas

    r531 r549  
    965965      else if Item = 'AITSTAT' then
    966966        for I := 0 to 3 do
    967           AddLine(Phrases2.Lookup('AITSTAT', I), pkAITStat, I)
     967          AddLine(Phrases2.Lookup('AITSTAT', I), pkAITStat, I);
    968968    end;
    969969  end;
     
    15221522          for Domain := 0 to nDomains - 1 do
    15231523            for I := 1 to nUpgrade - 1 do
    1524               if upgrade[Domain, I].Preq = No then
     1524              if Upgrade[Domain, I].Preq = No then
    15251525              begin
    1526                 if upgrade[Domain, I].Strength > 0 then
     1526                if Upgrade[Domain, I].Strength > 0 then
    15271527                  AddLine(Format(HelpText.Lookup('STRENGTHUP'),
    15281528                    [Phrases.Lookup('DOMAIN', Domain), upgrade[Domain,
    15291529                    I].Strength]), pkDomain, Domain);
    1530                 if upgrade[Domain, I].Trans > 0 then
     1530                if Upgrade[Domain, I].Trans > 0 then
    15311531                  AddLine(Format(HelpText.Lookup('TRANSUP'),
    15321532                    [Phrases.Lookup('DOMAIN', Domain), upgrade[Domain, I].Trans]
     
    15341534                if No in FutureTech then
    15351535                  AddLine(Format(HelpText.Lookup('COSTUP'),
    1536                     [upgrade[Domain, I].Cost]), pkNormal_Dot)
     1536                    [Upgrade[Domain, I].Cost]), pkNormal_Dot)
    15371537                else
    15381538                  AddLine(Format(HelpText.Lookup('COSTMIN'),
    1539                     [upgrade[Domain, I].Cost]), pkNormal_Dot)
     1539                    [Upgrade[Domain, I].Cost]), pkNormal_Dot)
    15401540              end;
    15411541          NextSection('EXPIRATION');
  • trunk/LocalPlayer/IsoEngine.pas

    r548 r549  
    3939    function IsShoreTile(Loc: Integer): Boolean;
    4040    procedure MakeDark(Line: PPixelPointer; Length: Integer);
     41    procedure NameCity(X, Y, Loc: Integer);
     42    procedure PaintBorder(X, Y, Loc, Tile: Integer);
     43    function PoleTile(Loc: Integer): Integer;
    4144    procedure SetTileSize(AValue: TTileSize);
    4245    procedure ShadeOutside(x0, y0, Width, Height, xm, ym: Integer);
     46    procedure ShowSpacePort(X, Y, Tile: Integer; CityInfo: TCityInfo);
    4347  protected
    4448    FOutput: TBitmap;
     
    803807end;
    804808
    805 function PoleTile(Loc: Integer): Integer;
     809function TIsoMap.PoleTile(Loc: Integer): Integer;
    806810begin { virtual pole tile }
    807811  Result := fUNKNOWN;
     
    10471051end;
    10481052
     1053procedure TIsoMap.NameCity(X, Y, Loc: Integer);
     1054var
     1055  cix, xs, W: Integer;
     1056  BehindCityInfo: TCityInfo;
     1057  S: string;
     1058  IsCapital: Boolean;
     1059begin
     1060  BehindCityInfo.Loc := Loc - 2 * G.lx;
     1061  if ShowCityNames and not (moEditMode in MapOptions) and
     1062    (BehindCityInfo.Loc >= 0) and (BehindCityInfo.Loc < G.lx * G.ly) and
     1063    (MyMap[BehindCityInfo.Loc] and fCity <> 0) then
     1064  begin
     1065    GetCityInfo(BehindCityInfo.Loc, cix, BehindCityInfo);
     1066    IsCapital := BehindCityInfo.Flags and ciCapital <> 0;
     1067    { if Showuix and (cix>=0) then s:=IntToStr(cix)
     1068      else } S := CityName(BehindCityInfo.ID);
     1069    W := FOutput.Canvas.TextWidth(S);
     1070    xs := X + xxt - (W + 1) div 2;
     1071    if IsCapital then
     1072      FOutput.Canvas.Font.Style := FOutput.Canvas.Font.Style + [TFontStyle.fsUnderline];
     1073    TextOut(xs + 1, Y - 9, $000000, S);
     1074    TextOut(xs, Y - 10, $FFFFFF, S);
     1075    if IsCapital then
     1076      FOutput.Canvas.Font.Style := FOutput.Canvas.Font.Style - [TFontStyle.fsUnderline];
     1077  end;
     1078end;
     1079
     1080procedure TIsoMap.PaintBorder(X, Y, Loc, Tile: Integer);
     1081var
     1082  dx, dy: Integer;
     1083  p1, p2, Loc1: Integer;
     1084begin
     1085  if ShowBorder and (Loc >= 0) and (Loc < G.lx * G.ly) and
     1086    (Tile and fTerrain <> fUNKNOWN) then begin
     1087    p1 := MyRO.Territory[Loc];
     1088    if (p1 >= 0) and (ShowMyBorder or (p1 <> Me)) then begin
     1089      if BordersOK^ and (1 shl p1) = 0 then begin
     1090        UnshareBitmap(Borders);
     1091        BitBltBitmap(Borders, 0, p1 * (yyt * 2), xxt * 2,
     1092          yyt * 2, HGrTerrain.Data,
     1093          1 + 8 * (xxt * 2 + 1), 1 + yyt + 16 * (yyt * 3 + 1));
     1094        BitmapReplaceColor(Borders, 0, p1 * (yyt * 2), xxt * 2, yyt * 2, $636363, Tribe[p1].Color);
     1095        BordersOK^ := BordersOK^ or 1 shl p1;
     1096      end;
     1097      for dy := 0 to 1 do
     1098        for dx := 0 to 1 do begin
     1099          Loc1 := dLoc(Loc, dx * 2 - 1, dy * 2 - 1);
     1100          begin
     1101            if (Loc1 < 0) or (Loc1 >= G.lx * G.ly) then
     1102              p2 := -1
     1103            else if MyMap[Loc1] and fTerrain = fUNKNOWN then
     1104              p2 := p1
     1105            else
     1106              p2 := MyRO.Territory[Loc1];
     1107            if p2 <> p1 then
     1108            begin
     1109              BitBltBitmapOutput(HGrTerrain.Mask, X + dx * xxt, Y + dy * yyt, xxt,
     1110                yyt, 1 + 8 * (xxt * 2 + 1) + dx * xxt,
     1111                1 + yyt + 16 * (yyt * 3 + 1) + dy * yyt, SRCAND);
     1112              BitBltBitmapOutput(Borders, X + dx * xxt, Y + dy * yyt, xxt, yyt, dx * xxt,
     1113                p1 * (yyt * 2) + dy * yyt, SRCPAINT);
     1114            end;
     1115          end;
     1116        end;
     1117    end;
     1118  end;
     1119end;
     1120
     1121procedure TIsoMap.ShowSpacePort(X, Y, Tile: Integer; CityInfo: TCityInfo);
     1122begin
     1123  if ShowObjects and not (moEditMode in MapOptions) and
     1124    (Tile and fCity <> 0) and (CityInfo.Flags and ciSpacePort <> 0) then
     1125    TerrainSprite(X + xxt, Y - 6, spSpacePort);
     1126end;
     1127
    10491128// (x,y) is top left pixel of (2*xxt,3*yyt) rectangle
    10501129procedure TIsoMap.PaintTileObjects(X, Y, Loc, CityLoc, CityOwner: Integer;
    10511130  UseBlink: Boolean);
    10521131var
    1053   p1, p2, uix, cix, dy, Loc1, Tile, Multi, Destination: Integer;
     1132  uix, cix, dy, Tile, Multi, Destination: Integer;
    10541133  CityInfo: TCityInfo;
    10551134  UnitInfo: TUnitInfo;
     
    10571136  SpecialRow: Integer;
    10581137  SpecialCol: Integer;
    1059 
    1060   procedure NameCity;
    1061   var
    1062     cix, xs, W: Integer;
    1063     BehindCityInfo: TCityInfo;
    1064     S: string;
    1065     IsCapital: Boolean;
    1066   begin
    1067     BehindCityInfo.Loc := Loc - 2 * G.lx;
    1068     if ShowCityNames and not (moEditMode in MapOptions) and
    1069       (BehindCityInfo.Loc >= 0) and (BehindCityInfo.Loc < G.lx * G.ly) and
    1070       (MyMap[BehindCityInfo.Loc] and fCity <> 0) then
    1071     begin
    1072       GetCityInfo(BehindCityInfo.Loc, cix, BehindCityInfo);
    1073       IsCapital := BehindCityInfo.Flags and ciCapital <> 0;
    1074       { if Showuix and (cix>=0) then s:=IntToStr(cix)
    1075         else } S := CityName(BehindCityInfo.ID);
    1076       W := FOutput.Canvas.TextWidth(S);
    1077       xs := X + xxt - (W + 1) div 2;
    1078       if IsCapital then
    1079         FOutput.Canvas.Font.Style := FOutput.Canvas.Font.Style + [TFontStyle.fsUnderline];
    1080       TextOut(xs + 1, Y - 9, $000000, S);
    1081       TextOut(xs, Y - 10, $FFFFFF, S);
    1082       if IsCapital then
    1083         FOutput.Canvas.Font.Style := FOutput.Canvas.Font.Style - [TFontStyle.fsUnderline];
    1084     end;
    1085   end;
    1086 
    1087   procedure ShowSpacePort;
    1088   begin
    1089     if ShowObjects and not (moEditMode in MapOptions) and
    1090       (Tile and fCity <> 0) and (CityInfo.Flags and ciSpacePort <> 0) then
    1091       TerrainSprite(X + xxt, Y - 6, spSpacePort);
    1092   end;
    1093 
    1094   procedure PaintBorder;
    1095   var
    1096     dx, dy: Integer;
    1097   begin
    1098     if ShowBorder and (Loc >= 0) and (Loc < G.lx * G.ly) and
    1099       (Tile and fTerrain <> fUNKNOWN) then begin
    1100       p1 := MyRO.Territory[Loc];
    1101       if (p1 >= 0) and (ShowMyBorder or (p1 <> Me)) then begin
    1102         if BordersOK^ and (1 shl p1) = 0 then begin
    1103           UnshareBitmap(Borders);
    1104           BitBltBitmap(Borders, 0, p1 * (yyt * 2), xxt * 2,
    1105             yyt * 2, HGrTerrain.Data,
    1106             1 + 8 * (xxt * 2 + 1), 1 + yyt + 16 * (yyt * 3 + 1));
    1107           BitmapReplaceColor(Borders, 0, p1 * (yyt * 2), xxt * 2, yyt * 2, $636363, Tribe[p1].Color);
    1108           BordersOK^ := BordersOK^ or 1 shl p1;
    1109         end;
    1110         for dy := 0 to 1 do
    1111           for dx := 0 to 1 do begin
    1112             Loc1 := dLoc(Loc, dx * 2 - 1, dy * 2 - 1);
    1113             begin
    1114               if (Loc1 < 0) or (Loc1 >= G.lx * G.ly) then
    1115                 p2 := -1
    1116               else if MyMap[Loc1] and fTerrain = fUNKNOWN then
    1117                 p2 := p1
    1118               else
    1119                 p2 := MyRO.Territory[Loc1];
    1120               if p2 <> p1 then
    1121               begin
    1122                 BitBltBitmapOutput(HGrTerrain.Mask, X + dx * xxt, Y + dy * yyt, xxt,
    1123                   yyt, 1 + 8 * (xxt * 2 + 1) + dx * xxt,
    1124                   1 + yyt + 16 * (yyt * 3 + 1) + dy * yyt, SRCAND);
    1125                 BitBltBitmapOutput(Borders, X + dx * xxt, Y + dy * yyt, xxt, yyt, dx * xxt,
    1126                   p1 * (yyt * 2) + dy * yyt, SRCPAINT);
    1127               end;
    1128             end;
    1129           end;
    1130       end;
    1131     end;
    1132   end;
    1133 
    11341138begin
    11351139  if (Loc < 0) or (Loc >= G.lx * G.ly) then
     
    11431147    (X > FRight) then
    11441148  begin
    1145     NameCity;
    1146     ShowSpacePort;
     1149    NameCity(X, Y, Loc);
     1150    ShowSpacePort(X, Y, Tile, CityInfo);
    11471151    Exit;
    11481152  end;
    11491153  if Tile and fTerrain = fUNKNOWN then
    11501154  begin
    1151     NameCity;
    1152     ShowSpacePort;
     1155    NameCity(X, Y, Loc);
     1156    ShowSpacePort(X, Y, Tile, CityInfo);
    11531157    Exit;
    11541158  end; { square not discovered }
    11551159
    11561160  if not (FoW and (Tile and fObserved = 0)) then
    1157     PaintBorder;
     1161    PaintBorder(X, Y, Loc, Tile);
    11581162
    11591163  if (Loc >= 0) and (Loc < G.lx * G.ly) and (Loc = FAdviceLoc) then
     
    12111215
    12121216  if FoW and (Tile and fObserved = 0) then
    1213     PaintBorder;
     1217    PaintBorder(X, Y, Loc, Tile);
    12141218
    12151219{$IFNDEF SCR}
     
    12391243      else TerrainSprite(X, Y, 8 + 9 * 1); }
    12401244
    1241     NameCity;
    1242     ShowSpacePort;
     1245    NameCity(X, Y, Loc);
     1246    ShowSpacePort(X, Y, Tile, CityInfo);
    12431247    if Tile and fCity <> 0 then
    12441248      PaintCity(X + xxt, Y + yyt, CityInfo, CityOwner < 0);
     
    13831387begin
    13841388  Result := False;
    1385   for Dir := 0 to 7 do
    1386   begin
     1389  for Dir := 0 to 7 do begin
    13871390    ConnLoc := dLoc(Loc, Dirx[Dir], Diry[Dir]);
    13881391    if (ConnLoc < 0) or (ConnLoc >= G.lx * G.ly) or
    1389       ((MyMap[ConnLoc] - 2) and fTerrain < 13) then
    1390       Result := True;
     1392      ((MyMap[ConnLoc] - 2) and fTerrain < 13) then begin
     1393        Result := True;
     1394        Break;
     1395      end;
    13911396  end;
    13921397end;
  • trunk/LocalPlayer/NatStat.pas

    r536 r549  
    229229  HasContact := False;
    230230  for p1 := 0 to nPl - 1 do
    231     if (p1 <> Me) and (CurrentReport.Treaty[p1] > trNoContact) then
     231    if (p1 <> Me) and (CurrentReport.Treaty[p1] > trNoContact) then begin
    232232      HasContact := True;
     233      Break;
     234    end;
    233235  if HasContact then
    234236  begin
  • trunk/LocalPlayer/Nego.pas

    r531 r549  
    366366      begin
    367367        MyAllowed := MyAllowed + [opAllTech shr 24];
    368         Break
     368        Break;
    369369      end;
    370370    OppoAllowed := OppoAllowed + [opCivilReport shr 24, opAllTech shr 24];
  • trunk/LocalPlayer/Select.pas

    r536 r549  
    11191119                  if (Loc1 >= 0) and (Loc1 < G.lx * G.ly) and
    11201120                    ((MyMap[Loc1] and fTerrain = fShore) or
    1121                     (MyMap[Loc1] and fCanal > 0)) then
    1122                     Ok := True;
     1121                    (MyMap[Loc1] and fCanal > 0)) then begin
     1122                      Ok := True;
     1123                      Break;
     1124                    end;
    11231125                end;
    11241126          end
     
    11661168        for I := 0 to nDomains - 1 do
    11671169          if (upgrade[I, 0].Preq = preNone) or
    1168             (MyRO.Tech[upgrade[I, 0].Preq] >= tsApplicable) then
    1169             Ok := True;
     1170            (MyRO.Tech[upgrade[I, 0].Preq] >= tsApplicable) then begin
     1171              Ok := True;
     1172              Break;
     1173            end;
    11701174        if Ok then { new unit class }
    11711175        begin
     
    12731277          with MyRO.EnemyReport[Column[J]]^ do
    12741278            if (MyRO.Alive and (1 shl Column[J]) <> 0) and
    1275               (TurnOfCivilReport >= 0) and (ResearchTech = adMilitary) then
    1276               Ok := True;
     1279              (TurnOfCivilReport >= 0) and (ResearchTech = adMilitary) then begin
     1280                Ok := True;
     1281                Break;
     1282              end;
    12771283        if Ok then
    12781284        begin
     
    13331339          for emix := 0 to MyRO.nEnemyModel - 1 do
    13341340            if (MyRO.EnemyModel[emix].Owner = DipMem[Me].pContact) and
    1335               IsSameModel(MyRO.EnemyModel[emix], mi) then
    1336               Ok := False;
     1341              IsSameModel(MyRO.EnemyModel[emix], mi) then begin
     1342                Ok := False;
     1343                Break;
     1344              end;
    13371345          if Ok then
    13381346          begin
     
    14391447          end;
    14401448        SortModels;
    1441         FirstShrinkedLine[0] := 0
     1449        FirstShrinkedLine[0] := 0;
    14421450      end;
    14431451    kTribe:
     
    15541562  MultiPage := False;
    15551563  for I := 1 to MaxLayer - 1 do
    1556     if Lines[I] > 0 then
     1564    if Lines[I] > 0 then begin
    15571565      MultiPage := True;
     1566      Break;
     1567    end;
    15581568  WideBottom := MultiPage or (Kind = kScience) or
    15591569    not Phrases2FallenBackToEnglish and
     
    17371747          ((AdvValue[I] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and
    17381748          ((AdvValue[I] < 1000) or (MyRO.Tech[adScience] > tsNA)) and
    1739           (Server(sSetResearch - sExecute, Me, I, nil^) < rExecuted) then
    1740           ShowFocus := True;
     1749          (Server(sSetResearch - sExecute, Me, I, nil^) < rExecuted) then begin
     1750            ShowFocus := True;
     1751            Break;
     1752          end;
    17411753    end;
    17421754  ToggleBtn.Visible := (Kind = kCities) and not Supervising or (Kind = kAdvance)
  • trunk/LocalPlayer/Term.pas

    r545 r549  
    12281228      IsTreatyDeal := False;
    12291229      for I := 0 to ReceivedOffer.nDeliver + ReceivedOffer.nCost - 1 do
    1230         if ReceivedOffer.Price[I] and opMask = opTreaty then
     1230        if ReceivedOffer.Price[I] and opMask = opTreaty then begin
    12311231          IsTreatyDeal := True;
     1232          Break;
     1233        end;
    12321234      if IsTreatyDeal then
    12331235        Play('NEWTREATY')
     
    14661468var
    14671469  I, cix, mix: Integer;
    1468   need: Boolean;
     1470  Need: Boolean;
    14691471  mi: TModelInfo;
    14701472begin
     
    14751477  end;
    14761478  if (sbWonder in Check) and not (sbWonder in SoundPreloadDone) then begin
    1477     need := False;
     1479    Need := False;
    14781480    for I := 0 to nWonder - 1 do
    1479       if MyRO.Wonder[I].CityID <> WonderNotBuiltYet then
    1480         need := True;
    1481     if need then begin
     1481      if MyRO.Wonder[I].CityID <> WonderNotBuiltYet then begin
     1482        Need := True;
     1483        Break;
     1484      end;
     1485    if Need then begin
    14821486      for I := 0 to nWonderBlock - 1 do
    14831487        PreparePlay(WonderBlock[I]);
     
    16301634          for I := 0 to nShipPart - 1 do
    16311635          begin
    1632             if Ship1Change[I] > 0 then
    1633               Ship1Plus := True;
    1634             if Ship2Change[I] > 0 then
    1635               Ship2Plus := True;
     1636            if Ship1Change[I] > 0 then Ship1Plus := True;
     1637            if Ship2Change[I] > 0 then Ship2Plus := True;
    16361638          end;
    16371639          if Ship1Plus and Ship2Plus then
     
    21402142      for cix := 0 to MyRO.nCity - 1 do
    21412143        if (MyCity[cix].Loc >= 0) and (MyCity[cix].ID = MyRO.Wonder[I].CityID)
    2142         then
     2144        then begin
    21432145          OwnWonder := True;
     2146          Break;
     2147        end;
    21442148      if MyRO.Wonder[I].CityID <> MyData.ToldWonders[I].CityID then
    21452149      begin
     
    30293033          IsTreatyDeal := False;
    30303034          for I := 0 to ReceivedOffer.nDeliver + ReceivedOffer.nCost - 1 do
    3031             if DipMem[Me].SentOffer.Price[I] and opMask = opTreaty then
     3035            if DipMem[Me].SentOffer.Price[I] and opMask = opTreaty then begin
    30323036              IsTreatyDeal := True;
     3037              Break;
     3038            end;
    30333039          if IsTreatyDeal then
    30343040            Play('NEWTREATY')
     
    39954001    for I := 2 to nGov - 1 do
    39964002      if (GovPreq[I] <> preNA) and
    3997         ((GovPreq[I] = preNone) or (MyRO.Tech[GovPreq[I]] >= tsApplicable)) then
    3998         AltGovs := True;
     4003        ((GovPreq[I] = preNone) or (MyRO.Tech[GovPreq[I]] >= tsApplicable)) then begin
     4004          AltGovs := True;
     4005          Break;
     4006        end;
    39994007
    40004008    if not AltGovs then
     
    42964304            begin
    42974305              Result := True;
    4298               Exit
     4306              Exit;
    42994307            end;
    43004308          end
     
    44904498    Skipped := WasSkipped;
    44914499    for p1 := 1 to nPl - 1 do
    4492       if G.RO[p1] <> nil then
     4500      if G.RO[p1] <> nil then begin
    44934501        Skipped := True; // don't show enemy moves in hotseat mode
     4502        Break;
     4503      end;
    44944504  end
    44954505  else
     
    74657475      Multi := False;
    74667476      for p1 := 1 to nPl - 1 do
    7467         if G.RO[p1] <> nil then
     7477        if G.RO[p1] <> nil then begin
    74687478          Multi := True;
     7479          Break;
     7480        end;
    74697481      mEnemyMovement.Visible := not Multi;
    74707482    end;
     
    75607572    for p1 := 0 to nPl - 1 do
    75617573      if MyRO.Ship[p1].Parts[spComp] + MyRO.Ship[p1].Parts[spPow] +
    7562         MyRO.Ship[p1].Parts[spHab] > 0 then
    7563         mShips.Enabled := True;
     7574        MyRO.Ship[p1].Parts[spHab] > 0 then begin
     7575          mShips.Enabled := True;
     7576          Break;
     7577        end;
    75647578  end
    75657579  else if Popup = UnitPopup then
     
    76857699      if NeedSep then
    76867700        LastSep := Popup.Items[I];
    7687       NeedSep := False
     7701      NeedSep := False;
    76887702    end
    76897703    else if Popup.Items[I].Visible then
    76907704      NeedSep := True;
    76917705  if (LastSep <> nil) and not NeedSep then
    7692     LastSep.Visible := False
     7706    LastSep.Visible := False;
    76937707end;
    76947708
Note: See TracChangeset for help on using the changeset viewer.