diff --git a/source/main.cpp b/source/main.cpp index f63a325..dfdae5b 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -7,6 +7,7 @@ #include "logger.h" #include #include +#include #include #include #include @@ -14,6 +15,7 @@ #include #include #include +#include #include void clearScreen() { @@ -48,6 +50,13 @@ int32_t main(int32_t argc, char **argv) { DEBUG_FUNCTION_LINE_ERR("AutobootModule: Failed to init RPXLoader. This can be ignored when not running Aroma. Error %s [%d]", RPXLoader_GetStatusStr(error3), error3); } + // If we are in System Transfer context we need to restart the app to actually + if (OSGetTitleID() == 0x0005001010062000L || OSGetTitleID() == 0x0005001010062100L || OSGetTitleID() == 0x0005001010062200L) { + _SYSLaunchTitleWithStdArgsInNoSplash(OSGetTitleID(), nullptr); + deinitLogging(); + return 0; + } + if (launchQuickStartTitle()) { deinitLogging(); return 0;