diff --git a/arm9/source/dumpOperations.cpp b/arm9/source/dumpOperations.cpp index 170c47e..a3484a8 100644 --- a/arm9/source/dumpOperations.cpp +++ b/arm9/source/dumpOperations.cpp @@ -97,11 +97,7 @@ DumpOption dumpMenu(std::vector allowedOptions, const char *dumpName pressed = keysDownRepeat(); held = keysHeld(); swiWaitForVBlank(); - } while (!(pressed & (KEY_UP| KEY_DOWN | KEY_A | KEY_B | KEY_L)) -#ifdef SCREENSWAP - && !(pressed & KEY_TOUCH) -#endif - ); + } while (!(pressed & (KEY_UP| KEY_DOWN | KEY_A | KEY_B | KEY_L))); if (pressed & KEY_UP) optionOffset--; @@ -114,19 +110,13 @@ DumpOption dumpMenu(std::vector allowedOptions, const char *dumpName if (optionOffset >= (int)allowedOptions.size()) // Wrap around to top of list optionOffset = 0; - if (pressed & KEY_A) + if (pressed & KEY_A) { return allowedOptions[optionOffset]; - - if (pressed & KEY_B) - return DumpOption::none; - -#ifdef SCREENSWAP - // Swap screens - if (pressed & KEY_TOUCH) { - screenSwapped = !screenSwapped; - screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); } -#endif + + if (pressed & KEY_B) { + return DumpOption::none; + } // Make a screenshot if ((held & KEY_R) && (pressed & KEY_L)) { @@ -740,6 +730,10 @@ void ndsCardSaveRestore(const char *filename) { } void ndsCardDump(void) { +#ifdef SCREENSWAP + lcdMainOnTop(); +#endif + u16 pressed; font->clear(false); @@ -758,6 +752,9 @@ void ndsCardDump(void) { break; } if (pressed & KEY_B) { +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif return; } } @@ -928,8 +925,11 @@ void ndsCardDump(void) { fclose(destinationFile); } } -} +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif +} void gbaCartSaveDump(const char *filename) { font->clear(false); @@ -1023,6 +1023,10 @@ void readChange(void) { } void gbaCartDump(void) { +#ifdef SCREENSWAP + lcdMainOnTop(); +#endif + font->clear(false); font->print(0, 0, false, STR_LOADING); font->update(false); @@ -1236,4 +1240,8 @@ void gbaCartDump(void) { fclose(destinationFile); } } + +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif } diff --git a/arm9/source/file_browse.cpp b/arm9/source/file_browse.cpp index ac36234..ab72ef1 100644 --- a/arm9/source/file_browse.cpp +++ b/arm9/source/file_browse.cpp @@ -170,6 +170,10 @@ void showDirectoryContents(std::vector &dirContents, int fileOffset, i } FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { +#ifdef SCREENSWAP + lcdMainOnTop(); +#endif + int pressed = 0, held = 0; std::vector operations; int optionOffset = 0; @@ -295,13 +299,13 @@ FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { held = keysHeld(); swiWaitForVBlank(); - if(driveRemoved(currentDrive)) - return FileOperation::none; - } while (!(pressed & (KEY_UP| KEY_DOWN | KEY_A | KEY_B | KEY_L)) + if(driveRemoved(currentDrive)) { #ifdef SCREENSWAP - && !(pressed & KEY_TOUCH) + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); #endif - ); + return FileOperation::none; + } + } while (!(pressed & (KEY_UP| KEY_DOWN | KEY_A | KEY_B | KEY_L))); if (pressed & KEY_UP) optionOffset -= 1; if (pressed & KEY_DOWN) optionOffset += 1; @@ -463,18 +467,16 @@ FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { } } keysDownRepeat(); // prevent unwanted key repeat +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif return operations[optionOffset]; } else if (pressed & KEY_B) { +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif return FileOperation::none; } -#ifdef SCREENSWAP - // Swap screens - else if (pressed & KEY_TOUCH) { - screenSwapped = !screenSwapped; - screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); - } -#endif - // Make a screenshot else if ((held & KEY_R) && (pressed & KEY_L)) { screenshot(); @@ -483,6 +485,10 @@ FileOperation fileBrowse_A(DirEntry* entry, char path[PATH_MAX]) { } bool fileBrowse_paste(char dest[256]) { +#ifdef SCREENSWAP + lcdMainOnTop(); +#endif + int pressed = 0; int optionOffset = 0; @@ -512,12 +518,7 @@ bool fileBrowse_paste(char dest[256]) { scanKeys(); pressed = keysDownRepeat(); swiWaitForVBlank(); - } while (!(pressed & KEY_UP) && !(pressed & KEY_DOWN) - && !(pressed & KEY_A) && !(pressed & KEY_B) -#ifdef SCREENSWAP - && !(pressed & KEY_TOUCH) -#endif - ); + } while (!(pressed & (KEY_UP | KEY_DOWN | KEY_A | KEY_B))); if (pressed & KEY_UP) optionOffset -= 1; if (pressed & KEY_DOWN) optionOffset += 1; @@ -546,18 +547,17 @@ bool fileBrowse_paste(char dest[256]) { } clipboardUsed = true; // Disable clipboard restore clipboardOn = false; // Clear clipboard after copying or moving +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif return true; } if (pressed & KEY_B) { +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif return false; } -#ifdef SCREENSWAP - // Swap screens - if (pressed & KEY_TOUCH) { - screenSwapped = !screenSwapped; - screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); - } -#endif } } @@ -660,7 +660,7 @@ std::string browseForFile (void) { screenMode = 0; return "null"; } - } while (!(pressed & ~(KEY_R | KEY_TOUCH | KEY_LID))); + } while (!(pressed & ~(KEY_R | KEY_LID))); if (pressed & KEY_UP) { fileOffset--; diff --git a/arm9/source/keyboard.cpp b/arm9/source/keyboard.cpp index f650a65..38803ce 100644 --- a/arm9/source/keyboard.cpp +++ b/arm9/source/keyboard.cpp @@ -1,11 +1,16 @@ #include "keyboard.h" #include "font.h" #include "language.h" +#include "main.h" #include #include std::string kbdGetString(std::string label, int maxSize, std::string oldStr) { +#ifdef SCREENSWAP + lcdMainOnTop(); +#endif + font->clear(false); font->update(false); @@ -34,11 +39,7 @@ std::string kbdGetString(std::string label, int maxSize, std::string oldStr) { pressed = keysDownRepeat(); key = keyboardUpdate(); swiWaitForVBlank(); - } while (!((pressed & (KEY_LEFT | KEY_RIGHT | KEY_B | KEY_START -#ifdef SCREENSWAP - && !(pressed & KEY_TOUCH) -#endif - )) || (key != -1))); + } while (!((pressed & (KEY_LEFT | KEY_RIGHT | KEY_B | KEY_START)) || (key != -1))); switch(key) { case NOKEY: @@ -97,5 +98,9 @@ std::string kbdGetString(std::string label, int maxSize, std::string oldStr) { } keyboardHide(); +#ifdef SCREENSWAP + screenSwapped ? lcdMainOnBottom() : lcdMainOnTop(); +#endif + return output; } diff --git a/arm9/source/main.cpp b/arm9/source/main.cpp index 84ef18a..b2cea84 100644 --- a/arm9/source/main.cpp +++ b/arm9/source/main.cpp @@ -45,7 +45,7 @@ #include "gm9i_logo.h" -char titleName[32] = {" "}; +char titleName[64] = {" "}; int screenMode = 0; @@ -115,7 +115,11 @@ int main(int argc, char **argv) { bool yHeld = false; +#ifdef SCREENSWAP + sprintf(titleName, "GodMode9i (Screen Swap) %s", VER_NUMBER); +#else sprintf(titleName, "GodMode9i %s", VER_NUMBER); +#endif // initialize video mode videoSetMode(MODE_5_2D); diff --git a/arm9/source/titleManager.cpp b/arm9/source/titleManager.cpp index 587e595..79bbffc 100644 --- a/arm9/source/titleManager.cpp +++ b/arm9/source/titleManager.cpp @@ -4,6 +4,7 @@ #include "fileOperations.h" #include "font.h" #include "language.h" +#include "main.h" #include "screenshot.h" #include