diff --git a/Core/Console.cpp b/Core/Console.cpp index 4e8581e4..0c64b837 100644 --- a/Core/Console.cpp +++ b/Core/Console.cpp @@ -436,6 +436,10 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile, bool forP _notificationManager->SendNotification(ConsoleNotificationType::VsDualSystemStarted); } } + + //Used by netplay to take save state after UpdateInputState() is called above, to ensure client+server are in sync + _notificationManager->SendNotification(ConsoleNotificationType::GameInitCompleted); + Resume(); return true; } else { diff --git a/Core/GameServerConnection.cpp b/Core/GameServerConnection.cpp index 84ab1969..da9525db 100644 --- a/Core/GameServerConnection.cpp +++ b/Core/GameServerConnection.cpp @@ -191,12 +191,12 @@ void GameServerConnection::ProcessNotification(ConsoleNotificationType type, voi { switch(type) { case ConsoleNotificationType::GamePaused: - case ConsoleNotificationType::GameLoaded: case ConsoleNotificationType::GameResumed: case ConsoleNotificationType::GameReset: case ConsoleNotificationType::StateLoaded: case ConsoleNotificationType::CheatAdded: case ConsoleNotificationType::ConfigChanged: + case ConsoleNotificationType::GameInitCompleted: SendGameInformation(); break; default: diff --git a/Core/INotificationListener.h b/Core/INotificationListener.h index ab29cfe4..781f2f70 100644 --- a/Core/INotificationListener.h +++ b/Core/INotificationListener.h @@ -25,6 +25,7 @@ enum class ConsoleNotificationType BeforeEmulationStop = 19, VsDualSystemStarted = 20, VsDualSystemStopped = 21, + GameInitCompleted = 22, }; class INotificationListener