77c5345632
CW-Bug-Id: #22729 CW-Bug-Id: #23147
2903 lines
133 KiB
C
2903 lines
133 KiB
C
/* This file is auto-generated, do not edit. */
|
|
#include <stdarg.h>
|
|
#include <stdint.h>
|
|
|
|
#include "vrclient_private.h"
|
|
|
|
#include "flatapi.h"
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetDigitalActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetAnalogActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetPoseActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetSkeletalActionData, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 32)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_UncompressSkeletalActionData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetOriginLocalizedName, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_ShowBindingsForActionSet, 24)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_003_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1015 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_003_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputDigitalActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_003_GetDigitalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetDigitalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_003_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetPoseActionData(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_003_GetPoseActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetPoseActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, uint32_t eBoneParent, float fPredictedSecondsFromNow, w_InputSkeletonActionData_t *pActionData, uint32_t unActionDataSize, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eBoneParent = eBoneParent,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData,
|
|
.unActionDataSize = unActionDataSize,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetSkeletalActionData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eBoneParent, float fPredictedSecondsFromNow, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetSkeletalActionDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eBoneParent = eBoneParent,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetSkeletalActionDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_UncompressSkeletalActionData(struct w_steam_iface *_this, void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t *peBoneParent, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_003_UncompressSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.peBoneParent = peBoneParent,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_UncompressSkeletalActionData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude)
|
|
{
|
|
struct IVRInput_IVRInput_003_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize)
|
|
{
|
|
struct IVRInput_IVRInput_003_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_003_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_003_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1015 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_003_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_003_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_003_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_003, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_003_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_003,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetPoseActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_UncompressSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_003_ShowBindingsForActionSet)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_003(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_003_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_003(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_003_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(17);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 17 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData, 5, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData, 7, TRUE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 5, TRUE, TRUE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
for (i = 0; i < 17; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_003_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetDigitalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetAnalogActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetPoseActionData, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetSkeletalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetSkeletalBoneData, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetSkeletalBoneDataCompressed, 40)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_DecompressSkeletalBoneData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_TriggerHapticVibrationAction, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetOriginLocalizedName, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_ShowBindingsForActionSet, 24)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_004_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_004_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern uint32_t __thiscall winIVRInput_IVRInput_004_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice);
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_004_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetPoseActionData(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_004_GetPoseActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetPoseActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, w_InputSkeletalActionData_t_1016 *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputSkeletalActionData_t_1016 w_pActionData;
|
|
struct IVRInput_IVRInput_004_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetSkeletalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetSkeletalBoneData(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetSkeletalBoneDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_DecompressSkeletalBoneData(struct w_steam_iface *_this, void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t *peTransformSpace, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_004_DecompressSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.peTransformSpace = peTransformSpace,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_DecompressSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_004_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize)
|
|
{
|
|
struct IVRInput_IVRInput_004_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_004_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_004_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_004_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_004_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_004_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_004, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_004_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_004,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetPoseActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetSkeletalBoneDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_DecompressSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_004_ShowBindingsForActionSet)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_004(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_004_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_004(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_004_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(18);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 18 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_004_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_004_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_004_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_004_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_004_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_004_GetDigitalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_004_GetAnalogActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_004_GetPoseActionData, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_004_GetSkeletalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_004_GetSkeletalBoneData, 6, FALSE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_004_GetSkeletalBoneDataCompressed, 7, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_004_DecompressSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_004_TriggerHapticVibrationAction, 6, TRUE, TRUE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_004_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_004_GetOriginLocalizedName, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_004_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_004_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[17], r, winIVRInput_IVRInput_004_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
for (i = 0; i < 18; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_004_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetDigitalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetAnalogActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetPoseActionData, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetBoneCount, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetBoneHierarchy, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetBoneName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalReferenceTransforms, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalTrackingLevel, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalBoneData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalSummaryData, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetSkeletalBoneDataCompressed, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_DecompressSkeletalBoneData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_TriggerHapticVibrationAction, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetOriginLocalizedName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_ShowBindingsForActionSet, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_IsUsingLegacyInput, 4)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_005_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern uint32_t __thiscall winIVRInput_IVRInput_005_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice);
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_005_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetPoseActionData(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_005_GetPoseActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetPoseActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, w_InputSkeletalActionData_t_113b *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputSkeletalActionData_t_113b w_pActionData;
|
|
struct IVRInput_IVRInput_005_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetBoneCount(struct w_steam_iface *_this, uint64_t action, uint32_t *pBoneCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetBoneCount_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pBoneCount = pBoneCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetBoneCount, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetBoneHierarchy(struct w_steam_iface *_this, uint64_t action, int32_t *pParentIndices, uint32_t unIndexArayCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetBoneHierarchy_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pParentIndices = pParentIndices,
|
|
.unIndexArayCount = unIndexArayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetBoneHierarchy, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetBoneName(struct w_steam_iface *_this, uint64_t action, int32_t nBoneIndex, char *pchBoneName, uint32_t unNameBufferSize)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetBoneName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.nBoneIndex = nBoneIndex,
|
|
.pchBoneName = pchBoneName,
|
|
.unNameBufferSize = unNameBufferSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetBoneName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalReferenceTransforms(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eReferencePose, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetSkeletalReferenceTransforms_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eReferencePose = eReferencePose,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalReferenceTransforms, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalTrackingLevel(struct w_steam_iface *_this, uint64_t action, uint32_t *pSkeletalTrackingLevel)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetSkeletalTrackingLevel_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pSkeletalTrackingLevel = pSkeletalTrackingLevel,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalTrackingLevel, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalBoneData(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalSummaryData(struct w_steam_iface *_this, uint64_t action, VRSkeletalSummaryData_t *pSkeletalSummaryData)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetSkeletalSummaryData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pSkeletalSummaryData = pSkeletalSummaryData,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalSummaryData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetSkeletalBoneDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eMotionRange, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eMotionRange = eMotionRange,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_DecompressSkeletalBoneData(struct w_steam_iface *_this, const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t eTransformSpace, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_DecompressSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.eTransformSpace = eTransformSpace,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_DecompressSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_005_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude)
|
|
{
|
|
struct IVRInput_IVRInput_005_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
.unStringSectionsToInclude = unStringSectionsToInclude,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_005_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_005_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_005_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
int8_t __thiscall winIVRInput_IVRInput_005_IsUsingLegacyInput(struct w_steam_iface *_this)
|
|
{
|
|
struct IVRInput_IVRInput_005_IsUsingLegacyInput_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_005_IsUsingLegacyInput, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_005_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_005, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_005_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_005,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetPoseActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetBoneCount)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetBoneHierarchy)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetBoneName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalReferenceTransforms)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalTrackingLevel)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalSummaryData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetSkeletalBoneDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_DecompressSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_ShowBindingsForActionSet)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_005_IsUsingLegacyInput)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_005(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_005_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_005(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_005_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(25);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 25 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_005_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_005_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_005_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_005_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_005_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_005_GetDigitalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_005_GetAnalogActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_005_GetPoseActionData, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_005_GetSkeletalActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_005_GetBoneCount, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_005_GetBoneHierarchy, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_005_GetBoneName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_005_GetSkeletalReferenceTransforms, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_005_GetSkeletalTrackingLevel, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_005_GetSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_005_GetSkeletalSummaryData, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_005_GetSkeletalBoneDataCompressed, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[17], r, winIVRInput_IVRInput_005_DecompressSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[18], r, winIVRInput_IVRInput_005_TriggerHapticVibrationAction, 6, TRUE, TRUE);
|
|
init_thunk(&thunks[19], r, winIVRInput_IVRInput_005_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[20], r, winIVRInput_IVRInput_005_GetOriginLocalizedName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[21], r, winIVRInput_IVRInput_005_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[22], r, winIVRInput_IVRInput_005_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[23], r, winIVRInput_IVRInput_005_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[24], r, winIVRInput_IVRInput_005_IsUsingLegacyInput, 0, FALSE, FALSE);
|
|
for (i = 0; i < 25; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_005_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetDigitalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetAnalogActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetPoseActionDataRelativeToNow, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetPoseActionDataForNextFrame, 32)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetBoneCount, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetBoneHierarchy, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetBoneName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalReferenceTransforms, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalTrackingLevel, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalBoneData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalSummaryData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetSkeletalBoneDataCompressed, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_DecompressSkeletalBoneData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_TriggerHapticVibrationAction, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetOriginLocalizedName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_ShowBindingsForActionSet, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_IsUsingLegacyInput, 4)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_006_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern uint32_t __thiscall winIVRInput_IVRInput_006_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice);
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_006_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetPoseActionDataRelativeToNow(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetPoseActionDataForNextFrame(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_006_GetPoseActionDataForNextFrame_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetPoseActionDataForNextFrame, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, w_InputSkeletalActionData_t_113b *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputSkeletalActionData_t_113b w_pActionData;
|
|
struct IVRInput_IVRInput_006_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetBoneCount(struct w_steam_iface *_this, uint64_t action, uint32_t *pBoneCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetBoneCount_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pBoneCount = pBoneCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetBoneCount, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetBoneHierarchy(struct w_steam_iface *_this, uint64_t action, int32_t *pParentIndices, uint32_t unIndexArayCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetBoneHierarchy_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pParentIndices = pParentIndices,
|
|
.unIndexArayCount = unIndexArayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetBoneHierarchy, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetBoneName(struct w_steam_iface *_this, uint64_t action, int32_t nBoneIndex, char *pchBoneName, uint32_t unNameBufferSize)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetBoneName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.nBoneIndex = nBoneIndex,
|
|
.pchBoneName = pchBoneName,
|
|
.unNameBufferSize = unNameBufferSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetBoneName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalReferenceTransforms(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eReferencePose, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetSkeletalReferenceTransforms_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eReferencePose = eReferencePose,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalReferenceTransforms, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalTrackingLevel(struct w_steam_iface *_this, uint64_t action, uint32_t *pSkeletalTrackingLevel)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetSkeletalTrackingLevel_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pSkeletalTrackingLevel = pSkeletalTrackingLevel,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalTrackingLevel, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalBoneData(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalSummaryData(struct w_steam_iface *_this, uint64_t action, uint32_t eSummaryType, VRSkeletalSummaryData_t *pSkeletalSummaryData)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetSkeletalSummaryData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eSummaryType = eSummaryType,
|
|
.pSkeletalSummaryData = pSkeletalSummaryData,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalSummaryData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetSkeletalBoneDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eMotionRange, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eMotionRange = eMotionRange,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_DecompressSkeletalBoneData(struct w_steam_iface *_this, const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t eTransformSpace, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_DecompressSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.eTransformSpace = eTransformSpace,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_DecompressSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_006_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude)
|
|
{
|
|
struct IVRInput_IVRInput_006_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
.unStringSectionsToInclude = unStringSectionsToInclude,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_006_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_006_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_006_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
int8_t __thiscall winIVRInput_IVRInput_006_IsUsingLegacyInput(struct w_steam_iface *_this)
|
|
{
|
|
struct IVRInput_IVRInput_006_IsUsingLegacyInput_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_006_IsUsingLegacyInput, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_006_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_006, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_006_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_006,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetPoseActionDataRelativeToNow)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetPoseActionDataForNextFrame)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetBoneCount)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetBoneHierarchy)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetBoneName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalReferenceTransforms)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalTrackingLevel)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalSummaryData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetSkeletalBoneDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_DecompressSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_ShowBindingsForActionSet)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_006_IsUsingLegacyInput)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_006(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_006_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_006(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_006_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(26);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 26 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_006_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_006_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_006_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_006_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_006_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_006_GetDigitalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_006_GetAnalogActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_006_GetPoseActionDataRelativeToNow, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_006_GetPoseActionDataForNextFrame, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_006_GetSkeletalActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_006_GetBoneCount, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_006_GetBoneHierarchy, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_006_GetBoneName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_006_GetSkeletalReferenceTransforms, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_006_GetSkeletalTrackingLevel, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_006_GetSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_006_GetSkeletalSummaryData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[17], r, winIVRInput_IVRInput_006_GetSkeletalBoneDataCompressed, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[18], r, winIVRInput_IVRInput_006_DecompressSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[19], r, winIVRInput_IVRInput_006_TriggerHapticVibrationAction, 6, TRUE, TRUE);
|
|
init_thunk(&thunks[20], r, winIVRInput_IVRInput_006_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[21], r, winIVRInput_IVRInput_006_GetOriginLocalizedName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[22], r, winIVRInput_IVRInput_006_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[23], r, winIVRInput_IVRInput_006_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[24], r, winIVRInput_IVRInput_006_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[25], r, winIVRInput_IVRInput_006_IsUsingLegacyInput, 0, FALSE, FALSE);
|
|
for (i = 0; i < 26; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_006_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetDigitalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetAnalogActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetPoseActionDataRelativeToNow, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetPoseActionDataForNextFrame, 32)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetBoneCount, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetBoneHierarchy, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetBoneName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalReferenceTransforms, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalTrackingLevel, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalBoneData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalSummaryData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetSkeletalBoneDataCompressed, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_DecompressSkeletalBoneData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_TriggerHapticVibrationAction, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetOriginLocalizedName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_GetActionBindingInfo, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_ShowBindingsForActionSet, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_IsUsingLegacyInput, 4)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_OpenBindingUI, 28)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_007_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern uint32_t __thiscall winIVRInput_IVRInput_007_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice);
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_007_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetPoseActionDataRelativeToNow(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetPoseActionDataForNextFrame(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_007_GetPoseActionDataForNextFrame_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetPoseActionDataForNextFrame, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, w_InputSkeletalActionData_t_113b *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputSkeletalActionData_t_113b w_pActionData;
|
|
struct IVRInput_IVRInput_007_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetBoneCount(struct w_steam_iface *_this, uint64_t action, uint32_t *pBoneCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetBoneCount_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pBoneCount = pBoneCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetBoneCount, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetBoneHierarchy(struct w_steam_iface *_this, uint64_t action, int32_t *pParentIndices, uint32_t unIndexArayCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetBoneHierarchy_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pParentIndices = pParentIndices,
|
|
.unIndexArayCount = unIndexArayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetBoneHierarchy, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetBoneName(struct w_steam_iface *_this, uint64_t action, int32_t nBoneIndex, char *pchBoneName, uint32_t unNameBufferSize)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetBoneName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.nBoneIndex = nBoneIndex,
|
|
.pchBoneName = pchBoneName,
|
|
.unNameBufferSize = unNameBufferSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetBoneName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalReferenceTransforms(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eReferencePose, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eReferencePose = eReferencePose,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalReferenceTransforms, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalTrackingLevel(struct w_steam_iface *_this, uint64_t action, uint32_t *pSkeletalTrackingLevel)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pSkeletalTrackingLevel = pSkeletalTrackingLevel,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalTrackingLevel, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalBoneData(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalSummaryData(struct w_steam_iface *_this, uint64_t action, uint32_t eSummaryType, VRSkeletalSummaryData_t *pSkeletalSummaryData)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetSkeletalSummaryData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eSummaryType = eSummaryType,
|
|
.pSkeletalSummaryData = pSkeletalSummaryData,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalSummaryData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetSkeletalBoneDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eMotionRange, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eMotionRange = eMotionRange,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_DecompressSkeletalBoneData(struct w_steam_iface *_this, const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t eTransformSpace, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_DecompressSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.eTransformSpace = eTransformSpace,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_DecompressSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_007_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
.unStringSectionsToInclude = unStringSectionsToInclude,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_GetActionBindingInfo(struct w_steam_iface *_this, uint64_t action, InputBindingInfo_t_1517 *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t *punReturnedBindingInfoCount)
|
|
{
|
|
struct IVRInput_IVRInput_007_GetActionBindingInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pOriginInfo = pOriginInfo,
|
|
.unBindingInfoSize = unBindingInfoSize,
|
|
.unBindingInfoCount = unBindingInfoCount,
|
|
.punReturnedBindingInfoCount = punReturnedBindingInfoCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_GetActionBindingInfo, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_007_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_007_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
int8_t __thiscall winIVRInput_IVRInput_007_IsUsingLegacyInput(struct w_steam_iface *_this)
|
|
{
|
|
struct IVRInput_IVRInput_007_IsUsingLegacyInput_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_IsUsingLegacyInput, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_007_OpenBindingUI(struct w_steam_iface *_this, const char *pchAppKey, uint64_t ulActionSetHandle, uint64_t ulDeviceHandle, int8_t bShowOnDesktop)
|
|
{
|
|
struct IVRInput_IVRInput_007_OpenBindingUI_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchAppKey = pchAppKey,
|
|
.ulActionSetHandle = ulActionSetHandle,
|
|
.ulDeviceHandle = ulDeviceHandle,
|
|
.bShowOnDesktop = bShowOnDesktop,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_007_OpenBindingUI, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_007_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_007, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_007_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_007,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetPoseActionDataRelativeToNow)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetPoseActionDataForNextFrame)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetBoneCount)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetBoneHierarchy)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetBoneName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalReferenceTransforms)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalTrackingLevel)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalSummaryData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetSkeletalBoneDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_DecompressSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_GetActionBindingInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_ShowBindingsForActionSet)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_IsUsingLegacyInput)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_007_OpenBindingUI)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_007(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_007_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_007(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_007_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(28);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 28 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_007_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_007_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_007_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_007_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_007_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_007_GetDigitalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_007_GetAnalogActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_007_GetPoseActionDataRelativeToNow, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_007_GetPoseActionDataForNextFrame, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_007_GetSkeletalActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_007_GetBoneCount, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_007_GetBoneHierarchy, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_007_GetBoneName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_007_GetSkeletalReferenceTransforms, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_007_GetSkeletalTrackingLevel, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_007_GetSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_007_GetSkeletalSummaryData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[17], r, winIVRInput_IVRInput_007_GetSkeletalBoneDataCompressed, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[18], r, winIVRInput_IVRInput_007_DecompressSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[19], r, winIVRInput_IVRInput_007_TriggerHapticVibrationAction, 6, TRUE, TRUE);
|
|
init_thunk(&thunks[20], r, winIVRInput_IVRInput_007_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[21], r, winIVRInput_IVRInput_007_GetOriginLocalizedName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[22], r, winIVRInput_IVRInput_007_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[23], r, winIVRInput_IVRInput_007_GetActionBindingInfo, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[24], r, winIVRInput_IVRInput_007_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[25], r, winIVRInput_IVRInput_007_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[26], r, winIVRInput_IVRInput_007_IsUsingLegacyInput, 0, FALSE, FALSE);
|
|
init_thunk(&thunks[27], r, winIVRInput_IVRInput_007_OpenBindingUI, 4, FALSE, FALSE);
|
|
for (i = 0; i < 28; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_007_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_SetActionManifestPath, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetActionSetHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetActionHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetInputSourceHandle, 12)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_UpdateActionState, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetDigitalActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetAnalogActionData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetPoseActionDataRelativeToNow, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetPoseActionDataForNextFrame, 32)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalActionData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetDominantHand, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_SetDominantHand, 8)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetBoneCount, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetBoneHierarchy, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetBoneName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalReferenceTransforms, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalTrackingLevel, 16)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalBoneData, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalSummaryData, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetSkeletalBoneDataCompressed, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_DecompressSkeletalBoneData, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_TriggerHapticVibrationAction, 36)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetActionOrigins, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetOriginLocalizedName, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetOriginTrackedDeviceInfo, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetActionBindingInfo, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_ShowActionOrigins, 20)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_ShowBindingsForActionSet, 24)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetComponentStateForBinding, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_IsUsingLegacyInput, 4)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_OpenBindingUI, 28)
|
|
DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetBindingVariant, 20)
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath)
|
|
{
|
|
struct IVRInput_IVRInput_010_SetActionManifestPath_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionManifestPath = pchActionManifestPath,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_SetActionManifestPath, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetActionSetHandle(struct w_steam_iface *_this, const char *pchActionSetName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetActionSetHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionSetName = pchActionSetName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetActionSetHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetActionHandle(struct w_steam_iface *_this, const char *pchActionName, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetActionHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchActionName = pchActionName,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetActionHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetInputSourceHandle(struct w_steam_iface *_this, const char *pchInputSourcePath, uint64_t *pHandle)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetInputSourceHandle_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchInputSourcePath = pchInputSourcePath,
|
|
.pHandle = pHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetInputSourceHandle, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_UpdateActionState(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_UpdateActionState_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_UpdateActionState, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern uint32_t __thiscall winIVRInput_IVRInput_010_GetDigitalActionData(struct w_steam_iface *_this, uint64_t action, w_InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice);
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetAnalogActionData(struct w_steam_iface *_this, uint64_t action, w_InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputAnalogActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_010_GetAnalogActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetAnalogActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetPoseActionDataRelativeToNow(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, float fPredictedSecondsFromNow, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.fPredictedSecondsFromNow = fPredictedSecondsFromNow,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetPoseActionDataForNextFrame(struct w_steam_iface *_this, uint64_t action, uint32_t eOrigin, w_InputPoseActionData_t *pActionData, uint32_t unActionDataSize, uint64_t ulRestrictToDevice)
|
|
{
|
|
w_InputPoseActionData_t w_pActionData;
|
|
struct IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eOrigin = eOrigin,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetPoseActionDataForNextFrame, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalActionData(struct w_steam_iface *_this, uint64_t action, w_InputSkeletalActionData_t_113b *pActionData, uint32_t unActionDataSize)
|
|
{
|
|
w_InputSkeletalActionData_t_113b w_pActionData;
|
|
struct IVRInput_IVRInput_010_GetSkeletalActionData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pActionData = pActionData ? &w_pActionData : NULL,
|
|
.unActionDataSize = unActionDataSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unActionDataSize = min( unActionDataSize, sizeof(w_pActionData) );
|
|
if (pActionData) memcpy( &w_pActionData, pActionData, unActionDataSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalActionData, ¶ms );
|
|
if (pActionData) memcpy( pActionData, &w_pActionData, unActionDataSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetDominantHand(struct w_steam_iface *_this, uint32_t *peDominantHand)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetDominantHand_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.peDominantHand = peDominantHand,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetDominantHand, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_SetDominantHand(struct w_steam_iface *_this, uint32_t eDominantHand)
|
|
{
|
|
struct IVRInput_IVRInput_010_SetDominantHand_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.eDominantHand = eDominantHand,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_SetDominantHand, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetBoneCount(struct w_steam_iface *_this, uint64_t action, uint32_t *pBoneCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetBoneCount_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pBoneCount = pBoneCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetBoneCount, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetBoneHierarchy(struct w_steam_iface *_this, uint64_t action, int32_t *pParentIndices, uint32_t unIndexArayCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetBoneHierarchy_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pParentIndices = pParentIndices,
|
|
.unIndexArayCount = unIndexArayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetBoneHierarchy, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetBoneName(struct w_steam_iface *_this, uint64_t action, int32_t nBoneIndex, char *pchBoneName, uint32_t unNameBufferSize)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetBoneName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.nBoneIndex = nBoneIndex,
|
|
.pchBoneName = pchBoneName,
|
|
.unNameBufferSize = unNameBufferSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetBoneName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalReferenceTransforms(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eReferencePose, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eReferencePose = eReferencePose,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalReferenceTransforms, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalTrackingLevel(struct w_steam_iface *_this, uint64_t action, uint32_t *pSkeletalTrackingLevel)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pSkeletalTrackingLevel = pSkeletalTrackingLevel,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalTrackingLevel, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalBoneData(struct w_steam_iface *_this, uint64_t action, uint32_t eTransformSpace, uint32_t eMotionRange, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eTransformSpace = eTransformSpace,
|
|
.eMotionRange = eMotionRange,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalSummaryData(struct w_steam_iface *_this, uint64_t action, uint32_t eSummaryType, VRSkeletalSummaryData_t *pSkeletalSummaryData)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetSkeletalSummaryData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eSummaryType = eSummaryType,
|
|
.pSkeletalSummaryData = pSkeletalSummaryData,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalSummaryData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetSkeletalBoneDataCompressed(struct w_steam_iface *_this, uint64_t action, uint32_t eMotionRange, void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.eMotionRange = eMotionRange,
|
|
.pvCompressedData = pvCompressedData,
|
|
.unCompressedSize = unCompressedSize,
|
|
.punRequiredCompressedSize = punRequiredCompressedSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_DecompressSkeletalBoneData(struct w_steam_iface *_this, const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, uint32_t eTransformSpace, VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_DecompressSkeletalBoneData_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pvCompressedBuffer = pvCompressedBuffer,
|
|
.unCompressedBufferSize = unCompressedBufferSize,
|
|
.eTransformSpace = eTransformSpace,
|
|
.pTransformArray = pTransformArray,
|
|
.unTransformArrayCount = unTransformArrayCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_DecompressSkeletalBoneData, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_TriggerHapticVibrationAction(struct w_steam_iface *_this, uint64_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, uint64_t ulRestrictToDevice)
|
|
{
|
|
struct IVRInput_IVRInput_010_TriggerHapticVibrationAction_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.fStartSecondsFromNow = fStartSecondsFromNow,
|
|
.fDurationSeconds = fDurationSeconds,
|
|
.fFrequency = fFrequency,
|
|
.fAmplitude = fAmplitude,
|
|
.ulRestrictToDevice = ulRestrictToDevice,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_TriggerHapticVibrationAction, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t *originsOut, uint32_t originOutCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.digitalActionHandle = digitalActionHandle,
|
|
.originsOut = originsOut,
|
|
.originOutCount = originOutCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetOriginLocalizedName(struct w_steam_iface *_this, uint64_t origin, char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetOriginLocalizedName_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pchNameArray = pchNameArray,
|
|
.unNameArraySize = unNameArraySize,
|
|
.unStringSectionsToInclude = unStringSectionsToInclude,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetOriginLocalizedName, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetOriginTrackedDeviceInfo(struct w_steam_iface *_this, uint64_t origin, w_InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize)
|
|
{
|
|
w_InputOriginInfo_t w_pOriginInfo;
|
|
struct IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.origin = origin,
|
|
.pOriginInfo = pOriginInfo ? &w_pOriginInfo : NULL,
|
|
.unOriginInfoSize = unOriginInfoSize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
unOriginInfoSize = min( unOriginInfoSize, sizeof(w_pOriginInfo) );
|
|
if (pOriginInfo) memcpy( &w_pOriginInfo, pOriginInfo, unOriginInfoSize );
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo, ¶ms );
|
|
if (pOriginInfo) memcpy( pOriginInfo, &w_pOriginInfo, unOriginInfoSize );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetActionBindingInfo(struct w_steam_iface *_this, uint64_t action, InputBindingInfo_t_11030 *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t *punReturnedBindingInfoCount)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetActionBindingInfo_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.action = action,
|
|
.pOriginInfo = pOriginInfo,
|
|
.unBindingInfoSize = unBindingInfoSize,
|
|
.unBindingInfoCount = unBindingInfoCount,
|
|
.punReturnedBindingInfoCount = punReturnedBindingInfoCount,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetActionBindingInfo, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_ShowActionOrigins(struct w_steam_iface *_this, uint64_t actionSetHandle, uint64_t ulActionHandle)
|
|
{
|
|
struct IVRInput_IVRInput_010_ShowActionOrigins_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.actionSetHandle = actionSetHandle,
|
|
.ulActionHandle = ulActionHandle,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_ShowActionOrigins, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_ShowBindingsForActionSet(struct w_steam_iface *_this, VRActiveActionSet_t_1016 *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, uint64_t originToHighlight)
|
|
{
|
|
struct IVRInput_IVRInput_010_ShowBindingsForActionSet_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pSets = pSets,
|
|
.unSizeOfVRSelectedActionSet_t = unSizeOfVRSelectedActionSet_t,
|
|
.unSetCount = unSetCount,
|
|
.originToHighlight = originToHighlight,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_ShowBindingsForActionSet, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetComponentStateForBinding(struct w_steam_iface *_this, const char *pchRenderModelName, const char *pchComponentName, const InputBindingInfo_t_11030 *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, RenderModel_ComponentState_t *pComponentState)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetComponentStateForBinding_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchRenderModelName = pchRenderModelName,
|
|
.pchComponentName = pchComponentName,
|
|
.pOriginInfo = pOriginInfo,
|
|
.unBindingInfoSize = unBindingInfoSize,
|
|
.unBindingInfoCount = unBindingInfoCount,
|
|
.pComponentState = pComponentState,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetComponentStateForBinding, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
int8_t __thiscall winIVRInput_IVRInput_010_IsUsingLegacyInput(struct w_steam_iface *_this)
|
|
{
|
|
struct IVRInput_IVRInput_010_IsUsingLegacyInput_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_IsUsingLegacyInput, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_OpenBindingUI(struct w_steam_iface *_this, const char *pchAppKey, uint64_t ulActionSetHandle, uint64_t ulDeviceHandle, int8_t bShowOnDesktop)
|
|
{
|
|
struct IVRInput_IVRInput_010_OpenBindingUI_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.pchAppKey = pchAppKey,
|
|
.ulActionSetHandle = ulActionSetHandle,
|
|
.ulDeviceHandle = ulDeviceHandle,
|
|
.bShowOnDesktop = bShowOnDesktop,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_OpenBindingUI, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
uint32_t __thiscall winIVRInput_IVRInput_010_GetBindingVariant(struct w_steam_iface *_this, uint64_t ulDevicePath, char *pchVariantArray, uint32_t unVariantArraySize)
|
|
{
|
|
struct IVRInput_IVRInput_010_GetBindingVariant_params params =
|
|
{
|
|
.linux_side = _this->u_iface,
|
|
.ulDevicePath = ulDevicePath,
|
|
.pchVariantArray = pchVariantArray,
|
|
.unVariantArraySize = unVariantArraySize,
|
|
};
|
|
TRACE("%p\n", _this);
|
|
VRCLIENT_CALL( IVRInput_IVRInput_010_GetBindingVariant, ¶ms );
|
|
return params._ret;
|
|
}
|
|
|
|
extern vtable_ptr winIVRInput_IVRInput_010_vtable;
|
|
|
|
DEFINE_RTTI_DATA0(winIVRInput_IVRInput_010, 0, ".?AVIVRInput@@")
|
|
|
|
__ASM_BLOCK_BEGIN(winIVRInput_IVRInput_010_vtables)
|
|
__ASM_VTABLE(winIVRInput_IVRInput_010,
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_SetActionManifestPath)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetActionSetHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetActionHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetInputSourceHandle)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_UpdateActionState)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetDigitalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetAnalogActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetPoseActionDataRelativeToNow)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetPoseActionDataForNextFrame)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalActionData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetDominantHand)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_SetDominantHand)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetBoneCount)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetBoneHierarchy)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetBoneName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalReferenceTransforms)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalTrackingLevel)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalSummaryData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetSkeletalBoneDataCompressed)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_DecompressSkeletalBoneData)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_TriggerHapticVibrationAction)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetOriginLocalizedName)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetOriginTrackedDeviceInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetActionBindingInfo)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_ShowActionOrigins)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_ShowBindingsForActionSet)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetComponentStateForBinding)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_IsUsingLegacyInput)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_OpenBindingUI)
|
|
VTABLE_ADD_FUNC(winIVRInput_IVRInput_010_GetBindingVariant)
|
|
);
|
|
__ASM_BLOCK_END
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_010(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
TRACE("-> %p\n", r);
|
|
r->vtable = &winIVRInput_IVRInput_010_vtable;
|
|
r->u_iface = u_iface;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_010(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
struct w_steam_iface *create_winIVRInput_IVRInput_010_FnTable(void *u_iface)
|
|
{
|
|
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
|
|
struct thunk *thunks = alloc_thunks(32);
|
|
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 32 * sizeof(*vtable));
|
|
int i;
|
|
|
|
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
|
init_thunk(&thunks[0], r, winIVRInput_IVRInput_010_SetActionManifestPath, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[1], r, winIVRInput_IVRInput_010_GetActionSetHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[2], r, winIVRInput_IVRInput_010_GetActionHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[3], r, winIVRInput_IVRInput_010_GetInputSourceHandle, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[4], r, winIVRInput_IVRInput_010_UpdateActionState, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[5], r, winIVRInput_IVRInput_010_GetDigitalActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[6], r, winIVRInput_IVRInput_010_GetAnalogActionData, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[7], r, winIVRInput_IVRInput_010_GetPoseActionDataRelativeToNow, 6, TRUE, FALSE);
|
|
init_thunk(&thunks[8], r, winIVRInput_IVRInput_010_GetPoseActionDataForNextFrame, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[9], r, winIVRInput_IVRInput_010_GetSkeletalActionData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[10], r, winIVRInput_IVRInput_010_GetDominantHand, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[11], r, winIVRInput_IVRInput_010_SetDominantHand, 1, FALSE, FALSE);
|
|
init_thunk(&thunks[12], r, winIVRInput_IVRInput_010_GetBoneCount, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[13], r, winIVRInput_IVRInput_010_GetBoneHierarchy, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[14], r, winIVRInput_IVRInput_010_GetBoneName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[15], r, winIVRInput_IVRInput_010_GetSkeletalReferenceTransforms, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[16], r, winIVRInput_IVRInput_010_GetSkeletalTrackingLevel, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[17], r, winIVRInput_IVRInput_010_GetSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[18], r, winIVRInput_IVRInput_010_GetSkeletalSummaryData, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[19], r, winIVRInput_IVRInput_010_GetSkeletalBoneDataCompressed, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[20], r, winIVRInput_IVRInput_010_DecompressSkeletalBoneData, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[21], r, winIVRInput_IVRInput_010_TriggerHapticVibrationAction, 6, TRUE, TRUE);
|
|
init_thunk(&thunks[22], r, winIVRInput_IVRInput_010_GetActionOrigins, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[23], r, winIVRInput_IVRInput_010_GetOriginLocalizedName, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[24], r, winIVRInput_IVRInput_010_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
|
init_thunk(&thunks[25], r, winIVRInput_IVRInput_010_GetActionBindingInfo, 5, FALSE, FALSE);
|
|
init_thunk(&thunks[26], r, winIVRInput_IVRInput_010_ShowActionOrigins, 2, FALSE, FALSE);
|
|
init_thunk(&thunks[27], r, winIVRInput_IVRInput_010_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[28], r, winIVRInput_IVRInput_010_GetComponentStateForBinding, 6, FALSE, FALSE);
|
|
init_thunk(&thunks[29], r, winIVRInput_IVRInput_010_IsUsingLegacyInput, 0, FALSE, FALSE);
|
|
init_thunk(&thunks[30], r, winIVRInput_IVRInput_010_OpenBindingUI, 4, FALSE, FALSE);
|
|
init_thunk(&thunks[31], r, winIVRInput_IVRInput_010_GetBindingVariant, 3, FALSE, FALSE);
|
|
for (i = 0; i < 32; i++)
|
|
vtable[i] = &thunks[i];
|
|
r->u_iface = u_iface;
|
|
r->vtable = (void *)vtable;
|
|
return r;
|
|
}
|
|
|
|
void destroy_winIVRInput_IVRInput_010_FnTable(struct w_steam_iface *object)
|
|
{
|
|
TRACE("%p\n", object);
|
|
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
|
|
HeapFree(GetProcessHeap(), 0, object->vtable);
|
|
HeapFree(GetProcessHeap(), 0, object);
|
|
}
|
|
|
|
void init_winIVRInput_rtti( char *base )
|
|
{
|
|
#ifdef __x86_64__
|
|
init_winIVRInput_IVRInput_003_rtti( base );
|
|
init_winIVRInput_IVRInput_004_rtti( base );
|
|
init_winIVRInput_IVRInput_005_rtti( base );
|
|
init_winIVRInput_IVRInput_006_rtti( base );
|
|
init_winIVRInput_IVRInput_007_rtti( base );
|
|
init_winIVRInput_IVRInput_010_rtti( base );
|
|
#endif /* __x86_64__ */
|
|
}
|