Fix: use system time instead of game time for breaking AI deadlock as game time is affected by fast timer mode, as a result breaking AI decision before it can execute normally.

Allow to break AI deadlock manually by pressing ESC key after 10 seconds, auto break AI after DEAD_LOCK_DELAY seconds.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9383 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2022-05-10 18:45:19 +00:00
parent 3fa2758399
commit dc8fffb471
2 changed files with 17 additions and 4 deletions
+5 -1
View File
@@ -65,6 +65,9 @@ extern INT8 STRAIGHT;
//extern UINT8 gubSpeedUpAnimationFactor;
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
// sevenfm
time_t gtTimeSinceMercAIStart;
void RecalculateSoldiersAniSpeed()
{
UINT32 uiLoop;
@@ -763,7 +766,8 @@ void DisplayHiddenTurnbased( SOLDIERTYPE * pActingSoldier )
pActingSoldier->SetSoldierAsUnderAiControl( );
DebugAI( String( "Giving AI control to %d", pActingSoldier->ubID ) );
pActingSoldier->flags.fTurnInProgress = TRUE;
gTacticalStatus.uiTimeSinceMercAIStart = GetJA2Clock();
gTacticalStatus.uiTimeSinceMercAIStart = GetJA2Clock();
gtTimeSinceMercAIStart = time(0); // sevenfm: also remember system time
if ( gTacticalStatus.ubTopMessageType != COMPUTER_TURN_MESSAGE)
{