[Xam/XMP] - Stub XMPGetNumSongsInTitlePlaylist
- Stub XMPGetNumSongsInTitlePlaylist
This commit is contained in:
committed by
Radosław Gliński
parent
e20f26963f
commit
2799234fbb
@@ -563,6 +563,28 @@ X_HRESULT XmpApp::DispatchMessageSync(uint32_t message, uint32_t buffer_ptr,
|
||||
kernel_state_->BroadcastNotification(kXNotificationXmpDashInitChanged, 1);
|
||||
return X_E_SUCCESS;
|
||||
}
|
||||
case 0x00070031: {
|
||||
// XMPGetNumSongsInTitlePlaylist
|
||||
// Song count exist at playlist_ptr->0x78, if playlist_ptr->0xc == 0 or 1
|
||||
// return song count, else return zero
|
||||
assert_true(!buffer_length ||
|
||||
buffer_length == sizeof(XMP_GET_NUM_SONGS_IN_TITLE_PLAYLIST));
|
||||
XMP_GET_NUM_SONGS_IN_TITLE_PLAYLIST* args =
|
||||
reinterpret_cast<XMP_GET_NUM_SONGS_IN_TITLE_PLAYLIST*>(buffer);
|
||||
|
||||
XELOGD(
|
||||
"XMPGetNumSongsInTitlePlaylist({:08X}, {:08X}, {:08X}), "
|
||||
"unimplemented",
|
||||
uint32_t(args->xmp_client.get()), args->playlist_ptr.get(),
|
||||
args->song_count_ptr.get());
|
||||
|
||||
if (!args->playlist_ptr || !args->song_count_ptr) {
|
||||
return X_E_INVALIDARG;
|
||||
}
|
||||
xe::store_and_swap<uint32_t>(
|
||||
memory_->TranslateVirtual(args->song_count_ptr), 0);
|
||||
return X_E_SUCCESS;
|
||||
}
|
||||
case 0x0007003D: {
|
||||
// XMPCaptureOutput
|
||||
assert_true(!buffer_length ||
|
||||
|
||||
@@ -194,6 +194,13 @@ struct XMP_DASH_INIT {
|
||||
};
|
||||
static_assert_size(XMP_DASH_INIT, 0x18);
|
||||
|
||||
struct XMP_GET_NUM_SONGS_IN_TITLE_PLAYLIST {
|
||||
xe::be<apu::XMP_CLIENT> xmp_client;
|
||||
xe::be<uint32_t> playlist_ptr;
|
||||
xe::be<uint32_t> song_count_ptr;
|
||||
};
|
||||
static_assert_size(XMP_GET_NUM_SONGS_IN_TITLE_PLAYLIST, 0xC);
|
||||
|
||||
struct XMP_CAPTURE_OUTPUT {
|
||||
xe::be<apu::XMP_CLIENT> xmp_client;
|
||||
xe::be<uint32_t> callback;
|
||||
|
||||
Reference in New Issue
Block a user