summaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2017-10-09 23:56:20 -0400
committerGravatar bunnei2017-10-09 23:56:20 -0400
commitb1d5db1cf60344b6b081c9d03cb6ccc3264326cd (patch)
treefde377c4ba3c0f92c032e6f5ec8627aae37270ef /src/core/core.cpp
parentloader: Various improvements for NSO/NRO loaders. (diff)
parentMerge pull request #2996 from MerryMage/split-travis (diff)
downloadyuzu-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.cpp12
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
24namespace Core { 27namespace 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
138System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { 141System::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