diff --git a/src/port/controller/controller.cpp b/src/port/controller/controller.cpp index eb57247d2..6224c323d 100644 --- a/src/port/controller/controller.cpp +++ b/src/port/controller/controller.cpp @@ -412,7 +412,7 @@ namespace oot::hid Player_ToggleTunic(); break; case Button::FAST_FORWARD: - oot::state.fastForward = 5; + oot::state.fastForward = config().game().fastForwardSpeed(); break; case Button::CENTER_CAMERA: oot::state.center_camera = true; diff --git a/src/port/options.cpp b/src/port/options.cpp index e614d6a06..ca0693059 100644 --- a/src/port/options.cpp +++ b/src/port/options.cpp @@ -169,6 +169,7 @@ namespace oot json::setU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames(), allocator); json::setU64(container, "textScrollSpeed", textScrollSpeed(), allocator); + json::setU64(container, "fastForwardSpeed", fastForwardSpeed(), allocator); json::set(container, "language", languageGetString(language()), allocator); @@ -192,6 +193,7 @@ namespace oot json::getBool(container, "enableDebugLevelSelect", enablDebugLevelSelect()); json::getU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames()); + json::getU64(container, "fastForwardSpeed", fastForwardSpeed()); json::getU64(container, "textScrollSpeed", textScrollSpeed()); std::string lang; diff --git a/src/port/options.h b/src/port/options.h index 51214cd29..105501587 100644 --- a/src/port/options.h +++ b/src/port/options.h @@ -344,6 +344,16 @@ namespace oot void setLanguage(Language id); + const u64& fastForwardSpeed() const + { + return m_fastForwardSpeed; + } + + u64& fastForwardSpeed() + { + return m_fastForwardSpeed; + } + protected: bool m_graphicsEnabled = true; bool m_audioEnabled = true; @@ -357,6 +367,7 @@ namespace oot u64 m_pauseExitInputClearFrames = 2; u64 m_textScrollSpeed = 1; Language m_language = LANGUAGE_ENG; + u64 m_fastForwardSpeed = 5; }; class Base