diff --git a/src/xenia/kernel/xam/xam_content.cc b/src/xenia/kernel/xam/xam_content.cc index 2bfe8176f..76af1ce39 100644 --- a/src/xenia/kernel/xam/xam_content.cc +++ b/src/xenia/kernel/xam/xam_content.cc @@ -794,6 +794,11 @@ dword_result_t XamContentLaunchImageInternal_entry(lpvoid_t content_data_ptr, DECLARE_XAM_EXPORT1(XamContentLaunchImageInternal, kContent, kStub); +void XamContentRegisterChangeCallback_entry(dword_t callback) { + kernel_state()->xam_state()->SetContentRegisterCallback(callback); +} +DECLARE_XAM_EXPORT1(XamContentRegisterChangeCallback, kContent, kImplemented); + dword_result_t XamContentGetDeviceVolumePath_entry(dword_t device_id, lpvoid_t path_ptr, dword_t path_size, diff --git a/src/xenia/kernel/xam/xam_state.cc b/src/xenia/kernel/xam/xam_state.cc index cd02d974c..1881c0206 100644 --- a/src/xenia/kernel/xam/xam_state.cc +++ b/src/xenia/kernel/xam/xam_state.cc @@ -72,6 +72,10 @@ void XamState::LoadSpaInfo(const SpaInfo* info) { user_tracker_->UpdateSpaInfo(spa_info_.get()); } +void XamState::SetContentRegisterCallback(uint32_t callback) { + content_register_callback = callback; +} + } // namespace xam } // namespace kernel } // namespace xe diff --git a/src/xenia/kernel/xam/xam_state.h b/src/xenia/kernel/xam/xam_state.h index 4b0a7f618..cad62898b 100644 --- a/src/xenia/kernel/xam/xam_state.h +++ b/src/xenia/kernel/xam/xam_state.h @@ -57,9 +57,12 @@ class XamState { // void LoadSpaInfo(const SpaInfo* info); + void SetContentRegisterCallback(uint32_t callback); + X_DASH_APP_INFO dash_app_info_ = {}; uint32_t dash_backstack_nodes_count_ = 0; X_DASH_BACKSTACK_DATA dash_backstack_data_[2] = {}; + uint32_t content_register_callback = 0; std::atomic xam_dialogs_shown_ = {0}; std::atomic xam_nui_dialogs_shown_ = {0};