Index: source/ps/Game.cpp =================================================================== --- source/ps/Game.cpp +++ source/ps/Game.cpp @@ -168,7 +168,7 @@ CancelLoad(L"Failed to load replay data (unrecognized content)"); } SAFE_DELETE(m_ReplayStream); - m_FinalReplayTurn = currentTurn > 0 ? currentTurn - 1 : 0; + m_FinalReplayTurn = currentTurn - 1; replayTurnMgr->StoreFinalReplayTurn(m_FinalReplayTurn); return 0; } Index: source/simulation2/system/ReplayTurnManager.h =================================================================== --- source/simulation2/system/ReplayTurnManager.h +++ source/simulation2/system/ReplayTurnManager.h @@ -37,7 +37,7 @@ void StoreFinalReplayTurn(u32 turn); private: - void NotifyFinishedUpdate(u32 turn) override; + void NotifyFinishedOwnCommands(u32 turn) override; void DoTurn(u32 turn); Index: source/simulation2/system/ReplayTurnManager.cpp =================================================================== --- source/simulation2/system/ReplayTurnManager.cpp +++ source/simulation2/system/ReplayTurnManager.cpp @@ -57,10 +57,10 @@ 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;