Stubbing input a little better.
This commit is contained in:
parent
6e60aef72f
commit
93e4b70133
|
@ -24,6 +24,24 @@ namespace kernel {
|
||||||
namespace xam {
|
namespace xam {
|
||||||
|
|
||||||
|
|
||||||
|
// http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinputgetcapabilities(v=vs.85).aspx
|
||||||
|
SHIM_CALL XamInputGetCapabilities_shim(
|
||||||
|
xe_ppc_state_t* ppc_state, XamState* state) {
|
||||||
|
uint32_t user_index = SHIM_GET_ARG_32(0);
|
||||||
|
uint32_t flags = SHIM_GET_ARG_32(1);
|
||||||
|
uint32_t caps_ptr = SHIM_GET_ARG_32(2);
|
||||||
|
|
||||||
|
XELOGD(
|
||||||
|
"XamInputGetCapabilities(%d, %.8X, %.8X)",
|
||||||
|
user_index,
|
||||||
|
flags,
|
||||||
|
caps_ptr);
|
||||||
|
|
||||||
|
SHIM_SET_RETURN(X_ERROR_DEVICE_NOT_CONNECTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinputgetstate(v=vs.85).aspx
|
||||||
SHIM_CALL XamInputGetState_shim(
|
SHIM_CALL XamInputGetState_shim(
|
||||||
xe_ppc_state_t* ppc_state, XamState* state) {
|
xe_ppc_state_t* ppc_state, XamState* state) {
|
||||||
uint32_t user_index = SHIM_GET_ARG_32(0);
|
uint32_t user_index = SHIM_GET_ARG_32(0);
|
||||||
|
@ -34,7 +52,24 @@ SHIM_CALL XamInputGetState_shim(
|
||||||
user_index,
|
user_index,
|
||||||
state_ptr);
|
state_ptr);
|
||||||
|
|
||||||
SHIM_SET_RETURN(X_STATUS_NOT_IMPLEMENTED);
|
SHIM_SET_RETURN(X_ERROR_DEVICE_NOT_CONNECTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinputsetstate(v=vs.85).aspx
|
||||||
|
SHIM_CALL XamInputSetState_shim(
|
||||||
|
xe_ppc_state_t* ppc_state, XamState* state) {
|
||||||
|
uint32_t user_index = SHIM_GET_ARG_32(0);
|
||||||
|
uint32_t vibration_ptr = SHIM_GET_ARG_32(1);
|
||||||
|
|
||||||
|
XELOGD(
|
||||||
|
"XamInputSetState(%d, %.8X)",
|
||||||
|
user_index,
|
||||||
|
vibration_ptr);
|
||||||
|
|
||||||
|
// or X_ERROR_BUSY
|
||||||
|
|
||||||
|
SHIM_SET_RETURN(X_ERROR_DEVICE_NOT_CONNECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,5 +80,7 @@ SHIM_CALL XamInputGetState_shim(
|
||||||
|
|
||||||
void xe::kernel::xam::RegisterInputExports(
|
void xe::kernel::xam::RegisterInputExports(
|
||||||
ExportResolver* export_resolver, XamState* state) {
|
ExportResolver* export_resolver, XamState* state) {
|
||||||
|
SHIM_SET_MAPPING("xam.exe", XamInputGetCapabilities, state);
|
||||||
SHIM_SET_MAPPING("xam.xex", XamInputGetState, state);
|
SHIM_SET_MAPPING("xam.xex", XamInputGetState, state);
|
||||||
|
SHIM_SET_MAPPING("xam.xex", XamInputSetState, state);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,15 @@ typedef uint32_t X_STATUS;
|
||||||
#define X_STATUS_INVALID_PARAMETER_2 ((uint32_t)0xC00000F0L)
|
#define X_STATUS_INVALID_PARAMETER_2 ((uint32_t)0xC00000F0L)
|
||||||
#define X_STATUS_INVALID_PARAMETER_3 ((uint32_t)0xC00000F1L)
|
#define X_STATUS_INVALID_PARAMETER_3 ((uint32_t)0xC00000F1L)
|
||||||
|
|
||||||
|
// HRESULT (ERROR_*)
|
||||||
|
// Adding as needed.
|
||||||
|
typedef uint32_t X_RESULT;
|
||||||
|
#define X_ERROR_SUCCESS ((uint32_t)0x00000000L)
|
||||||
|
#define X_ERROR_ACCESS_DENIED ((uint32_t)0x80070005L)
|
||||||
|
#define X_ERROR_BUSY ((uint32_t)0x800700AAL)
|
||||||
|
#define X_ERROR_DEVICE_NOT_CONNECTED ((uint32_t)0x8007048FL)
|
||||||
|
#define X_ERROR_CANCELLED ((uint32_t)0x800704C7L)
|
||||||
|
|
||||||
// MEM_*, used by NtAllocateVirtualMemory
|
// MEM_*, used by NtAllocateVirtualMemory
|
||||||
#define X_MEM_COMMIT 0x00001000
|
#define X_MEM_COMMIT 0x00001000
|
||||||
#define X_MEM_RESERVE 0x00002000
|
#define X_MEM_RESERVE 0x00002000
|
||||||
|
|
Loading…
Reference in New Issue