Changeset 549 for trunk/LocalPlayer
- Timestamp:
- Apr 21, 2024, 8:55:53 PM (7 months ago)
- Location:
- trunk/LocalPlayer
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LocalPlayer/CityScreen.pas
r548 r549 883 883 Sprite(Offscreen, HGrSystem, X - 4, Y + 29 - 3 * J, 10, 10, 884 884 132, 115); 885 end 885 end; 886 886 end; 887 887 if imix[0] >= 0 then … … 1082 1082 Loc1 := dLoc(cLoc, dx, dy); 1083 1083 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; 1086 1088 end; 1087 1089 -
trunk/LocalPlayer/ClientTools.pas
r531 r549 178 178 Result := False; 179 179 for p1 := 1 to nPl - 1 do 180 if G.RO[p1] <> nil then 180 if G.RO[p1] <> nil then begin 181 181 Result := True; 182 Break; 183 end; 182 184 end; 183 185 … … 373 375 if Abs(dx) + Abs(dy) = 2 then 374 376 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; 377 381 end; 378 382 … … 608 612 dx := fix and 3 shl 1 - 3 + (dy + 3) and 1; 609 613 Loc1 := dLoc(MyCity[cix].Loc, dx, dy); 610 if MarkCitiesAround(Loc1, cix) then 614 if MarkCitiesAround(Loc1, cix) then begin 611 615 Done := False; 616 Break; 617 end; 612 618 end; 613 619 Server(sSetCityTiles, Me, cix, Advice.Tiles); … … 664 670 dx := fix and 3 shl 1 - 3 + (dy + 3) and 1; 665 671 Loc1 := dLoc(MyCity[cix].Loc, dx, dy); 666 if MarkCitiesAround(Loc1, cix) then 672 if MarkCitiesAround(Loc1, cix) then begin 667 673 Done := False; 674 Break; 675 end; 668 676 end; 669 677 if not Done then -
trunk/LocalPlayer/Draft.pas
r536 r549 307 307 for I := 0 to Lines - 1 do 308 308 begin 309 if not (Code[I] in AutoFeature) then309 if not (Code[I] in AutoFeature) then 310 310 begin 311 311 // paint +/- butttons … … 458 458 procedure TDraftDlg.FormShow(Sender: TObject); 459 459 var 460 count, D, I: Integer;460 Count, D, I: Integer; 461 461 begin 462 462 Domain := dGround; … … 465 465 Inc(Domain); 466 466 467 // count max number of features in any domain467 // Count max number of features in any domain 468 468 MaxLines := 0; 469 469 for D := 0 to nDomains - 1 do … … 471 471 (MyRO.Tech[upgrade[D, 0].Preq] >= tsApplicable) then 472 472 begin 473 count := 0;473 Count := 0; 474 474 for I := 0 to nFeature - 1 do 475 475 if IsFeatureInList(D, I) then 476 Inc( count);477 if count > MaxLines then478 MaxLines := count;476 Inc(Count); 477 if Count > MaxLines then 478 MaxLines := Count; 479 479 end; 480 480 Cut := (MaxLines0 - MaxLines) * LinePitch; -
trunk/LocalPlayer/Help.pas
r531 r549 965 965 else if Item = 'AITSTAT' then 966 966 for I := 0 to 3 do 967 AddLine(Phrases2.Lookup('AITSTAT', I), pkAITStat, I) 967 AddLine(Phrases2.Lookup('AITSTAT', I), pkAITStat, I); 968 968 end; 969 969 end; … … 1522 1522 for Domain := 0 to nDomains - 1 do 1523 1523 for I := 1 to nUpgrade - 1 do 1524 if upgrade[Domain, I].Preq = No then1524 if Upgrade[Domain, I].Preq = No then 1525 1525 begin 1526 if upgrade[Domain, I].Strength > 0 then1526 if Upgrade[Domain, I].Strength > 0 then 1527 1527 AddLine(Format(HelpText.Lookup('STRENGTHUP'), 1528 1528 [Phrases.Lookup('DOMAIN', Domain), upgrade[Domain, 1529 1529 I].Strength]), pkDomain, Domain); 1530 if upgrade[Domain, I].Trans > 0 then1530 if Upgrade[Domain, I].Trans > 0 then 1531 1531 AddLine(Format(HelpText.Lookup('TRANSUP'), 1532 1532 [Phrases.Lookup('DOMAIN', Domain), upgrade[Domain, I].Trans] … … 1534 1534 if No in FutureTech then 1535 1535 AddLine(Format(HelpText.Lookup('COSTUP'), 1536 [ upgrade[Domain, I].Cost]), pkNormal_Dot)1536 [Upgrade[Domain, I].Cost]), pkNormal_Dot) 1537 1537 else 1538 1538 AddLine(Format(HelpText.Lookup('COSTMIN'), 1539 [ upgrade[Domain, I].Cost]), pkNormal_Dot)1539 [Upgrade[Domain, I].Cost]), pkNormal_Dot) 1540 1540 end; 1541 1541 NextSection('EXPIRATION'); -
trunk/LocalPlayer/IsoEngine.pas
r548 r549 39 39 function IsShoreTile(Loc: Integer): Boolean; 40 40 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; 41 44 procedure SetTileSize(AValue: TTileSize); 42 45 procedure ShadeOutside(x0, y0, Width, Height, xm, ym: Integer); 46 procedure ShowSpacePort(X, Y, Tile: Integer; CityInfo: TCityInfo); 43 47 protected 44 48 FOutput: TBitmap; … … 803 807 end; 804 808 805 function PoleTile(Loc: Integer): Integer;809 function TIsoMap.PoleTile(Loc: Integer): Integer; 806 810 begin { virtual pole tile } 807 811 Result := fUNKNOWN; … … 1047 1051 end; 1048 1052 1053 procedure TIsoMap.NameCity(X, Y, Loc: Integer); 1054 var 1055 cix, xs, W: Integer; 1056 BehindCityInfo: TCityInfo; 1057 S: string; 1058 IsCapital: Boolean; 1059 begin 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; 1078 end; 1079 1080 procedure TIsoMap.PaintBorder(X, Y, Loc, Tile: Integer); 1081 var 1082 dx, dy: Integer; 1083 p1, p2, Loc1: Integer; 1084 begin 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; 1119 end; 1120 1121 procedure TIsoMap.ShowSpacePort(X, Y, Tile: Integer; CityInfo: TCityInfo); 1122 begin 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); 1126 end; 1127 1049 1128 // (x,y) is top left pixel of (2*xxt,3*yyt) rectangle 1050 1129 procedure TIsoMap.PaintTileObjects(X, Y, Loc, CityLoc, CityOwner: Integer; 1051 1130 UseBlink: Boolean); 1052 1131 var 1053 p1, p2, uix, cix, dy, Loc1, Tile, Multi, Destination: Integer;1132 uix, cix, dy, Tile, Multi, Destination: Integer; 1054 1133 CityInfo: TCityInfo; 1055 1134 UnitInfo: TUnitInfo; … … 1057 1136 SpecialRow: Integer; 1058 1137 SpecialCol: Integer; 1059 1060 procedure NameCity;1061 var1062 cix, xs, W: Integer;1063 BehindCityInfo: TCityInfo;1064 S: string;1065 IsCapital: Boolean;1066 begin1067 BehindCityInfo.Loc := Loc - 2 * G.lx;1068 if ShowCityNames and not (moEditMode in MapOptions) and1069 (BehindCityInfo.Loc >= 0) and (BehindCityInfo.Loc < G.lx * G.ly) and1070 (MyMap[BehindCityInfo.Loc] and fCity <> 0) then1071 begin1072 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 then1079 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 then1083 FOutput.Canvas.Font.Style := FOutput.Canvas.Font.Style - [TFontStyle.fsUnderline];1084 end;1085 end;1086 1087 procedure ShowSpacePort;1088 begin1089 if ShowObjects and not (moEditMode in MapOptions) and1090 (Tile and fCity <> 0) and (CityInfo.Flags and ciSpacePort <> 0) then1091 TerrainSprite(X + xxt, Y - 6, spSpacePort);1092 end;1093 1094 procedure PaintBorder;1095 var1096 dx, dy: Integer;1097 begin1098 if ShowBorder and (Loc >= 0) and (Loc < G.lx * G.ly) and1099 (Tile and fTerrain <> fUNKNOWN) then begin1100 p1 := MyRO.Territory[Loc];1101 if (p1 >= 0) and (ShowMyBorder or (p1 <> Me)) then begin1102 if BordersOK^ and (1 shl p1) = 0 then begin1103 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 do1111 for dx := 0 to 1 do begin1112 Loc1 := dLoc(Loc, dx * 2 - 1, dy * 2 - 1);1113 begin1114 if (Loc1 < 0) or (Loc1 >= G.lx * G.ly) then1115 p2 := -11116 else if MyMap[Loc1] and fTerrain = fUNKNOWN then1117 p2 := p11118 else1119 p2 := MyRO.Territory[Loc1];1120 if p2 <> p1 then1121 begin1122 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 1134 1138 begin 1135 1139 if (Loc < 0) or (Loc >= G.lx * G.ly) then … … 1143 1147 (X > FRight) then 1144 1148 begin 1145 NameCity ;1146 ShowSpacePort ;1149 NameCity(X, Y, Loc); 1150 ShowSpacePort(X, Y, Tile, CityInfo); 1147 1151 Exit; 1148 1152 end; 1149 1153 if Tile and fTerrain = fUNKNOWN then 1150 1154 begin 1151 NameCity ;1152 ShowSpacePort ;1155 NameCity(X, Y, Loc); 1156 ShowSpacePort(X, Y, Tile, CityInfo); 1153 1157 Exit; 1154 1158 end; { square not discovered } 1155 1159 1156 1160 if not (FoW and (Tile and fObserved = 0)) then 1157 PaintBorder ;1161 PaintBorder(X, Y, Loc, Tile); 1158 1162 1159 1163 if (Loc >= 0) and (Loc < G.lx * G.ly) and (Loc = FAdviceLoc) then … … 1211 1215 1212 1216 if FoW and (Tile and fObserved = 0) then 1213 PaintBorder ;1217 PaintBorder(X, Y, Loc, Tile); 1214 1218 1215 1219 {$IFNDEF SCR} … … 1239 1243 else TerrainSprite(X, Y, 8 + 9 * 1); } 1240 1244 1241 NameCity ;1242 ShowSpacePort ;1245 NameCity(X, Y, Loc); 1246 ShowSpacePort(X, Y, Tile, CityInfo); 1243 1247 if Tile and fCity <> 0 then 1244 1248 PaintCity(X + xxt, Y + yyt, CityInfo, CityOwner < 0); … … 1383 1387 begin 1384 1388 Result := False; 1385 for Dir := 0 to 7 do 1386 begin 1389 for Dir := 0 to 7 do begin 1387 1390 ConnLoc := dLoc(Loc, Dirx[Dir], Diry[Dir]); 1388 1391 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; 1391 1396 end; 1392 1397 end; -
trunk/LocalPlayer/NatStat.pas
r536 r549 229 229 HasContact := False; 230 230 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 232 232 HasContact := True; 233 Break; 234 end; 233 235 if HasContact then 234 236 begin -
trunk/LocalPlayer/Nego.pas
r531 r549 366 366 begin 367 367 MyAllowed := MyAllowed + [opAllTech shr 24]; 368 Break 368 Break; 369 369 end; 370 370 OppoAllowed := OppoAllowed + [opCivilReport shr 24, opAllTech shr 24]; -
trunk/LocalPlayer/Select.pas
r536 r549 1119 1119 if (Loc1 >= 0) and (Loc1 < G.lx * G.ly) and 1120 1120 ((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; 1123 1125 end; 1124 1126 end … … 1166 1168 for I := 0 to nDomains - 1 do 1167 1169 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; 1170 1174 if Ok then { new unit class } 1171 1175 begin … … 1273 1277 with MyRO.EnemyReport[Column[J]]^ do 1274 1278 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; 1277 1283 if Ok then 1278 1284 begin … … 1333 1339 for emix := 0 to MyRO.nEnemyModel - 1 do 1334 1340 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; 1337 1345 if Ok then 1338 1346 begin … … 1439 1447 end; 1440 1448 SortModels; 1441 FirstShrinkedLine[0] := 0 1449 FirstShrinkedLine[0] := 0; 1442 1450 end; 1443 1451 kTribe: … … 1554 1562 MultiPage := False; 1555 1563 for I := 1 to MaxLayer - 1 do 1556 if Lines[I] > 0 then 1564 if Lines[I] > 0 then begin 1557 1565 MultiPage := True; 1566 Break; 1567 end; 1558 1568 WideBottom := MultiPage or (Kind = kScience) or 1559 1569 not Phrases2FallenBackToEnglish and … … 1737 1747 ((AdvValue[I] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and 1738 1748 ((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; 1741 1753 end; 1742 1754 ToggleBtn.Visible := (Kind = kCities) and not Supervising or (Kind = kAdvance) -
trunk/LocalPlayer/Term.pas
r545 r549 1228 1228 IsTreatyDeal := False; 1229 1229 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 1231 1231 IsTreatyDeal := True; 1232 Break; 1233 end; 1232 1234 if IsTreatyDeal then 1233 1235 Play('NEWTREATY') … … 1466 1468 var 1467 1469 I, cix, mix: Integer; 1468 need: Boolean;1470 Need: Boolean; 1469 1471 mi: TModelInfo; 1470 1472 begin … … 1475 1477 end; 1476 1478 if (sbWonder in Check) and not (sbWonder in SoundPreloadDone) then begin 1477 need := False;1479 Need := False; 1478 1480 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 1482 1486 for I := 0 to nWonderBlock - 1 do 1483 1487 PreparePlay(WonderBlock[I]); … … 1630 1634 for I := 0 to nShipPart - 1 do 1631 1635 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; 1636 1638 end; 1637 1639 if Ship1Plus and Ship2Plus then … … 2140 2142 for cix := 0 to MyRO.nCity - 1 do 2141 2143 if (MyCity[cix].Loc >= 0) and (MyCity[cix].ID = MyRO.Wonder[I].CityID) 2142 then 2144 then begin 2143 2145 OwnWonder := True; 2146 Break; 2147 end; 2144 2148 if MyRO.Wonder[I].CityID <> MyData.ToldWonders[I].CityID then 2145 2149 begin … … 3029 3033 IsTreatyDeal := False; 3030 3034 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 3032 3036 IsTreatyDeal := True; 3037 Break; 3038 end; 3033 3039 if IsTreatyDeal then 3034 3040 Play('NEWTREATY') … … 3995 4001 for I := 2 to nGov - 1 do 3996 4002 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; 3999 4007 4000 4008 if not AltGovs then … … 4296 4304 begin 4297 4305 Result := True; 4298 Exit 4306 Exit; 4299 4307 end; 4300 4308 end … … 4490 4498 Skipped := WasSkipped; 4491 4499 for p1 := 1 to nPl - 1 do 4492 if G.RO[p1] <> nil then 4500 if G.RO[p1] <> nil then begin 4493 4501 Skipped := True; // don't show enemy moves in hotseat mode 4502 Break; 4503 end; 4494 4504 end 4495 4505 else … … 7465 7475 Multi := False; 7466 7476 for p1 := 1 to nPl - 1 do 7467 if G.RO[p1] <> nil then 7477 if G.RO[p1] <> nil then begin 7468 7478 Multi := True; 7479 Break; 7480 end; 7469 7481 mEnemyMovement.Visible := not Multi; 7470 7482 end; … … 7560 7572 for p1 := 0 to nPl - 1 do 7561 7573 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; 7564 7578 end 7565 7579 else if Popup = UnitPopup then … … 7685 7699 if NeedSep then 7686 7700 LastSep := Popup.Items[I]; 7687 NeedSep := False 7701 NeedSep := False; 7688 7702 end 7689 7703 else if Popup.Items[I].Visible then 7690 7704 NeedSep := True; 7691 7705 if (LastSep <> nil) and not NeedSep then 7692 LastSep.Visible := False 7706 LastSep.Visible := False; 7693 7707 end; 7694 7708
Note:
See TracChangeset
for help on using the changeset viewer.