diff --git a/src/common/StateManager.cxx b/src/common/StateManager.cxx index 3e55b1807..34488cb1b 100644 --- a/src/common/StateManager.cxx +++ b/src/common/StateManager.cxx @@ -355,7 +355,8 @@ bool StateManager::saveState(Serializer& out) void StateManager::reset() { myRewindManager->clear(); - myActiveMode = myOSystem.settings().getBool("dev.rewind") ? Mode::Rewind : Mode::Off; + myActiveMode = myOSystem.settings().getBool( + myOSystem.settings().getBool("dev.settings") ? "dev.rewind" : "plr.rewind") ? Mode::Rewind : Mode::Off; #if 0 myCurrentSlot = 0; diff --git a/src/common/StateManager.hxx b/src/common/StateManager.hxx index 21de3f564..889e5aa37 100644 --- a/src/common/StateManager.hxx +++ b/src/common/StateManager.hxx @@ -65,6 +65,12 @@ class StateManager */ void toggleRewindMode(); + /** + Sets state rewind recording mode; this uses the RewindManager + for its functionality. + */ + void setRewindMode(Mode mode) { myActiveMode = mode; }; + /** Rewinds one state; this uses the RewindManager for its functionality. */ diff --git a/src/gui/DeveloperDialog.cxx b/src/gui/DeveloperDialog.cxx index 2ffd08ff1..1a0fba42c 100644 --- a/src/gui/DeveloperDialog.cxx +++ b/src/gui/DeveloperDialog.cxx @@ -36,6 +36,7 @@ #include "Console.hxx" #include "TIA.hxx" #include "OSystem.hxx" +#include "StateManager.hxx" #include "DeveloperDialog.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -546,6 +547,8 @@ void DeveloperDialog::saveConfig() //instance().createFrameBuffer(); // TODO: update RewindManager + instance().state().setRewindMode(myContinuousRewindWidget->getState() ? + StateManager::Mode::Rewind : StateManager::Mode::Off); // define interval growth factor uInt32 size = myStateSizeWidget->getValue();