diff --git a/src/main.cpp b/src/main.cpp index f497c3774..d349b7c0c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,6 +18,7 @@ #include "emulator.h" #include #include "core/file_sys/fs.h" +#include int main(int argc, char* argv[]) { if (argc == 1) { @@ -42,16 +43,24 @@ int main(int argc, char* argv[]) { auto linker = Common::Singleton::Instance(); Core::Libraries::InitHLELibs(&linker->getHLESymbols()); - linker->LoadModule(path); //check if there is a libc.prx in sce_module folder + bool found = false; if (Config::isLleLibc()) { std::filesystem::path sce_module_folder = std::string(p.parent_path().string() + "\\sce_module"); if (std::filesystem::exists(sce_module_folder)) { for (const auto& entry : std::filesystem::directory_iterator(sce_module_folder)) { - printf("%s\n", entry.path().string().c_str()); + if (entry.path().filename() == "libc.prx") { + //found = true; + printf("%s\n", entry.path().string().c_str()); + } } } } + if (!found)//load HLE libc + { + Core::Libraries::LibC::libcSymbolsRegister(&linker->getHLESymbols()); + } + linker->LoadModule(path); std::jthread mainthread([linker](std::stop_token stop_token, void*) { linker->Execute(); }, nullptr); Discord::RPC discordRPC; discordRPC.init();