[XAM/INFO] - Implement XamGetDashBackstackData
- Implement XamGetDashBackstackData
This commit is contained in:
committed by
Radosław Gliński
parent
e27b1d1cb5
commit
2de1b0b2dd
@@ -199,6 +199,11 @@ struct X_DASH_APP_INFO {
|
|||||||
};
|
};
|
||||||
static_assert_size(X_DASH_APP_INFO, 0xC);
|
static_assert_size(X_DASH_APP_INFO, 0xC);
|
||||||
|
|
||||||
|
struct X_DASH_BACKSTACK_DATA {
|
||||||
|
uint8_t unk1[0x314];
|
||||||
|
};
|
||||||
|
static_assert_size(X_DASH_BACKSTACK_DATA, 0x314);
|
||||||
|
|
||||||
struct X_GUID {
|
struct X_GUID {
|
||||||
xe::be<uint32_t> Data1;
|
xe::be<uint32_t> Data1;
|
||||||
xe::be<uint16_t> Data2;
|
xe::be<uint16_t> Data2;
|
||||||
|
|||||||
@@ -788,6 +788,22 @@ void XamGetActiveDashAppInfo_entry(pointer_t<X_DASH_APP_INFO> dash_app) {
|
|||||||
}
|
}
|
||||||
DECLARE_XAM_EXPORT1(XamGetActiveDashAppInfo, kNone, kImplemented);
|
DECLARE_XAM_EXPORT1(XamGetActiveDashAppInfo, kNone, kImplemented);
|
||||||
|
|
||||||
|
dword_result_t XamGetDashBackstackData_entry(
|
||||||
|
pointer_t<X_DASH_BACKSTACK_DATA> backstack_data, lpdword_t count) {
|
||||||
|
auto xam_state_ = kernel_state()->xam_state();
|
||||||
|
uint32_t total = xam_state_->dash_backstack_nodes_count_;
|
||||||
|
if (total) {
|
||||||
|
if (*count <= total) {
|
||||||
|
total = *count;
|
||||||
|
}
|
||||||
|
std::memcpy(backstack_data, &xam_state_->dash_backstack_data_,
|
||||||
|
sizeof(X_DASH_BACKSTACK_DATA) * total);
|
||||||
|
xam_state_->dash_backstack_nodes_count_ = 0;
|
||||||
|
}
|
||||||
|
return X_ERROR_SUCCESS;
|
||||||
|
}
|
||||||
|
DECLARE_XAM_EXPORT1(XamGetDashBackstackData, kNone, kImplemented);
|
||||||
|
|
||||||
void XampWebInstrumentationSetProfileCounts_entry(dword_t live_profiles,
|
void XampWebInstrumentationSetProfileCounts_entry(dword_t live_profiles,
|
||||||
dword_t local_profiles,
|
dword_t local_profiles,
|
||||||
dword_t adult_profiles,
|
dword_t adult_profiles,
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ class XamState {
|
|||||||
void LoadSpaInfo(const SpaInfo* info);
|
void LoadSpaInfo(const SpaInfo* info);
|
||||||
|
|
||||||
X_DASH_APP_INFO dash_app_info_ = {};
|
X_DASH_APP_INFO dash_app_info_ = {};
|
||||||
|
uint32_t dash_backstack_nodes_count_ = 0;
|
||||||
|
X_DASH_BACKSTACK_DATA dash_backstack_data_[2] = {};
|
||||||
|
|
||||||
std::atomic<int32_t> xam_dialogs_shown_ = {0};
|
std::atomic<int32_t> xam_dialogs_shown_ = {0};
|
||||||
std::atomic<int32_t> xam_nui_dialogs_shown_ = {0};
|
std::atomic<int32_t> xam_nui_dialogs_shown_ = {0};
|
||||||
|
|||||||
Reference in New Issue
Block a user