From 98f8cf9abeebef79e8fc8929725f8456c830e908 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 20 Jan 2025 15:12:24 -0600 Subject: [PATCH] Make Shift+directional keys do opposite --- rsrc/dialogs/preferences.xml | 5 +++-- src/game/boe.actions.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rsrc/dialogs/preferences.xml b/rsrc/dialogs/preferences.xml index d437e865..6da6fa15 100644 --- a/rsrc/dialogs/preferences.xml +++ b/rsrc/dialogs/preferences.xml @@ -44,9 +44,10 @@ When targeting, directional keys should: Select adjacent tiles - Shift the screen + Move the screen - Miscellaneous: + (Holding Shift while using directional keys will do the opposite.) + Miscellaneous: No Sounds Show room descriptions more than once Make game easier (monsters much weaker) diff --git a/src/game/boe.actions.cpp b/src/game/boe.actions.cpp index ff08760d..dc70c09a 100644 --- a/src/game/boe.actions.cpp +++ b/src/game/boe.actions.cpp @@ -1299,7 +1299,7 @@ void screen_shift(int dx, int dy, bool& need_redraw) { // If configured to move the screen with arrow keys, do it and return true bool handle_screen_shift(location delta, bool& need_redraw) { - if(scrollableModes.count(overall_mode) && get_bool_pref("DirectionalKeyScrolling", false)){ + if(scrollableModes.count(overall_mode) && get_bool_pref("DirectionalKeyScrolling", false) != kb.isShiftPressed()){ screen_shift(delta.x, delta.y, need_redraw); return true; }