From d6161eb3ec912ba4fd11a978f7c923974b63ea8e Mon Sep 17 00:00:00 2001 From: trigger Date: Fri, 21 Feb 2025 15:28:07 -0800 Subject: [PATCH] attempt to precompile with klic --- rpcs3/Emu/Cell/PPUThread.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 63835db35f..a86eb6670b 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -4275,9 +4275,17 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector 0 && src.open(path)) + { + src = decrypt_self(std::move(src), reinterpret_cast(&Emu.klic[0]), nullptr, true); + } + if (!src) { ppu_log.notice("Failed to decrypt '%s'", path); + + g_progr_ftotal_bits -= file_size; + continue; } @@ -4459,9 +4467,17 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector 0 && src.open(path)) + { + src = decrypt_self(std::move(src), reinterpret_cast(&Emu.klic[0]), nullptr, true); + } + if (!src) { ppu_log.notice("Failed to decrypt '%s'", path); + + g_progr_ftotal_bits -= file_size; + continue; } @@ -4631,7 +4647,7 @@ extern void ppu_initialize() } // Avoid compilation if main's cache exists or it is a standalone SELF with no PARAM.SFO - if (compile_main && g_cfg.core.llvm_precompilation && !Emu.GetTitleID().empty() && !Emu.IsChildProcess()) + if (compile_main && g_cfg.core.llvm_precompilation && !Emu.GetTitleID().empty()) { // Try to add all related directories const std::set dirs = Emu.GetGameDirs();