From 9ee6cc3f771567b4f616d632ff4dda72ffa9e8af Mon Sep 17 00:00:00 2001 From: RocketRobz Date: Wed, 25 Nov 2020 20:33:20 -0700 Subject: [PATCH] Add `SCREENSWAP` compilation flag --- arm9/source/driveMenu.cpp | 8 ++++++++ arm9/source/file_browse.cpp | 35 +++++++++++++++++++++++++++++++++-- arm9/source/main.cpp | 3 +++ arm9/source/main.h | 3 +++ 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/arm9/source/driveMenu.cpp b/arm9/source/driveMenu.cpp index b1ccc09..cf1bce1 100644 --- a/arm9/source/driveMenu.cpp +++ b/arm9/source/driveMenu.cpp @@ -447,6 +447,14 @@ void driveMenu (void) { } } +#ifdef SCREENSWAP + // Swap screens + if (pressed & KEY_TOUCH) { + screenSwapped = !screenSwapped; + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); + } +#endif + // Make a screenshot if ((held & KEY_R) && (pressed & KEY_L)) { if (sdMounted || flashcardMounted) { diff --git a/arm9/source/file_browse.cpp b/arm9/source/file_browse.cpp index f237f82..91caba4 100644 --- a/arm9/source/file_browse.cpp +++ b/arm9/source/file_browse.cpp @@ -266,7 +266,11 @@ FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { pressed = keysDownRepeat(); swiWaitForVBlank(); } while (!(pressed & KEY_UP) && !(pressed & KEY_DOWN) - && !(pressed & KEY_A) && !(pressed & KEY_B)); + && !(pressed & KEY_A) && !(pressed & KEY_B) +#ifdef SCREENSWAP + && !(pressed & KEY_TOUCH) +#endif + ); consoleSelect(&bottomConsole); printf ("\x1B[47m"); // Print foreground white color @@ -379,6 +383,13 @@ FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { if (pressed & KEY_B) { return FileOperation::none; } +#ifdef SCREENSWAP + // Swap screens + if (pressed & KEY_TOUCH) { + screenSwapped = !screenSwapped; + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); + } +#endif } } @@ -427,7 +438,12 @@ bool fileBrowse_paste(char dest[256]) { pressed = keysDownRepeat(); swiWaitForVBlank(); } while (!(pressed & KEY_UP) && !(pressed & KEY_DOWN) - && !(pressed & KEY_A) && !(pressed & KEY_B)); + && !(pressed & KEY_A) && !(pressed & KEY_B) +#ifdef SCREENSWAP + && !(pressed & KEY_TOUCH) +#endif + ); + consoleSelect(&bottomConsole); printf ("\x1B[47m"); // Print foreground white color @@ -465,6 +481,13 @@ bool fileBrowse_paste(char dest[256]) { if (pressed & KEY_B) { return false; } +#ifdef SCREENSWAP + // Swap screens + if (pressed & KEY_TOUCH) { + screenSwapped = !screenSwapped; + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); + } +#endif } } @@ -869,6 +892,14 @@ std::string browseForFile (void) { clipboardOn = !clipboardOn; } +#ifdef SCREENSWAP + // Swap screens + if (pressed & KEY_TOUCH) { + screenSwapped = !screenSwapped; + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); + } +#endif + // Make a screenshot if ((held & KEY_R) && (pressed & KEY_L)) { if (sdMounted || flashcardMounted) { diff --git a/arm9/source/main.cpp b/arm9/source/main.cpp index 35d036d..fcb887c 100644 --- a/arm9/source/main.cpp +++ b/arm9/source/main.cpp @@ -44,6 +44,9 @@ char titleName[32] = {" "}; int screenMode = 0; bool appInited = false; +#ifdef SCREENSWAP +bool screenSwapped = false; +#endif bool arm7SCFGLocked = false; bool isRegularDS = true; diff --git a/arm9/source/main.h b/arm9/source/main.h index 094ddc5..a66f13f 100644 --- a/arm9/source/main.h +++ b/arm9/source/main.h @@ -13,6 +13,9 @@ extern char titleName[32]; extern int screenMode; extern bool appInited; +#ifdef SCREENSWAP +extern bool screenSwapped; +#endif extern bool arm7SCFGLocked; extern bool isRegularDS;