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;