From 6056609ffb1edc68ecbdaf477bede21a22d0cbd3 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Fri, 4 Mar 2022 20:11:42 -0600 Subject: [PATCH] Left/right to scroll release notes faster --- source/menu/releaseNotes.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/source/menu/releaseNotes.cpp b/source/menu/releaseNotes.cpp index 1b27c94..5c05baa 100644 --- a/source/menu/releaseNotes.cpp +++ b/source/menu/releaseNotes.cpp @@ -106,13 +106,17 @@ void StoreUtils::DrawReleaseNotes(const int &scrollIndex, const std::unique_ptr< int &storeMode: The store mode to properly return back. */ void StoreUtils::ReleaseNotesLogic(int &scrollIndex, int &storeMode) { - if (hRepeat & KEY_DOWN) { - if (scrollIndex < (int)wrappedNotes.size() - ((240.0f - 25.0f) / Gui::GetStringHeight(0.5f, "", font))) scrollIndex++; - } + int linesPerScreen = ((240.0f - 25.0f) / Gui::GetStringHeight(0.5f, "", font)); - if (hRepeat & KEY_UP) { - if (scrollIndex > 0) scrollIndex--; - } + if (hRepeat & KEY_DOWN) scrollIndex++; + if (hRepeat & KEY_UP) scrollIndex--; + if (hRepeat & KEY_RIGHT) scrollIndex += linesPerScreen; + if (hRepeat & KEY_LEFT) scrollIndex -= linesPerScreen; + + /* Ensure it doesn't scroll off screen. */ + if (scrollIndex < 0) scrollIndex = 0; + if (scrollIndex > (int)wrappedNotes.size() - linesPerScreen) + scrollIndex = wrappedNotes.size() - linesPerScreen; if (hDown & KEY_B) { scrollIndex = 0;