XamUserGetDeviceContext
This commit is contained in:
parent
8460afadd3
commit
4e276695bf
|
@ -202,6 +202,30 @@ SHIM_CALL XamInputGetKeystrokeEx_shim(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SHIM_CALL XamUserGetDeviceContext_shim(
|
||||||
|
PPCContext* ppc_state, KernelState* state) {
|
||||||
|
uint32_t user_index = SHIM_GET_ARG_32(0);
|
||||||
|
uint32_t unk = SHIM_GET_ARG_32(1);
|
||||||
|
uint32_t out_ptr = SHIM_GET_ARG_32(2);
|
||||||
|
|
||||||
|
XELOGD(
|
||||||
|
"XamUserGetDeviceContext(%d, %d, %.8X)",
|
||||||
|
user_index,
|
||||||
|
unk,
|
||||||
|
out_ptr);
|
||||||
|
|
||||||
|
// Games check the result - usually with some masking.
|
||||||
|
// If this function fails they assume zero, so let's fail AND
|
||||||
|
// set zero just to be safe.
|
||||||
|
SHIM_SET_MEM_32(out_ptr, 0);
|
||||||
|
if (!user_index || (user_index & 0xFF) == 0xFF) {
|
||||||
|
SHIM_SET_RETURN_32(0);
|
||||||
|
} else {
|
||||||
|
SHIM_SET_RETURN_32(-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
} // namespace xe
|
} // namespace xe
|
||||||
|
|
||||||
|
@ -215,4 +239,5 @@ void xe::kernel::xam::RegisterInputExports(
|
||||||
SHIM_SET_MAPPING("xam.xex", XamInputSetState, state);
|
SHIM_SET_MAPPING("xam.xex", XamInputSetState, state);
|
||||||
SHIM_SET_MAPPING("xam.xex", XamInputGetKeystroke, state);
|
SHIM_SET_MAPPING("xam.xex", XamInputGetKeystroke, state);
|
||||||
SHIM_SET_MAPPING("xam.xex", XamInputGetKeystrokeEx, state);
|
SHIM_SET_MAPPING("xam.xex", XamInputGetKeystrokeEx, state);
|
||||||
|
SHIM_SET_MAPPING("xam.xex", XamUserGetDeviceContext, state);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue