diff --git a/Source/Core/Core/FifoPlayer/FifoPlayer.cpp b/Source/Core/Core/FifoPlayer/FifoPlayer.cpp index e8438f3002..5fcb2acda3 100644 --- a/Source/Core/Core/FifoPlayer/FifoPlayer.cpp +++ b/Source/Core/Core/FifoPlayer/FifoPlayer.cpp @@ -168,6 +168,17 @@ std::unique_ptr FifoPlayer::GetCPUCore() return std::make_unique(this); } +void FifoPlayer::SetFileLoadedCallback(CallbackFunc callback) +{ + m_FileLoadedCb = callback; + + // Trigger the callback immediatly if the file is already loaded. + if (GetFile() != nullptr) + { + m_FileLoadedCb(); + } +} + bool FifoPlayer::IsRunningWithFakeVideoInterfaceUpdates() const { if (!m_File || m_File->GetFrameCount() == 0) diff --git a/Source/Core/Core/FifoPlayer/FifoPlayer.h b/Source/Core/Core/FifoPlayer/FifoPlayer.h index 48b6b5db7d..1b22eb2849 100644 --- a/Source/Core/Core/FifoPlayer/FifoPlayer.h +++ b/Source/Core/Core/FifoPlayer/FifoPlayer.h @@ -93,7 +93,7 @@ public: // Default is disabled void SetEarlyMemoryUpdates(bool enabled) { m_EarlyMemoryUpdates = enabled; } // Callbacks - void SetFileLoadedCallback(CallbackFunc callback) { m_FileLoadedCb = callback; } + void SetFileLoadedCallback(CallbackFunc callback); void SetFrameWrittenCallback(CallbackFunc callback) { m_FrameWrittenCb = callback; } static FifoPlayer& GetInstance();