From b5f8ef0106b6086c956cd3bfae06bc9cd797c414 Mon Sep 17 00:00:00 2001 From: Daniel Gerendasy Date: Thu, 9 Nov 2023 19:07:32 -0800 Subject: [PATCH] Added support for HostFs when booting an iso --- pcsx2/IopBios.cpp | 6 ++++++ pcsx2/IopBios.h | 1 + pcsx2/VMManager.cpp | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/pcsx2/IopBios.cpp b/pcsx2/IopBios.cpp index f1278fb92b..cdd1ee4285 100644 --- a/pcsx2/IopBios.cpp +++ b/pcsx2/IopBios.cpp @@ -102,6 +102,12 @@ void Hle_SetElfPath(const char* elfFileName) Console.WriteLn("HLE Host: Set 'host:' root path to: %s\n", hostRoot.c_str()); } +void Hle_SetIsoPath(const char* isoFilename) +{ + hostRoot = Path::ToNativePath(Path::GetDirectory(isoFilename)); + Console.WriteLn("HLE Host: Set 'host:' root path to: %s\n", hostRoot.c_str()); +} + void Hle_ClearElfPath() { hostRoot = {}; diff --git a/pcsx2/IopBios.h b/pcsx2/IopBios.h index 92110cf217..8b099dd8e3 100644 --- a/pcsx2/IopBios.h +++ b/pcsx2/IopBios.h @@ -87,5 +87,6 @@ namespace R3000A } // namespace R3000A extern void Hle_SetElfPath(const char* elfFileName); +extern void Hle_SetIsoPath(const char* isoFilename); extern void Hle_ClearElfPath(); diff --git a/pcsx2/VMManager.cpp b/pcsx2/VMManager.cpp index 9e07d60a21..6e54155f4e 100644 --- a/pcsx2/VMManager.cpp +++ b/pcsx2/VMManager.cpp @@ -1190,6 +1190,10 @@ bool VMManager::Initialize(VMBootParameters boot_params) Hle_SetElfPath(s_elf_override.c_str()); } + else if (CDVDsys_GetSourceType() == CDVD_SourceType::Iso) + { + Hle_SetIsoPath(CDVDsys_GetFile(CDVDsys_GetSourceType()).c_str()); + } else { Hle_ClearElfPath();