diff options
| author | 2018-08-09 19:22:06 -0400 | |
|---|---|---|
| committer | 2018-08-09 19:22:06 -0400 | |
| commit | 96ef22d3d0f7e75d1ad5d1351cd26db8c835f6ca (patch) | |
| tree | 4f18d020eb3de30a55053c3367cd0cc6049b31d6 /src/core/core.cpp | |
| parent | Merge pull request #991 from bunnei/ignore-mac (diff) | |
| parent | vfs: Fix documentation (diff) | |
| download | yuzu-96ef22d3d0f7e75d1ad5d1351cd26db8c835f6ca.tar.gz yuzu-96ef22d3d0f7e75d1ad5d1351cd26db8c835f6ca.tar.xz yuzu-96ef22d3d0f7e75d1ad5d1351cd26db8c835f6ca.zip | |
Merge pull request #897 from DarkLordZach/vfs-accuracy-2
vfs: Add VfsFilesystem and fix RealVfs* implementations
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 085ba68d0..69c45c026 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -89,7 +89,7 @@ System::ResultStatus System::SingleStep() { | |||
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | System::ResultStatus System::Load(EmuWindow& emu_window, const std::string& filepath) { | 91 | System::ResultStatus System::Load(EmuWindow& emu_window, const std::string& filepath) { |
| 92 | app_loader = Loader::GetLoader(std::make_shared<FileSys::RealVfsFile>(filepath)); | 92 | app_loader = Loader::GetLoader(virtual_filesystem->OpenFile(filepath, FileSys::Mode::Read)); |
| 93 | 93 | ||
| 94 | if (!app_loader) { | 94 | if (!app_loader) { |
| 95 | LOG_CRITICAL(Core, "Failed to obtain loader for {}!", filepath); | 95 | LOG_CRITICAL(Core, "Failed to obtain loader for {}!", filepath); |
| @@ -174,6 +174,10 @@ System::ResultStatus System::Init(EmuWindow& emu_window) { | |||
| 174 | 174 | ||
| 175 | CoreTiming::Init(); | 175 | CoreTiming::Init(); |
| 176 | 176 | ||
| 177 | // Create a default fs if one doesn't already exist. | ||
| 178 | if (virtual_filesystem == nullptr) | ||
| 179 | virtual_filesystem = std::make_shared<FileSys::RealVfsFilesystem>(); | ||
| 180 | |||
| 177 | current_process = Kernel::Process::Create("main"); | 181 | current_process = Kernel::Process::Create("main"); |
| 178 | 182 | ||
| 179 | cpu_barrier = std::make_shared<CpuBarrier>(); | 183 | cpu_barrier = std::make_shared<CpuBarrier>(); |
| @@ -186,7 +190,7 @@ System::ResultStatus System::Init(EmuWindow& emu_window) { | |||
| 186 | service_manager = std::make_shared<Service::SM::ServiceManager>(); | 190 | service_manager = std::make_shared<Service::SM::ServiceManager>(); |
| 187 | 191 | ||
| 188 | Kernel::Init(); | 192 | Kernel::Init(); |
| 189 | Service::Init(service_manager); | 193 | Service::Init(service_manager, virtual_filesystem); |
| 190 | GDBStub::Init(); | 194 | GDBStub::Init(); |
| 191 | 195 | ||
| 192 | renderer = VideoCore::CreateRenderer(emu_window); | 196 | renderer = VideoCore::CreateRenderer(emu_window); |