From 807c030f8685ed6ea009311ca3661adfab773066 Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Sat, 18 Jun 2016 21:17:37 -0500 Subject: [PATCH] Add title request functions to Emulator --- src/xenia/emulator.cc | 12 ++++++++++++ src/xenia/emulator.h | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/src/xenia/emulator.cc b/src/xenia/emulator.cc index 98e1d2a14..1923b74fe 100644 --- a/src/xenia/emulator.cc +++ b/src/xenia/emulator.cc @@ -415,6 +415,18 @@ bool Emulator::RestoreFromFile(const std::wstring& path) { return true; } +bool Emulator::TitleRequested() { + auto xam = kernel_state()->GetKernelModule("xam.xex"); + return xam->loader_data().launch_data_present; +} + +void Emulator::LaunchNextTitle() { + auto xam = kernel_state()->GetKernelModule("xam.xex"); + auto next_title = xam->loader_data().launch_path; + + CompleteLaunch(L"", next_title); +} + bool Emulator::ExceptionCallbackThunk(Exception* ex, void* data) { return reinterpret_cast(data)->ExceptionCallback(ex); } diff --git a/src/xenia/emulator.h b/src/xenia/emulator.h index ab4ae5400..ca8f17aaa 100644 --- a/src/xenia/emulator.h +++ b/src/xenia/emulator.h @@ -125,6 +125,10 @@ class Emulator { bool SaveToFile(const std::wstring& path); bool RestoreFromFile(const std::wstring& path); + // The game can request another title to be loaded. + bool TitleRequested(); + void LaunchNextTitle(); + void WaitUntilExit(); public: