core/loader: Remove dependencies on the global system instance

Now all that remains is:

18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
This commit is contained in:
Lioncash 2020-09-16 08:19:25 -04:00
parent d05ab5ec3c
commit bcb796ee92
20 changed files with 85 additions and 45 deletions

View file

@ -71,7 +71,7 @@ FileType AppLoader_NSP::IdentifyType(const FileSys::VirtualFile& file) {
return FileType::Error;
}
AppLoader_NSP::LoadResult AppLoader_NSP::Load(Kernel::Process& process) {
AppLoader_NSP::LoadResult AppLoader_NSP::Load(Kernel::Process& process, Core::System& system) {
if (is_loaded) {
return {ResultStatus::ErrorAlreadyLoaded, {}};
}
@ -99,15 +99,14 @@ AppLoader_NSP::LoadResult AppLoader_NSP::Load(Kernel::Process& process) {
return {ResultStatus::ErrorNSPMissingProgramNCA, {}};
}
const auto result = secondary_loader->Load(process);
const auto result = secondary_loader->Load(process, system);
if (result.first != ResultStatus::Success) {
return result;
}
FileSys::VirtualFile update_raw;
if (ReadUpdateRaw(update_raw) == ResultStatus::Success && update_raw != nullptr) {
Core::System::GetInstance().GetFileSystemController().SetPackedUpdate(
std::move(update_raw));
system.GetFileSystemController().SetPackedUpdate(std::move(update_raw));
}
is_loaded = true;