Changeset 550
- Timestamp:
- Apr 22, 2024, 10:17:01 PM (7 months ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/CityProcessing.pas
r549 r550 1401 1401 and (TileInfo.Prod <= Hierarchy[iH, iT].Prod) and 1402 1402 (TileInfo.Trade <= Hierarchy[iH, iT].Trade) and 1403 not ((TileInfo.Food = Hierarchy[iH, iT].Food) and1403 not ((TileInfo.Food = Hierarchy[iH, iT].Food) and 1404 1404 (TileInfo.Prod = Hierarchy[iH, iT].Prod) and 1405 1405 (TileInfo.Trade = Hierarchy[iH, iT].Trade) and -
trunk/Database.pas
r549 r550 1895 1895 if NewTile and fRR <> 0 then 1896 1896 NewTile := NewTile and not fRoad; 1897 if not ((NewTile and fTerrain) in TerrType_Canalable) then1897 if not ((NewTile and fTerrain) in TerrType_Canalable) then 1898 1898 NewTile := NewTile and not fCanal; 1899 1899 if Terrain[NewTile and fTerrain].IrrEff = 0 then … … 1961 1961 begin // search exploiting player and city 1962 1962 SearchCity(UsedByCity[Loc], P, cix); 1963 if not ((P = p0) or (ObserveLevel[UsedByCity[Loc]] shr (2 * p0) and1963 if not ((P = p0) or (ObserveLevel[UsedByCity[Loc]] shr (2 * p0) and 1964 1964 3 = lObserveSuper)) then 1965 1965 cix := -1 … … 2767 2767 Dec(TerritoryCount[RealMap[Loc] shr 27]); 2768 2768 Inc(TerritoryCount[P]); 2769 RealMap[Loc] := RealMap[Loc] and not ($F shl 27) or Cardinal(P) shl 27;2769 RealMap[Loc] := RealMap[Loc] and not ($F shl 27) or Cardinal(P) shl 27; 2770 2770 if P = $F then 2771 2771 P := -1; … … 2921 2921 if NewOwner <> OldOwner then 2922 2922 if AtPeace[NewOwner, OldOwner] and 2923 not ((OldOwner = PlayerLosingCity) and2923 not ((OldOwner = PlayerLosingCity) and 2924 2924 (StolenDist[Loc] > CountryRadius)) then 2925 2925 NewOwner := OldOwner // peace fixes borders -
trunk/GameServer.pas
r549 r550 2738 2738 2739 2739 if (1 shl Player and (GAlive or GWatching) = 0) and 2740 not ((Command = sTurn) or (Command = sBreak) or (Command = sResign) or2740 not ((Command = sTurn) or (Command = sBreak) or (Command = sResign) or 2741 2741 (Command = sGetAIInfo) or (Command = sGetAICredits) or 2742 2742 (Command = sGetVersion) or (Command and $FF0F = sGetChart)) then … … 2750 2750 2751 2751 // check if command allowed now 2752 if (Mode = moPlaying) and not ((Command >= cClientEx) or (Command = sMessage)2752 if (Mode = moPlaying) and not ((Command >= cClientEx) or (Command = sMessage) 2753 2753 or (Command = sSetDebugMap) or (Command = sGetDebugMap) or 2754 2754 (Command = sGetAIInfo) or (Command = sGetAICredits) or … … 2760 2760 (Command and $FF0F = sGetChart) or (Command and $FF0F = sSetAttitude)) 2761 2761 // commands always allowed 2762 and not ((Player = pTurn) and (Command < $1000))2762 and not ((Player = pTurn) and (Command < $1000)) 2763 2763 // info request always allowed for pTurn 2764 2764 and ((pDipActive < 0) and (Player <> pTurn) // not his turn … … 3870 3870 if 1 shl Domain and Feature[Subject].Domains = 0 then 3871 3871 Result := eDomainMismatch 3872 else if not ((Feature[Subject].Preq = preNone) or3872 else if not ((Feature[Subject].Preq = preNone) or 3873 3873 (Feature[Subject].Preq = preSun) and 3874 3874 (GWonder[woSun].EffectiveOwner = Player) or … … 4200 4200 Result := eInvalid 4201 4201 else if (NewProject and cpConscripts <> 0) and 4202 not ((RW[Player].Tech[adConscription] >= tsApplicable) and4202 not ((RW[Player].Tech[adConscription] >= tsApplicable) and 4203 4203 (RW[Player].Model[NewProject and cpIndex].Domain = dGround) 4204 4204 and (RW[Player].Model[NewProject and cpIndex].Kind < mkScout)) -
trunk/LocalPlayer/CityScreen.pas
r549 r550 1188 1188 begin 1189 1189 I := 5; 1190 while (I >= 0) and not ((X >= xZoomMap + 14 + 72 * (I mod 3)) and1190 while (I >= 0) and not ((X >= xZoomMap + 14 + 72 * (I mod 3)) and 1191 1191 (X < xZoomMap + 14 + 56 + 72 * (I mod 3)) and 1192 1192 (Y >= yZoomMap + 14 + 56 * (I div 3)) and … … 1299 1299 begin 1300 1300 I := 5; 1301 while (I >= 0) and not ((X >= xZoomMap + 64 * (I mod 3)) and1301 while (I >= 0) and not ((X >= xZoomMap + 64 * (I mod 3)) and 1302 1302 (X < xZoomMap + 64 + 64 * (I mod 3)) and 1303 1303 (Y >= yZoomMap + 20 + 48 * (I div 3)) and -
trunk/LocalPlayer/Diagram.pas
r536 r550 111 111 Sprite(Canvas, HGrSystem2, Left + Width div 2 + xComp[3] + 32, 112 112 Top + 100 + 46 + yComp[3], 16, 27, 18, 82); 113 if (nComp <> 6) and (nComp <> 2) and not ((nComp = 0) and (nPow < 1)) then113 if (nComp <> 6) and (nComp <> 2) and not ((nComp = 0) and (nPow < 1)) then 114 114 Sprite(Canvas, HGrSystem2, Left + Width div 2 + xComp[nComp], 115 115 Top + 100 + 7 + yComp[nComp], 16, 27, 18, 82); 116 if (nComp <> 6) and (nComp <> 3) and not ((nComp = 0) and (nPow < 2)) then116 if (nComp <> 6) and (nComp <> 3) and not ((nComp = 0) and (nPow < 2)) then 117 117 Sprite(Canvas, HGrSystem2, Left + Width div 2 + xComp[nComp], 118 118 Top + 100 + 46 + yComp[nComp], 16, 27, 18, 82); -
trunk/LocalPlayer/Draft.pas
r549 r550 379 379 ((Feature[I].Preq = preSun) and (MyRO.Wonder[woSun].EffectiveOwner = Me) 380 380 or (Feature[I].Preq >= 0) and (MyRO.Tech[Feature[I].Preq] >= tsApplicable) 381 ) and not ((Feature[I].Preq = adSteamEngine) and381 ) and not ((Feature[I].Preq = adSteamEngine) and 382 382 (MyRO.Tech[adNuclearPower] >= tsApplicable)) then 383 383 begin -
trunk/LocalPlayer/Help.pas
r549 r550 567 567 else if HelpLineInfo.CrossLink then 568 568 Sprite(OffScreen, HGrSystem, 12, I * 24 + 5, 14, 14, 80, 1) 569 else if not ((Kind = hkMisc) and (No = Integer(miscMain))) then569 else if not ((Kind = hkMisc) and (No = Integer(miscMain))) then 570 570 Sprite(OffScreen, HGrSystem, 10, I * 24 + 6, 14, 14, 65, 1); 571 571 x0[I] := 24; -
trunk/LocalPlayer/IsoEngine.pas
r549 r550 988 988 begin 989 989 Conn := Connection4(Loc, fRiver, fRiver) or 990 Connection4(Loc, fTerrain, fShore) or Connection4(Loc, fTerrain, 991 fUNKNOWN); 990 Connection4(Loc, fTerrain, fShore) or Connection4(Loc, fTerrain, fUNKNOWN); 992 991 TerrainSprite(X, Y, spRiver + Conn mod 8 + (Conn div 8) * TerrainIconCols); 993 992 end; … … 1260 1259 UnitInfo.Health := DefHealth; 1261 1260 if (UnitInfo.Owner <> CityOwner) and 1262 not ((CityOwner = Me) and (MyRO.Treaty[UnitInfo.Owner] = trAlliance))1261 not ((CityOwner = Me) and (MyRO.Treaty[UnitInfo.Owner] = trAlliance)) 1263 1262 then 1264 1263 {$IFNDEF SCR} if (UnFocus >= 0) and (Loc = MyUn[UnFocus].Loc) then { active unit } -
trunk/LocalPlayer/Select.pas
r549 r550 181 181 LoweredTextOut(Canvas, -1, MainTexture, 182 182 (Width - BiColorTextWidth(Canvas, S)) div 2, 31, S); 183 if not MultiPage and (Kind in [kProject, kAdvance, kFarAdvance]) and not Phrases2FallenBackToEnglish 184 then 185 begin 183 if not MultiPage and (Kind in [kProject, kAdvance, kFarAdvance]) and 184 not Phrases2FallenBackToEnglish then begin 186 185 S := Phrases2.Lookup('SHIFTCLICK'); 187 186 LoweredTextOut(Canvas, -2, MainTexture, … … 1396 1395 Code[1, Lines[0]] := MyRO.nEnemyModel - 1; 1397 1396 while (Code[1, Lines[0]] >= 0) and 1398 not ((MyRO.EnemyModel[Code[1, Lines[0]]].Owner = pView) and1397 not ((MyRO.EnemyModel[Code[1, Lines[0]]].Owner = pView) and 1399 1398 (MyRO.EnemyModel[Code[1, Lines[0]]].mix = I)) do 1400 1399 Dec(Code[1, Lines[0]]); … … 1678 1677 begin 1679 1678 ForceClose := (ListKind <> Kind) and 1680 not ((Kind = kCities) and (ListKind = kCityEvents)) and1681 not ((Kind = kCityEvents) and (ListKind = kCities)) and1682 not ((Kind = kModels) and (ListKind = kEModels)) and1683 not ((Kind = kEModels) and (ListKind = kModels));1679 not ((Kind = kCities) and (ListKind = kCityEvents)) and 1680 not ((Kind = kCityEvents) and (ListKind = kCities)) and 1681 not ((Kind = kModels) and (ListKind = kEModels)) and 1682 not ((Kind = kEModels) and (ListKind = kModels)); 1684 1683 1685 1684 Kind := ListKind; -
trunk/LocalPlayer/Term.pas
r549 r550 1279 1279 Loc0: Integer; 1280 1280 begin 1281 Assert(not ((uix >= 0) and Supervising));1281 Assert(not ((uix >= 0) and Supervising)); 1282 1282 if uix <> UnFocus then 1283 1283 begin … … 3082 3082 cShowUnitChanged, cShowCityChanged, cShowAfterMove, cShowAfterAttack: 3083 3083 if (Idle and (NewPlayer = Me) or not Idle and not skipped) and 3084 not ((GameMode = cMovie) and (MovieSpeed = 4)) then3084 not ((GameMode = cMovie) and (MovieSpeed = 4)) then 3085 3085 begin 3086 3086 Assert(NewPlayer = Me); … … 3146 3146 if (Idle and (NewPlayer = Me) or not Idle and not skipped and 3147 3147 (TShowMove(Data).emix <> $FFFF)) and 3148 not ((GameMode = cMovie) and (MovieSpeed = 4)) then3148 not ((GameMode = cMovie) and (MovieSpeed = 4)) then 3149 3149 begin 3150 3150 Assert(NewPlayer = Me); … … 3327 3327 if (Idle and (NewPlayer = Me) or not Idle and not skipped and 3328 3328 (TShowMove(Data).emix <> $FFFF)) and 3329 not ((GameMode = cMovie) and (MovieSpeed = 4)) then3329 not ((GameMode = cMovie) and (MovieSpeed = 4)) then 3330 3330 begin 3331 3331 Assert(NewPlayer = Me); … … 6023 6023 begin // attack -- search enemy unit 6024 6024 if (MyModel[MyUn[UnFocus].mix].Attack = 0) and 6025 not ((MyModel[MyUn[UnFocus].mix].Cap[mcBombs] > 0) and6025 not ((MyModel[MyUn[UnFocus].mix].Cap[mcBombs] > 0) and 6026 6026 (MyUn[UnFocus].Flags and unBombsLoaded <> 0)) then 6027 6027 begin … … 7619 7619 ((MyRO.Wonder[woGardens].EffectiveOwner = Me) or 7620 7620 (Tile and fTerrain <> fArctic) and (Tile and fTerrain <> fDesert)) and 7621 not ((mox.Domain = dAir) and (Tile and fCity = 0) and7621 not ((mox.Domain = dAir) and (Tile and fCity = 0) and 7622 7622 (Tile and fTerImp <> tiBase)); 7623 mStay.Visible := not ((mox.Domain = dAir) and (Tile and fCity = 0) and7623 mStay.Visible := not ((mox.Domain = dAir) and (Tile and fCity = 0) and 7624 7624 (Tile and fTerImp <> tiBase)); 7625 7625 mCity.Visible := Extended and (mox.Kind = mkSettler) or -
trunk/UnitProcessing.pas
r447 r550 293 293 end 294 294 else if (PModel.Attack = 0) and 295 not ((PModel.Cap[mcBombs] > 0) and (Flags and unBombsLoaded <> 0))295 not ((PModel.Cap[mcBombs] > 0) and (Flags and unBombsLoaded <> 0)) 296 296 then 297 297 begin … … 495 495 Exit; 496 496 end; 497 if (PModel.Attack = 0) and not ((PModel.Cap[mcBombs] > 0) and497 if (PModel.Attack = 0) and not ((PModel.Cap[mcBombs] > 0) and 498 498 (FlagsAtt and unBombsLoaded <> 0) and (DModel.Domain < dAir)) then 499 499 begin … … 890 890 ToTile := Map[Loc1]; 891 891 if (Loc1 = A.ToLoc) and (ToTile and (fUnit or fOwned) = fUnit) and 892 not ((MoveInfo and 3 = gmaSea) and (FromTile and fTerrain >= fGrass))893 and not ((MoveInfo and 3 = gmaAir) and ((FromTile and fCity <> 0) or892 not ((MoveInfo and 3 = gmaSea) and (FromTile and fTerrain >= fGrass)) 893 and not ((MoveInfo and 3 = gmaAir) and ((FromTile and fCity <> 0) or 894 894 (FromTile and fTerImp = tiBase))) then 895 895 begin // attack position found … … 1309 1309 TerrType := RealMap[Loc0] and fTerrain; 1310 1310 if (RealMap[Loc0] and fCity <> 0) or (TerrType < fGrass) or (Master >= 0) or 1311 not ((NewJob = jPillage) and (RW[P].Model[mix].Domain = dGround) or1311 not ((NewJob = jPillage) and (RW[P].Model[mix].Domain = dGround) or 1312 1312 (RW[P].Model[mix].Kind = mkSettler) or (NewJob <> jCity) and 1313 1313 (RW[P].Model[mix].Kind = mkSlaves) and (GWonder[woPyramids].EffectiveOwner -
trunk/readme.txt
r422 r550 2 2 =================== 3 3 4 * Developed with: Lazarus 2.2.0 (https://www.lazarus-ide.org/)5 4 * Supported platforms: Windows and Linux 6 5 * Supported architectures: 32-bit and 64-bit x86 … … 19 18 * Design time components converted to Lazarus package (cevocomponenets.lpk) 20 19 * User configurable key bindings 20 * High DPI screens support 21 21 22 22 = Development = … … 24 24 * Home page: https://app.zdechov.net/c-evo/ 25 25 * Source code: https://svn.zdechov.net/c-evo/ 26 * Developed in [http://www.lazarus-ide.org/ Lazarus/FPC] 2.2.026 * Developed in [http://www.lazarus-ide.org/ Lazarus/FPC] 3.2.0 27 27 * To build new Windows installer run Install/build.bat. InnoSetup (http://www.jrsoftware.org/isdl.php) needs to be installed). 28 28 … … 39 39 The C-evo sources 40 40 41 - Please read the "Module Concept" section of the document 41 - Please read the "Module Concept" section of the document 42 42 http://c-evo.org/aidev.html 43 to understand the client/server architecture of the game before you 43 to understand the client/server architecture of the game before you 44 44 try to understand the rest. 45 45 46 46 - The package includes components named TButtonA, TButtonB, TButtonC, 47 TButtonN and TEOTButton. You must install these before you open the 47 TButtonN and TEOTButton. You must install these before you open the 48 48 cevo project. 49 49
Note:
See TracChangeset
for help on using the changeset viewer.