configure_debug: Move reporting option to logging
This commit is contained in:
parent
ccd70819c2
commit
038bcec111
|
@ -59,12 +59,12 @@ static std::string GetRelativePathFromNcaID(const std::array<u8, 16>& nca_id, bo
|
||||||
bool within_two_digit, bool cnmt_suffix) {
|
bool within_two_digit, bool cnmt_suffix) {
|
||||||
if (!within_two_digit)
|
if (!within_two_digit)
|
||||||
return fmt::format(cnmt_suffix ? "{}.cnmt.nca" : "/{}.nca",
|
return fmt::format(cnmt_suffix ? "{}.cnmt.nca" : "/{}.nca",
|
||||||
Common::HexArrayToString(nca_id, second_hex_upper));
|
Common::HexToString(nca_id, second_hex_upper));
|
||||||
|
|
||||||
Core::Crypto::SHA256Hash hash{};
|
Core::Crypto::SHA256Hash hash{};
|
||||||
mbedtls_sha256(nca_id.data(), nca_id.size(), hash.data(), 0);
|
mbedtls_sha256(nca_id.data(), nca_id.size(), hash.data(), 0);
|
||||||
return fmt::format(cnmt_suffix ? "/000000{:02X}/{}.cnmt.nca" : "/000000{:02X}/{}.nca", hash[0],
|
return fmt::format(cnmt_suffix ? "/000000{:02X}/{}.cnmt.nca" : "/000000{:02X}/{}.nca", hash[0],
|
||||||
Common::HexArrayToString(nca_id, second_hex_upper));
|
Common::HexToString(nca_id, second_hex_upper));
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string GetCNMTName(TitleType type, u64 title_id) {
|
static std::string GetCNMTName(TitleType type, u64 title_id) {
|
||||||
|
@ -149,7 +149,7 @@ bool PlaceholderCache::Create(const NcaID& id, u64 size) const {
|
||||||
if (dir2 == nullptr)
|
if (dir2 == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const auto file = dir2->CreateFile(fmt::format("{}.nca", Common::HexArrayToString(id, false)));
|
const auto file = dir2->CreateFile(fmt::format("{}.nca", Common::HexToString(id, false)));
|
||||||
|
|
||||||
if (file == nullptr)
|
if (file == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
@ -170,7 +170,7 @@ bool PlaceholderCache::Delete(const NcaID& id) const {
|
||||||
|
|
||||||
const auto dir2 = GetOrCreateDirectoryRelative(dir, dirname);
|
const auto dir2 = GetOrCreateDirectoryRelative(dir, dirname);
|
||||||
|
|
||||||
const auto res = dir2->DeleteFile(fmt::format("{}.nca", Common::HexArrayToString(id, false)));
|
const auto res = dir2->DeleteFile(fmt::format("{}.nca", Common::HexToString(id, false)));
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1151,7 +1151,8 @@ void IApplicationFunctions::EnsureSaveData(Kernel::HLERequestContext& ctx) {
|
||||||
descriptor.title_id = Core::CurrentProcess()->GetTitleID();
|
descriptor.title_id = Core::CurrentProcess()->GetTitleID();
|
||||||
descriptor.user_id = user_id;
|
descriptor.user_id = user_id;
|
||||||
descriptor.type = FileSys::SaveDataType::SaveData;
|
descriptor.type = FileSys::SaveDataType::SaveData;
|
||||||
const auto res = fsc.CreateSaveData(FileSys::SaveDataSpaceId::NandUser, descriptor);
|
const auto res = system.GetFileSystemController().CreateSaveData(
|
||||||
|
FileSys::SaveDataSpaceId::NandUser, descriptor);
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 4};
|
IPC::ResponseBuilder rb{ctx, 4};
|
||||||
rb.Push(res.Code());
|
rb.Push(res.Code());
|
||||||
|
@ -1268,8 +1269,8 @@ void IApplicationFunctions::ExtendSaveData(Kernel::HLERequestContext& ctx) {
|
||||||
"new_journal={:016X}",
|
"new_journal={:016X}",
|
||||||
static_cast<u8>(type), user_id[1], user_id[0], new_normal_size, new_journal_size);
|
static_cast<u8>(type), user_id[1], user_id[0], new_normal_size, new_journal_size);
|
||||||
|
|
||||||
fsc.WriteSaveDataSize(type, system.CurrentProcess()->GetTitleID(), user_id,
|
system.GetFileSystemController().WriteSaveDataSize(
|
||||||
{new_normal_size, new_journal_size});
|
type, system.CurrentProcess()->GetTitleID(), user_id, {new_normal_size, new_journal_size});
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 4};
|
IPC::ResponseBuilder rb{ctx, 4};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
@ -1288,7 +1289,7 @@ void IApplicationFunctions::GetSaveDataSize(Kernel::HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_AM, "called with type={:02X}, user_id={:016X}{:016X}", static_cast<u8>(type),
|
LOG_DEBUG(Service_AM, "called with type={:02X}, user_id={:016X}{:016X}", static_cast<u8>(type),
|
||||||
user_id[1], user_id[0]);
|
user_id[1], user_id[0]);
|
||||||
|
|
||||||
const auto size = system.FileSystemController().ReadSaveDataSize(
|
const auto size = system.GetFileSystemController().ReadSaveDataSize(
|
||||||
type, system.CurrentProcess()->GetTitleID(), user_id);
|
type, system.CurrentProcess()->GetTitleID(), user_id);
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 6};
|
IPC::ResponseBuilder rb{ctx, 6};
|
||||||
|
|
|
@ -106,7 +106,7 @@ private:
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushIpcInterface<IApplicationFunctions>(system.FileSystemController());
|
rb.PushIpcInterface<IApplicationFunctions>(system);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
|
std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
|
||||||
|
|
|
@ -95,7 +95,7 @@ private:
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushIpcInterface<IApplicationFunctions>(system.FileSystemController());
|
rb.PushIpcInterface<IApplicationFunctions>(system);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
|
std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
|
||||||
|
|
|
@ -711,11 +711,10 @@ void FileSystemController::CreateFactories(FileSys::VfsFilesystem& vfs, bool ove
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstallInterfaces(Core::System& system) {
|
void InstallInterfaces(Core::System& system) {
|
||||||
romfs_factory = nullptr;
|
|
||||||
CreateFactories(*system.GetFilesystem(), false);
|
|
||||||
std::make_shared<FSP_LDR>()->InstallAsService(system.ServiceManager());
|
std::make_shared<FSP_LDR>()->InstallAsService(system.ServiceManager());
|
||||||
std::make_shared<FSP_PR>()->InstallAsService(system.ServiceManager());
|
std::make_shared<FSP_PR>()->InstallAsService(system.ServiceManager());
|
||||||
std::make_shared<FSP_SRV>(system.GetReporter())->InstallAsService(system.ServiceManager());
|
std::make_shared<FSP_SRV>(system.GetFileSystemController(), system.GetReporter())
|
||||||
|
->InstallAsService(system.ServiceManager());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Service::FileSystem
|
} // namespace Service::FileSystem
|
||||||
|
|
|
@ -125,7 +125,7 @@ private:
|
||||||
std::unique_ptr<FileSys::PlaceholderCache> gamecard_placeholder;
|
std::unique_ptr<FileSys::PlaceholderCache> gamecard_placeholder;
|
||||||
};
|
};
|
||||||
|
|
||||||
void InstallInterfaces(SM::ServiceManager& service_manager, FileSystemController& controller);
|
void InstallInterfaces(Core::System& system);
|
||||||
|
|
||||||
// A class that wraps a VfsDirectory with methods that return ResultVal and ResultCode instead of
|
// A class that wraps a VfsDirectory with methods that return ResultVal and ResultCode instead of
|
||||||
// pointers and booleans. This makes using a VfsDirectory with switch services much easier and
|
// pointers and booleans. This makes using a VfsDirectory with switch services much easier and
|
||||||
|
|
|
@ -650,7 +650,8 @@ private:
|
||||||
u64 next_entry_index = 0;
|
u64 next_entry_index = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
FSP_SRV::FSP_SRV(FileSystemController& fsc) : ServiceFramework("fsp-srv"), fsc(fsc) {
|
FSP_SRV::FSP_SRV(FileSystemController& fsc, const Core::Reporter& reporter)
|
||||||
|
: ServiceFramework("fsp-srv"), fsc(fsc), reporter(reporter) {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "OpenFileSystem"},
|
{0, nullptr, "OpenFileSystem"},
|
||||||
|
|
|
@ -32,7 +32,7 @@ enum class LogMode : u32 {
|
||||||
|
|
||||||
class FSP_SRV final : public ServiceFramework<FSP_SRV> {
|
class FSP_SRV final : public ServiceFramework<FSP_SRV> {
|
||||||
public:
|
public:
|
||||||
explicit FSP_SRV(FileSystemController& fsc);
|
explicit FSP_SRV(FileSystemController& fsc, const Core::Reporter& reporter);
|
||||||
~FSP_SRV() override;
|
~FSP_SRV() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -199,7 +199,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system) {
|
||||||
// NVFlinger needs to be accessed by several services like Vi and AppletOE so we instantiate it
|
// NVFlinger needs to be accessed by several services like Vi and AppletOE so we instantiate it
|
||||||
// here and pass it into the respective InstallInterfaces functions.
|
// here and pass it into the respective InstallInterfaces functions.
|
||||||
auto nv_flinger = std::make_shared<NVFlinger::NVFlinger>(system.CoreTiming());
|
auto nv_flinger = std::make_shared<NVFlinger::NVFlinger>(system.CoreTiming());
|
||||||
fsc.CreateFactories(*system.GetFilesystem(), false);
|
system.GetFileSystemController().CreateFactories(*system.GetFilesystem(), false);
|
||||||
|
|
||||||
SM::ServiceManager::InstallInterfaces(sm);
|
SM::ServiceManager::InstallInterfaces(sm);
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system) {
|
||||||
NIFM::InstallInterfaces(*sm);
|
NIFM::InstallInterfaces(*sm);
|
||||||
NIM::InstallInterfaces(*sm);
|
NIM::InstallInterfaces(*sm);
|
||||||
NPNS::InstallInterfaces(*sm);
|
NPNS::InstallInterfaces(*sm);
|
||||||
NS::InstallInterfaces(*sm, fsc);
|
NS::InstallInterfaces(*sm, system.GetFileSystemController());
|
||||||
Nvidia::InstallInterfaces(*sm, *nv_flinger, system);
|
Nvidia::InstallInterfaces(*sm, *nv_flinger, system);
|
||||||
PCIe::InstallInterfaces(*sm);
|
PCIe::InstallInterfaces(*sm);
|
||||||
PCTL::InstallInterfaces(*sm);
|
PCTL::InstallInterfaces(*sm);
|
||||||
|
|
|
@ -35,6 +35,7 @@ add_executable(yuzu
|
||||||
configuration/configure_dialog.h
|
configuration/configure_dialog.h
|
||||||
configuration/configure_filesystem.cpp
|
configuration/configure_filesystem.cpp
|
||||||
configuration/configure_filesystem.h
|
configuration/configure_filesystem.h
|
||||||
|
configuration/configure_filesystem.ui
|
||||||
configuration/configure_gamelist.cpp
|
configuration/configure_gamelist.cpp
|
||||||
configuration/configure_gamelist.h
|
configuration/configure_gamelist.h
|
||||||
configuration/configure_gamelist.ui
|
configuration/configure_gamelist.ui
|
||||||
|
|
|
@ -488,18 +488,19 @@ void Config::ReadDataStorageValues() {
|
||||||
ReadSetting(QStringLiteral("gamecard_path"), QStringLiteral("")).toString().toStdString();
|
ReadSetting(QStringLiteral("gamecard_path"), QStringLiteral("")).toString().toStdString();
|
||||||
Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>(
|
Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>(
|
||||||
ReadSetting(QStringLiteral("nand_total_size"),
|
ReadSetting(QStringLiteral("nand_total_size"),
|
||||||
static_cast<u64>(Settings::NANDTotalSize::S29_1GB))
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDTotalSize::S29_1GB)))
|
||||||
.toULongLong());
|
.toULongLong());
|
||||||
Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>(
|
Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>(
|
||||||
ReadSetting(QStringLiteral("nand_user_size"),
|
ReadSetting(QStringLiteral("nand_user_size"),
|
||||||
static_cast<u64>(Settings::NANDUserSize::S26GB))
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDUserSize::S26GB)))
|
||||||
.toULongLong());
|
.toULongLong());
|
||||||
Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>(
|
Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>(
|
||||||
ReadSetting(QStringLiteral("nand_system_size"),
|
ReadSetting(QStringLiteral("nand_system_size"),
|
||||||
static_cast<u64>(Settings::NANDSystemSize::S2_5GB))
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDSystemSize::S2_5GB)))
|
||||||
.toULongLong());
|
.toULongLong());
|
||||||
Settings::values.sdmc_size = static_cast<Settings::SDMCSize>(
|
Settings::values.sdmc_size = static_cast<Settings::SDMCSize>(
|
||||||
ReadSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::SDMCSize::S16GB))
|
ReadSetting(QStringLiteral("sdmc_size"),
|
||||||
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::SDMCSize::S16GB)))
|
||||||
.toULongLong());
|
.toULongLong());
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
@ -932,16 +933,17 @@ void Config::SaveDataStorageValues() {
|
||||||
WriteSetting(QStringLiteral("gamecard_path"),
|
WriteSetting(QStringLiteral("gamecard_path"),
|
||||||
QString::fromStdString(Settings::values.gamecard_path), QStringLiteral(""));
|
QString::fromStdString(Settings::values.gamecard_path), QStringLiteral(""));
|
||||||
WriteSetting(QStringLiteral("nand_total_size"),
|
WriteSetting(QStringLiteral("nand_total_size"),
|
||||||
static_cast<u64>(Settings::values.nand_total_size),
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::values.nand_total_size)),
|
||||||
static_cast<u64>(Settings::NANDTotalSize::S29_1GB));
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDTotalSize::S29_1GB)));
|
||||||
WriteSetting(QStringLiteral("nand_user_size"),
|
WriteSetting(QStringLiteral("nand_user_size"),
|
||||||
static_cast<u64>(Settings::values.nand_user_size),
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::values.nand_user_size)),
|
||||||
static_cast<u64>(Settings::NANDUserSize::S26GB));
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDUserSize::S26GB)));
|
||||||
WriteSetting(QStringLiteral("nand_system_size"),
|
WriteSetting(QStringLiteral("nand_system_size"),
|
||||||
static_cast<u64>(Settings::values.nand_system_size),
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::values.nand_system_size)),
|
||||||
static_cast<u64>(Settings::NANDSystemSize::S2_5GB));
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::NANDSystemSize::S2_5GB)));
|
||||||
WriteSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::values.sdmc_size),
|
WriteSetting(QStringLiteral("sdmc_size"),
|
||||||
static_cast<u64>(Settings::SDMCSize::S16GB));
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::values.sdmc_size)),
|
||||||
|
QVariant::fromValue<u64>(static_cast<u64>(Settings::SDMCSize::S16GB)));
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,33 +103,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
|
||||||
<property name="title">
|
|
||||||
<string>Homebrew</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Arguments String</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="homebrew_args_edit"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="reporting_services">
|
<widget class="QCheckBox" name="reporting_services">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -138,7 +111,7 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_3">
|
<widget class="QLabel" name="label">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<italic>true</italic>
|
<italic>true</italic>
|
||||||
|
@ -172,15 +145,36 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_4">
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Dump</string>
|
<string>Homebrew</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Arguments String</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="homebrew_args_edit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
<width>20</width>
|
<width>20</width>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "ui_configure_filesystem.h"
|
#include "ui_configure_filesystem.h"
|
||||||
#include "yuzu/configuration/configure_filesystem.h"
|
#include "yuzu/configuration/configure_filesystem.h"
|
||||||
#include "yuzu/ui_settings.h"
|
#include "yuzu/uisettings.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <QSpinBox>
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "ui_configure_general.h"
|
#include "ui_configure_general.h"
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "common/telemetry.h"
|
#include "common/telemetry.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/crypto/key_manager.h"
|
#include "core/crypto/key_manager.h"
|
||||||
|
#include "core/file_sys/registered_cache.h"
|
||||||
#include "core/file_sys/vfs_real.h"
|
#include "core/file_sys/vfs_real.h"
|
||||||
#include "core/hle/service/filesystem/filesystem.h"
|
#include "core/hle/service/filesystem/filesystem.h"
|
||||||
#include "core/loader/loader.h"
|
#include "core/loader/loader.h"
|
||||||
|
@ -216,8 +217,9 @@ int main(int argc, char** argv) {
|
||||||
};
|
};
|
||||||
|
|
||||||
Core::System& system{Core::System::GetInstance()};
|
Core::System& system{Core::System::GetInstance()};
|
||||||
|
system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
|
||||||
system.SetFilesystem(std::make_shared<FileSys::RealVfsFilesystem>());
|
system.SetFilesystem(std::make_shared<FileSys::RealVfsFilesystem>());
|
||||||
Service::FileSystem::CreateFactories(*system.GetFilesystem());
|
system.GetFileSystemController().CreateFactories(*system.GetFilesystem());
|
||||||
|
|
||||||
SCOPE_EXIT({ system.Shutdown(); });
|
SCOPE_EXIT({ system.Shutdown(); });
|
||||||
|
|
||||||
|
|
Reference in New Issue