diff --git a/GameSettings.cpp b/GameSettings.cpp index 891df93e..377260e5 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -2190,6 +2190,8 @@ void LoadGameExternalOptions() // sevenfm: improved auto fast forwarding gGameExternalOptions.ubAutoFastForwardEnemies = iniReader.ReadInteger("Clock Settings","AUTO_FAST_FORWARD_ENEMIES", 0, 0, 3); gGameExternalOptions.ubAutoFastForwardMilitia = iniReader.ReadInteger("Clock Settings", "AUTO_FAST_FORWARD_MILITIA", 0, 0, 2); + gGameExternalOptions.ubAutoFastForwardCivs = iniReader.ReadInteger("Clock Settings", "AUTO_FAST_FORWARD_CIVS", 0, 0, 2); + gGameExternalOptions.ubAutoFastForwardCreatures = iniReader.ReadInteger("Clock Settings", "AUTO_FAST_FORWARD_CREATURES", 0, 0, 2); } diff --git a/GameSettings.h b/GameSettings.h index 6c4c69e0..7eddcede 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -1280,6 +1280,8 @@ typedef struct // sevenfm: improved auto fast forwarding UINT8 ubAutoFastForwardEnemies; UINT8 ubAutoFastForwardMilitia; + UINT8 ubAutoFastForwardCivs; + UINT8 ubAutoFastForwardCreatures; // Flugente: Weapon Overheating BOOLEAN fWeaponOverheating; // Should weapons overheat, thus increasing the chance of malfunction? diff --git a/Tactical/Interface.cpp b/Tactical/Interface.cpp index 1b3f664c..0d24b150 100644 --- a/Tactical/Interface.cpp +++ b/Tactical/Interface.cpp @@ -1876,7 +1876,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) BOOLEAN bInCombat = gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT; BOOLEAN bStealth = pSoldier->bStealthMode || pSoldier->bSoldierFlagMask & ( SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER ); // sevenfm: for mercs use name color as cover indicator - if( pSoldier->bSide == 0 && ! ( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_ROBOT) ) && + if( pSoldier->bTeam == OUR_TEAM && ! ( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_ROBOT) ) && ( ( gGameExternalOptions.ubShowCoverIndicator == 2 && ( bInCombat || bStealth ) ) || ( gGameExternalOptions.ubShowCoverIndicator == 4 && bStealth ) ) ) { @@ -6067,8 +6067,9 @@ BOOLEAN CoverColorCode( INT8 cover, INT16 &color8, INT16 &color16 ){ switch(cover) { case 0: - color8 = COLOR_RED; - color16 = Get16BPPColor( FROMRGB( 200, 0, 0 ) ); + //color8 = COLOR_RED; + color8 = FONT_MCOLOR_RED; + color16 = Get16BPPColor( FROMRGB( 220, 0, 0 ) ); break; case 1: color8 = COLOR_ORANGE; diff --git a/TacticalAI/AIMain.cpp b/TacticalAI/AIMain.cpp index 4e678332..ec9da885 100644 --- a/TacticalAI/AIMain.cpp +++ b/TacticalAI/AIMain.cpp @@ -2650,6 +2650,38 @@ void UpdateFastForwardMode( SOLDIERTYPE* pSoldier ) break; } } + else if ( pSoldier->bTeam == CIV_TEAM ) + { + switch( gGameExternalOptions.ubAutoFastForwardCivs ) + { + case 0: // default mode + forward = gGameSettings.fOptions[TOPTION_AUTO_FAST_FORWARD_MODE]; + break; + case 1: // auto fast forward only invisible civs + if( pSoldier->bVisible == -1 ) + forward = TRUE && !action; + break; + case 2: // auto fast forward civs always + forward = TRUE && !action; + break; + } + } + else if ( pSoldier->bTeam == CREATURE_TEAM ) + { + switch( gGameExternalOptions.ubAutoFastForwardCreatures ) + { + case 0: // default mode + forward = gGameSettings.fOptions[TOPTION_AUTO_FAST_FORWARD_MODE]; + break; + case 1: // auto fast forward only invisible + if( pSoldier->bVisible == -1 ) + forward = TRUE && !action; + break; + case 2: // auto fast forward always + forward = TRUE && !action; + break; + } + } else { switch ( gGameExternalOptions.ubAutoFastForwardEnemies )