Move Wii FS content init to happen after Boot

Initialising Wii filesystem contents should be done after Boot and
not in HW to ensure that we operate with the correct title context
and to make sure required title directories exist (so that Movie and
Netplay code can copy data from and to the temporary NAND).
This commit is contained in:
Léo Lam 2018-05-22 19:05:45 +02:00
parent af97df74e1
commit 593f58be6c
2 changed files with 6 additions and 2 deletions

View File

@ -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();

View File

@ -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();