From cf6aaf37a4c583e4a4cdff36da534d01bbbc3772 Mon Sep 17 00:00:00 2001 From: wraitii Date: Sat, 28 Nov 2020 09:14:29 +0000 Subject: [PATCH] Fix visual-replays not processing turn 0 commands. Use FinishedOwnCommands, which is intented to plan commands for the N+2 turn, but can be used to run commands immediately by the replay manager, and unlike FinishedUpdate is called before the first update. Reported by: Freagarach Fixes #5546 Differential Revision: https://code.wildfiregames.com/D3067 This was SVN commit r24280. --- source/simulation2/system/ReplayTurnManager.cpp | 6 +++--- source/simulation2/system/ReplayTurnManager.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/simulation2/system/ReplayTurnManager.cpp b/source/simulation2/system/ReplayTurnManager.cpp index 189b893ca7..76bfdfd54b 100644 --- a/source/simulation2/system/ReplayTurnManager.cpp +++ b/source/simulation2/system/ReplayTurnManager.cpp @@ -57,10 +57,10 @@ void CReplayTurnManager::StoreFinalReplayTurn(u32 turn) m_FinalTurn = turn; } -void CReplayTurnManager::NotifyFinishedUpdate(u32 turn) +void CReplayTurnManager::NotifyFinishedOwnCommands(u32 turn) { - if (turn == 1 && m_FinalTurn == 0) - g_GUI->SendEventToAll(EventNameReplayFinished); + CLocalTurnManager::NotifyFinishedOwnCommands(turn); + turn = turn - COMMAND_DELAY; if (turn > m_FinalTurn) return; diff --git a/source/simulation2/system/ReplayTurnManager.h b/source/simulation2/system/ReplayTurnManager.h index d1b1ce394e..013302f093 100644 --- a/source/simulation2/system/ReplayTurnManager.h +++ b/source/simulation2/system/ReplayTurnManager.h @@ -37,7 +37,7 @@ public: void StoreFinalReplayTurn(u32 turn); private: - void NotifyFinishedUpdate(u32 turn) override; + void NotifyFinishedOwnCommands(u32 turn) override; void DoTurn(u32 turn);