summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2018-05-23 11:37:10 +0200
committerGitHub <noreply@github.com>2018-05-23 11:37:10 +0200
commitda03ff2e257ea98cedfc438390bf9a2aa1e2c62d (patch)
tree4e232acfa77dfe9075eee8806d2772dbf082e0f7 /Source
parent51410b767247f3080f79ec0eed51ce49a1bf29e5 (diff)
parent593f58be6cfe96d07c0e43f7004b2fee0f4a73d1 (diff)
Merge pull request #6944 from leoetlino/init-fs-contents
Move Wii FS content init to happen after Boot
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();