kXNotification - adding more

- Added more kXNotification ids
- Added missing Notification to XMPCreateTitlePlaylist
This commit is contained in:
The-Little-Wolf
2025-07-20 08:59:54 -07:00
committed by Radosław Gliński
parent 4182852a4b
commit 31173107bc
5 changed files with 43 additions and 27 deletions

View File

@@ -865,7 +865,7 @@ void KernelState::RegisterNotifyListener(XNotifyListener* listener) {
listener->EnqueueNotification(kXNotificationSystemSignInChanged, 1);
listener->EnqueueNotification(kXNotificationSystemSignInChanged, 1);
listener->EnqueueNotification(kXNotificationDvdDriveTrayStateChanged,
listener->EnqueueNotification(kXNotificationSystemTrayStateChanged,
X_DVD_DISC_STATE::XBOX_360_GAME_DISC);
}
if (listener->mask() & kXNotifyLive) {

View File

@@ -58,7 +58,7 @@ SystemManagementController::~SystemManagementController() {};
void SystemManagementController::SetTrayState(X_DVD_TRAY_STATE state) {
dvd_tray_state_ = state;
kernel_state()->BroadcastNotification(kXNotificationDvdDriveTrayStateChanged,
kernel_state()->BroadcastNotification(kXNotificationSystemTrayStateChanged,
static_cast<uint8_t>(state));
}

View File

@@ -94,6 +94,8 @@ X_HRESULT XmpApp::XMPCreateTitlePlaylist(
kernel_state_->emulator()->audio_media_player()->AddPlaylist(
next_playlist_handle_, std::move(playlist));
kernel_state_->BroadcastNotification(
kXNotificationXmpTitlePlayListContentChanged, 0);
return X_E_SUCCESS;
}
@@ -548,16 +550,17 @@ X_HRESULT XmpApp::DispatchMessageSync(uint32_t message, uint32_t buffer_ptr,
case 0x00070053: {
// Called on the blades dashboard Version 4532-5787 after clicking on the
// picture or video library. It only receives buffer
// *unk1_ptr = to some unknown value
struct {
xe::be<uint32_t> xmp_client;
xe::be<uint32_t> unk1;
xe::be<uint32_t> unk1_ptr;
}* args = memory_->TranslateVirtual<decltype(args)>(buffer_ptr);
static_assert_size(decltype(*args), 8);
assert_true(args->xmp_client == 0x00000002 ||
args->xmp_client == 0x00000000);
XELOGD("XMPUnk70053({:08X}, {:08X}), unimplemented",
args->xmp_client.get(), args->unk1.get());
args->xmp_client.get(), args->unk1_ptr.get());
return X_E_SUCCESS;
}
}

View File

@@ -606,8 +606,8 @@ DECLARE_XAM_EXPORT1(XamShowCommunitySessionsUI, kNone, kStub);
dword_result_t XamSetDashContext_entry(dword_t value,
const ppc_context_t& ctx) {
ctx->kernel_state->dash_context_ = value;
kernel_state()->BroadcastNotification(
kXNotificationDvdDriveUnknownDashContext, 0);
kernel_state()->BroadcastNotification(kXNotificationSystemDashContextChanged,
0);
return 0;
}