diff --git a/src/core/PS4/HLE/Graphics/video_out.cpp b/src/core/PS4/HLE/Graphics/video_out.cpp index 594554f2..259d0568 100644 --- a/src/core/PS4/HLE/Graphics/video_out.cpp +++ b/src/core/PS4/HLE/Graphics/video_out.cpp @@ -327,7 +327,6 @@ s32 PS4_SYSV_ABI sceVideoOutUnregisterBuffers(s32 handle, s32 attributeIndex) { } void videoOutRegisterLib(Core::Loader::SymbolsResolver* sym) { - using namespace Core; LIB_FUNCTION("SbU3dwp80lQ", "libSceVideoOut", 1, "libSceVideoOut", 0, 0, sceVideoOutGetFlipStatus); LIB_FUNCTION("U46NwOiJpys", "libSceVideoOut", 1, "libSceVideoOut", 0, 0, sceVideoOutSubmitFlip); diff --git a/src/core/file_sys/fs.cpp b/src/core/file_sys/fs.cpp index e4e58b23..6a99a808 100644 --- a/src/core/file_sys/fs.cpp +++ b/src/core/file_sys/fs.cpp @@ -8,11 +8,11 @@ namespace Core::FileSys { constexpr int RESERVED_HANDLES = 3; // First 3 handles are stdin,stdout,stderr -void MntPoints::Mount(const std::string& host_folder, const std::string& guest_folder) { +void MntPoints::Mount(const std::filesystem::path& host_folder, const std::string& guest_folder) { std::scoped_lock lock{m_mutex}; MntPair pair; - pair.host_path = host_folder; + pair.host_path = host_folder.string(); pair.guest_path = guest_folder; m_mnt_pairs.push_back(pair); diff --git a/src/core/file_sys/fs.h b/src/core/file_sys/fs.h index 57f5085f..7d7b9985 100644 --- a/src/core/file_sys/fs.h +++ b/src/core/file_sys/fs.h @@ -21,7 +21,7 @@ public: MntPoints() = default; virtual ~MntPoints() = default; - void Mount(const std::string& host_folder, const std::string& guest_folder); + void Mount(const std::filesystem::path& host_folder, const std::string& guest_folder); void Unmount(const std::string& path); void UnmountAll(); std::string GetHostDirectory(const std::string& guest_directory); diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp index 3e2a9a22..2e6dd60d 100644 --- a/src/core/loader/elf.cpp +++ b/src/core/loader/elf.cpp @@ -178,7 +178,7 @@ static std::string_view GetMachine(e_machine_es machine) { Elf::~Elf() = default; -void Elf::Open(const std::string& file_name) { +void Elf::Open(const std::filesystem::path& file_name) { m_f.Open(file_name, FileAccessMode::Read); if (!m_f.ReadObject(m_self)) { LOG_ERROR(Loader, "Unable to read self header!"); diff --git a/src/core/loader/elf.h b/src/core/loader/elf.h index 3d59431a..3a8df6be 100644 --- a/src/core/loader/elf.h +++ b/src/core/loader/elf.h @@ -457,7 +457,7 @@ public: Elf() = default; ~Elf(); - void Open(const std::string& file_name); + void Open(const std::filesystem::path& file_name); bool IsSelfFile() const; bool IsElfFile() const; void DebugDump(); diff --git a/src/core/tls.cpp b/src/core/tls.cpp index 66d4d3ca..6291d1ab 100644 --- a/src/core/tls.cpp +++ b/src/core/tls.cpp @@ -5,6 +5,10 @@ #include "common/types.h" #include "core/tls.h" +#ifdef _WIN32 +#include +#endif + namespace Core { thread_local u8 TLS[1024]; @@ -124,7 +128,6 @@ static LONG WINAPI ExceptionHandler(PEXCEPTION_POINTERS pExp) noexcept { default: return EXCEPTION_CONTINUE_SEARCH; } - Flush(); return EXCEPTION_CONTINUE_SEARCH; } #endif diff --git a/src/main.cpp b/src/main.cpp index 0ed5d400..10255db8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,7 +43,7 @@ int main(int argc, char* argv[]) { auto* mnt = Common::Singleton::Instance(); std::filesystem::path p = std::string(path); - mnt->Mount(config_dir / "app0", "/app0"); + mnt->Mount(p.parent_path(), "/app0"); auto linker = Common::Singleton::Instance(); Core::Libraries::InitHLELibs(&linker->getHLESymbols());