From 9752f8ac870c267fa72e188e184db32cd8e7fe49 Mon Sep 17 00:00:00 2001 From: Sour Date: Thu, 14 Nov 2019 20:15:54 -0500 Subject: [PATCH] Movies: Ignore battery save files for Bizhawk/FCEUX movies --- Core/BizhawkMovie.cpp | 7 +++++++ Core/BizhawkMovie.h | 4 +++- Core/FceuxMovie.cpp | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Core/BizhawkMovie.cpp b/Core/BizhawkMovie.cpp index 02bede33..8e4efa22 100644 --- a/Core/BizhawkMovie.cpp +++ b/Core/BizhawkMovie.cpp @@ -6,6 +6,7 @@ #include "BizhawkMovie.h" #include "VsControlManager.h" #include "Console.h" +#include "BatteryManager.h" #include "NotificationManager.h" BizhawkMovie::BizhawkMovie(shared_ptr console) @@ -197,6 +198,7 @@ bool BizhawkMovie::Play(VirtualFile &file) _console->GetNotificationManager()->RegisterNotificationListener(shared_from_this()); _console->GetSettings()->SetRamPowerOnState(RamPowerOnState::AllOnes); + _console->GetBatteryManager()->SetBatteryProvider(shared_from_this()); if(InitializeInputData(reader) && InitializeGameData(reader)) { //NesHawk initializes memory to 1s _isPlaying = true; @@ -216,3 +218,8 @@ void BizhawkMovie::ProcessNotification(ConsoleNotificationType type, void* param _console->GetControlManager()->RegisterInputProvider(this); } } + +vector BizhawkMovie::LoadBattery(string extension) +{ + return vector(); +} diff --git a/Core/BizhawkMovie.h b/Core/BizhawkMovie.h index 51f69936..901353ae 100644 --- a/Core/BizhawkMovie.h +++ b/Core/BizhawkMovie.h @@ -3,11 +3,12 @@ #include "MovieManager.h" #include "../Utilities/ZipReader.h" #include "INotificationListener.h" +#include "BatteryManager.h" class VirtualFile; class Console; -class BizhawkMovie : public IMovie, public INotificationListener, public std::enable_shared_from_this +class BizhawkMovie : public IMovie, public INotificationListener, public IBatteryProvider, public std::enable_shared_from_this { private: bool InitializeGameData(ZipReader &reader); @@ -32,4 +33,5 @@ public: // Inherited via INotificationListener virtual void ProcessNotification(ConsoleNotificationType type, void * parameter) override; + virtual vector LoadBattery(string extension) override; }; \ No newline at end of file diff --git a/Core/FceuxMovie.cpp b/Core/FceuxMovie.cpp index 8d9c032a..adfc7103 100644 --- a/Core/FceuxMovie.cpp +++ b/Core/FceuxMovie.cpp @@ -34,7 +34,7 @@ bool FceuxMovie::InitializeData(stringstream &filestream) } } else if(line.size() > 0 && line[0] == '|') { vector lineData = StringUtilities::Split(line.substr(1), '|'); - + if(lineData.size() == 0) { continue; } @@ -68,6 +68,7 @@ bool FceuxMovie::Play(VirtualFile &file) std::stringstream ss; file.ReadFile(ss); _console->GetNotificationManager()->RegisterNotificationListener(shared_from_this()); + _console->GetBatteryManager()->SetBatteryProvider(shared_from_this()); if(InitializeData(ss)) { _console->Reset(false); _isPlaying = true;