summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/Core.cpp6
-rw-r--r--Source/Core/Core/HW/HW.cpp2
2 files changed, 6 insertions, 2 deletions
diff --git a/Source/Core/Core/Core.cpp b/Source/Core/Core/Core.cpp
index b27c243fee..03f1fd4fad 100644
--- a/Source/Core/Core/Core.cpp
+++ b/Source/Core/Core/Core.cpp
@@ -517,6 +517,12 @@ static void EmuThread(std::unique_ptr<BootParameters> boot)
if (!CBoot::BootUp(std::move(boot)))
return;
+ // Initialise Wii filesystem contents.
+ // This is done here after Boot and not in HW to ensure that we operate
+ // with the correct title context since save copying requires title directories to exist.
+ Common::ScopeGuard wiifs_guard{Core::CleanUpWiiFileSystemContents};
+ Core::InitializeWiiFileSystemContents();
+
// This adds the SyncGPU handler to CoreTiming, so now CoreTiming::Advance might block.
Fifo::Prepare();
diff --git a/Source/Core/Core/HW/HW.cpp b/Source/Core/Core/HW/HW.cpp
index a60102bf7e..5cf808ee3f 100644
--- a/Source/Core/Core/HW/HW.cpp
+++ b/Source/Core/Core/HW/HW.cpp
@@ -54,13 +54,11 @@ void Init()
Core::InitializeWiiRoot(Core::WantsDeterminism());
IOS::Init();
IOS::HLE::Init(); // Depends on Memory
- Core::InitializeWiiFileSystemContents();
}
}
void Shutdown()
{
- Core::CleanUpWiiFileSystemContents();
// IOS should always be shut down regardless of bWii because it can be running in GC mode (MIOS).
IOS::HLE::Shutdown(); // Depends on Memory
IOS::Shutdown();