diff --git a/UnleashedRecomp/main.cpp b/UnleashedRecomp/main.cpp index bb24176..3fae893 100644 --- a/UnleashedRecomp/main.cpp +++ b/UnleashedRecomp/main.cpp @@ -337,7 +337,14 @@ int main(int argc, char *argv[]) if (!InstallerWizard::Run(GetGamePath(), isGameInstalled && forceDLCInstaller)) { - std::_Exit(0); + if (!forceDLCInstaller) + { + std::_Exit(0); + } + else + { + InstallerWizard::s_returnToTitle = true; + } } } diff --git a/UnleashedRecomp/patches/misc_patches.cpp b/UnleashedRecomp/patches/misc_patches.cpp index ec4e1a8..b98c8ee 100644 --- a/UnleashedRecomp/patches/misc_patches.cpp +++ b/UnleashedRecomp/patches/misc_patches.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -83,7 +84,7 @@ PPC_FUNC(sub_825197C0) PPC_FUNC_IMPL(__imp__sub_82547DF0); PPC_FUNC(sub_82547DF0) { - if (Config::SkipIntroLogos) + if (Config::SkipIntroLogos || InstallerWizard::s_returnToTitle) { ctx.r4.u64 = 0; ctx.r5.u64 = 0; diff --git a/UnleashedRecomp/ui/installer_wizard.h b/UnleashedRecomp/ui/installer_wizard.h index 488cc0e..4bccec9 100644 --- a/UnleashedRecomp/ui/installer_wizard.h +++ b/UnleashedRecomp/ui/installer_wizard.h @@ -5,6 +5,7 @@ struct InstallerWizard { static inline bool s_isVisible = false; + static inline bool s_returnToTitle = false; static void Init(); static void Draw();