Fix XamUserCreateAchievementEnumerator.
This commit is contained in:
parent
969ef8f688
commit
c75a0337ae
|
@ -130,7 +130,6 @@ SHIM_CALL XamUserReadProfileSettings_shim(PPCContext* ppc_state,
|
||||||
}
|
}
|
||||||
const auto& user_profile = state->user_profile();
|
const auto& user_profile = state->user_profile();
|
||||||
|
|
||||||
|
|
||||||
// First call asks for size (fill buffer_size_ptr).
|
// First call asks for size (fill buffer_size_ptr).
|
||||||
// Second call asks for buffer contents with that size.
|
// Second call asks for buffer contents with that size.
|
||||||
|
|
||||||
|
@ -159,7 +158,8 @@ SHIM_CALL XamUserReadProfileSettings_shim(PPCContext* ppc_state,
|
||||||
size_needed += extra_size;
|
size_needed += extra_size;
|
||||||
} else {
|
} else {
|
||||||
any_missing = true;
|
any_missing = true;
|
||||||
XELOGE("XamUserReadProfileSettings requested unimplemented setting %.8X", setting_id);
|
XELOGE("XamUserReadProfileSettings requested unimplemented setting %.8X",
|
||||||
|
setting_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (any_missing) {
|
if (any_missing) {
|
||||||
|
@ -329,13 +329,19 @@ SHIM_CALL XamUserCreateAchievementEnumerator_shim(PPCContext* ppc_state,
|
||||||
uint32_t flags = SHIM_GET_ARG_32(3);
|
uint32_t flags = SHIM_GET_ARG_32(3);
|
||||||
uint32_t offset = SHIM_GET_ARG_32(4);
|
uint32_t offset = SHIM_GET_ARG_32(4);
|
||||||
uint32_t count = SHIM_GET_ARG_32(5);
|
uint32_t count = SHIM_GET_ARG_32(5);
|
||||||
uint32_t buffer = SHIM_GET_ARG_32(6);
|
uint32_t buffer_size_ptr = SHIM_GET_ARG_32(6);
|
||||||
uint32_t handle_ptr = SHIM_GET_ARG_32(7);
|
uint32_t handle_ptr = SHIM_GET_ARG_32(7);
|
||||||
|
|
||||||
XELOGD(
|
XELOGD(
|
||||||
"XamUserCreateAchievementEnumerator(%.8X, %d, %.8X, %.8X, %d, %d, %.8X, "
|
"XamUserCreateAchievementEnumerator(%.8X, %d, %.8X, %.8X, %d, %d, %.8X, "
|
||||||
"%.8X)",
|
"%.8X)",
|
||||||
title_id, user_index, xuid, flags, offset, count, buffer, handle_ptr);
|
title_id, user_index, xuid, flags, offset, count, buffer_size_ptr,
|
||||||
|
handle_ptr);
|
||||||
|
|
||||||
|
if (buffer_size_ptr) {
|
||||||
|
// TODO(benvanik): struct size/etc.
|
||||||
|
SHIM_SET_MEM_32(buffer_size_ptr, 64 * count);
|
||||||
|
}
|
||||||
|
|
||||||
XEnumerator* e = new XEnumerator(state);
|
XEnumerator* e = new XEnumerator(state);
|
||||||
e->Initialize();
|
e->Initialize();
|
||||||
|
|
Loading…
Reference in New Issue