| 771 | } |
| 772 | |
| 773 | PREPARE_STATUS_CODE PrepareForegroundTitle(TitleId titleId) |
| 774 | { |
| 775 | CafeTitleList::WaitForMandatoryScan(); |
| 776 | sLaunchModeIsStandalone = false; |
| 777 | _pathToExecutable.clear(); |
| 778 | TitleIdParser tip(titleId); |
| 779 | if (tip.GetType() == TitleIdParser::TITLE_TYPE::AOC || tip.GetType() == TitleIdParser::TITLE_TYPE::BASE_TITLE_UPDATE) |
| 780 | cemuLog_log(LogType::Force, "Launched titleId is not the base of a title"); |
| 781 | // mount mlc storage |
| 782 | MountBaseDirectories(); |
| 783 | // mount title folders |
| 784 | PREPARE_STATUS_CODE r = LoadAndMountForegroundTitle(titleId); |
| 785 | if (r != PREPARE_STATUS_CODE::SUCCESS) |
| 786 | return r; |
| 787 | gameProfile_load(); |
| 788 | // setup memory space and PPC recompiler |
| 789 | SetupMemorySpace(); |
| 790 | PPCRecompiler_init(); |
| 791 | r = SetupExecutable(); // load RPX |
| 792 | if (r != PREPARE_STATUS_CODE::SUCCESS) |
| 793 | return r; |
| 794 | InitVirtualMlcStorage(); |
| 795 | return PREPARE_STATUS_CODE::SUCCESS; |
| 796 | } |
| 797 | |
| 798 | PREPARE_STATUS_CODE PrepareForegroundTitleFromStandaloneRPX(const fs::path& path) |
| 799 | { |
no test coverage detected