diff options
| author | 2017-10-09 23:56:20 -0400 | |
|---|---|---|
| committer | 2017-10-09 23:56:20 -0400 | |
| commit | b1d5db1cf60344b6b081c9d03cb6ccc3264326cd (patch) | |
| tree | fde377c4ba3c0f92c032e6f5ec8627aae37270ef /src/core/core.cpp | |
| parent | loader: Various improvements for NSO/NRO loaders. (diff) | |
| parent | Merge pull request #2996 from MerryMage/split-travis (diff) | |
| download | yuzu-b1d5db1cf60344b6b081c9d03cb6ccc3264326cd.tar.gz yuzu-b1d5db1cf60344b6b081c9d03cb6ccc3264326cd.tar.xz yuzu-b1d5db1cf60344b6b081c9d03cb6ccc3264326cd.zip | |
Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
# src/core/CMakeLists.txt
# src/core/arm/dynarmic/arm_dynarmic.cpp
# src/core/arm/dyncom/arm_dyncom.cpp
# src/core/hle/kernel/process.cpp
# src/core/hle/kernel/thread.cpp
# src/core/hle/kernel/thread.h
# src/core/hle/kernel/vm_manager.cpp
# src/core/loader/3dsx.cpp
# src/core/loader/elf.cpp
# src/core/loader/ncch.cpp
# src/core/memory.cpp
# src/core/memory.h
# src/core/memory_setup.h
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index d08f18623..c5448630f 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -9,16 +9,19 @@ | |||
| 9 | #include "core/arm/arm_interface.h" | 9 | #include "core/arm/arm_interface.h" |
| 10 | #include "core/arm/dynarmic/arm_dynarmic.h" | 10 | #include "core/arm/dynarmic/arm_dynarmic.h" |
| 11 | #include "core/arm/dyncom/arm_dyncom.h" | 11 | #include "core/arm/dyncom/arm_dyncom.h" |
| 12 | #include "core/arm/unicorn/arm_unicorn.h" | ||
| 12 | #include "core/core.h" | 13 | #include "core/core.h" |
| 13 | #include "core/core_timing.h" | 14 | #include "core/core_timing.h" |
| 14 | #include "core/gdbstub/gdbstub.h" | 15 | #include "core/gdbstub/gdbstub.h" |
| 15 | #include "core/hle/kernel/kernel.h" | 16 | #include "core/hle/kernel/kernel.h" |
| 17 | #include "core/hle/kernel/process.h" | ||
| 16 | #include "core/hle/kernel/thread.h" | 18 | #include "core/hle/kernel/thread.h" |
| 17 | #include "core/hle/service/service.h" | 19 | #include "core/hle/service/service.h" |
| 18 | #include "core/hw/hw.h" | 20 | #include "core/hw/hw.h" |
| 19 | #include "core/loader/loader.h" | 21 | #include "core/loader/loader.h" |
| 20 | #include "core/memory_setup.h" | 22 | #include "core/memory_setup.h" |
| 21 | #include "core/settings.h" | 23 | #include "core/settings.h" |
| 24 | #include "network/network.h" | ||
| 22 | #include "video_core/video_core.h" | 25 | #include "video_core/video_core.h" |
| 23 | 26 | ||
| 24 | namespace Core { | 27 | namespace Core { |
| @@ -99,7 +102,7 @@ System::ResultStatus System::Load(EmuWindow* emu_window, const std::string& file | |||
| 99 | return init_result; | 102 | return init_result; |
| 100 | } | 103 | } |
| 101 | 104 | ||
| 102 | const Loader::ResultStatus load_result{app_loader->Load()}; | 105 | const Loader::ResultStatus load_result{app_loader->Load(Kernel::g_current_process)}; |
| 103 | if (Loader::ResultStatus::Success != load_result) { | 106 | if (Loader::ResultStatus::Success != load_result) { |
| 104 | LOG_CRITICAL(Core, "Failed to load ROM (Error %i)!", load_result); | 107 | LOG_CRITICAL(Core, "Failed to load ROM (Error %i)!", load_result); |
| 105 | System::Shutdown(); | 108 | System::Shutdown(); |
| @@ -136,7 +139,6 @@ void System::Reschedule() { | |||
| 136 | } | 139 | } |
| 137 | 140 | ||
| 138 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | 141 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { |
| 139 | Memory::InitMemoryMap(); | ||
| 140 | LOG_DEBUG(HW_Memory, "initialized OK"); | 142 | LOG_DEBUG(HW_Memory, "initialized OK"); |
| 141 | 143 | ||
| 142 | if (Settings::values.use_cpu_jit) { | 144 | if (Settings::values.use_cpu_jit) { |
| @@ -188,8 +190,12 @@ void System::Shutdown() { | |||
| 188 | cpu_core = nullptr; | 190 | cpu_core = nullptr; |
| 189 | app_loader = nullptr; | 191 | app_loader = nullptr; |
| 190 | telemetry_session = nullptr; | 192 | telemetry_session = nullptr; |
| 193 | if (auto room_member = Network::GetRoomMember().lock()) { | ||
| 194 | Network::GameInfo game_info{}; | ||
| 195 | room_member->SendGameInfo(game_info); | ||
| 196 | } | ||
| 191 | 197 | ||
| 192 | LOG_DEBUG(Core, "Shutdown OK"); | 198 | LOG_DEBUG(Core, "Shutdown OK"); |
| 193 | } | 199 | } |
| 194 | 200 | ||
| 195 | } // namespace | 201 | } // namespace Core |