/* This file is auto-generated, do not edit. */ #include #include #include "vrclient_private.h" #include "flatapi.h" WINE_DEFAULT_DEBUG_CHANNEL(vrclient); DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetWindowBounds, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetEyeOutputViewport, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetDXGIOutputInfo, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_AttachToWindow, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_LoadRenderModel, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_FreeRenderModel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse, 32) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess, 4) void __thiscall winIVRSystem_IVRSystem_003_GetWindowBounds(struct w_steam_iface *_this, int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_003_GetWindowBounds_params params = { .linux_side = _this->u_iface, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetWindowBounds, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_003_GetEyeOutputViewport(struct w_steam_iface *_this, uint32_t eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetEyeOutputViewport, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_003_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_003_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_003_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_003_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_003_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_003_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_003_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_003_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex); int8_t __thiscall winIVRSystem_IVRSystem_003_AttachToWindow(struct w_steam_iface *_this, void *hWnd) { struct IVRSystem_IVRSystem_003_AttachToWindow_params params = { .linux_side = _this->u_iface, .hWnd = hWnd, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_AttachToWindow, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_003_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_LoadRenderModel(struct w_steam_iface *_this, const char *pchRenderModelName, w_RenderModel_t_090 *pRenderModel) { struct IVRSystem_IVRSystem_003_LoadRenderModel_params params = { .linux_side = _this->u_iface, .pchRenderModelName = pchRenderModelName, .pRenderModel = pRenderModel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_LoadRenderModel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_003_FreeRenderModel(struct w_steam_iface *_this, w_RenderModel_t_090 *pRenderModel) { struct IVRSystem_IVRSystem_003_FreeRenderModel_params params = { .linux_side = _this->u_iface, .pRenderModel = pRenderModel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_FreeRenderModel, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_003_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_003_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_090 *pEvent) { struct IVRSystem_IVRSystem_003_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_090 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_003_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_003_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_003_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_003_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_003_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_003_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, const Compositor_OverlaySettings *overlaySettings, HmdVector2_t vecWindowClientPositionOnScreen, HmdVector2_t vecWindowClientSize, uint32_t unControllerDeviceIndex, uint32_t eOutputType) { struct IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .overlaySettings = overlaySettings, .vecWindowClientPositionOnScreen = vecWindowClientPositionOnScreen, .vecWindowClientSize = vecWindowClientSize, .unControllerDeviceIndex = unControllerDeviceIndex, .eOutputType = eOutputType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_003_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_003_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_003_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_003_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_003_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_003, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_003_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_003, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetWindowBounds) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetEyeOutputViewport) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_AttachToWindow) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_LoadRenderModel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_FreeRenderModel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_003(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_003_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_003(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_003_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(38); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 38 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_003_GetWindowBounds, 4, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_003_GetEyeOutputViewport, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_003_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_003_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_003_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_003_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_003_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_003_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_003_GetDXGIOutputInfo, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_003_AttachToWindow, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_003_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_003_LoadRenderModel, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_003_FreeRenderModel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_003_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_003_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_003_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_003_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_003_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_003_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_003_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_003_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_003_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_003_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_003_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse, 5, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_003_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_003_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); for (i = 0; i < 38; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_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(winIVRSystem_IVRSystem_004_GetWindowBounds, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetEyeOutputViewport, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetDXGIOutputInfo, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_AttachToWindow, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_004_DriverDebugRequest, 20) void __thiscall winIVRSystem_IVRSystem_004_GetWindowBounds(struct w_steam_iface *_this, int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_004_GetWindowBounds_params params = { .linux_side = _this->u_iface, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetWindowBounds, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_004_GetEyeOutputViewport(struct w_steam_iface *_this, uint32_t eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetEyeOutputViewport, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_004_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_004_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_004_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_004_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_004_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_004_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_004_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_004_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex); int8_t __thiscall winIVRSystem_IVRSystem_004_AttachToWindow(struct w_steam_iface *_this, void *hWnd) { struct IVRSystem_IVRSystem_004_AttachToWindow_params params = { .linux_side = _this->u_iface, .hWnd = hWnd, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_AttachToWindow, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_004_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_004_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_004_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_092 *pEvent) { struct IVRSystem_IVRSystem_004_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_092 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_004_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_004_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_004_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_004_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_004_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_004_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_004_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_004_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_004_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_004_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_004_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_004_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_004_DriverDebugRequest, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_004_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_004, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_004_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_004, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetWindowBounds) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetEyeOutputViewport) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_AttachToWindow) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_004_DriverDebugRequest) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_004(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_004_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_004(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_004_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(36); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 36 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_004_GetWindowBounds, 4, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_004_GetEyeOutputViewport, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_004_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_004_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_004_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_004_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_004_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_004_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_004_GetDXGIOutputInfo, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_004_AttachToWindow, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_004_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_004_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_004_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_004_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_004_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_004_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_004_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_004_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_004_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_004_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_004_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_004_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_004_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_004_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_004_DriverDebugRequest, 4, FALSE, FALSE); for (i = 0; i < 36; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_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(winIVRSystem_IVRSystem_005_GetWindowBounds, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetEyeOutputViewport, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetDXGIOutputInfo, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_AttachToWindow, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_005_DriverDebugRequest, 20) void __thiscall winIVRSystem_IVRSystem_005_GetWindowBounds(struct w_steam_iface *_this, int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_005_GetWindowBounds_params params = { .linux_side = _this->u_iface, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetWindowBounds, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_005_GetEyeOutputViewport(struct w_steam_iface *_this, uint32_t eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetEyeOutputViewport, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_005_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_005_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_005_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_005_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_005_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_005_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_005_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_005_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex); int8_t __thiscall winIVRSystem_IVRSystem_005_AttachToWindow(struct w_steam_iface *_this, void *hWnd) { struct IVRSystem_IVRSystem_005_AttachToWindow_params params = { .linux_side = _this->u_iface, .hWnd = hWnd, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_AttachToWindow, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_005_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_005_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_005_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_097 *pEvent) { struct IVRSystem_IVRSystem_005_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_097 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_005_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_005_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_005_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_005_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_005_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_005_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_005_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_005_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_005_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_005_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_005_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_005_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_005_DriverDebugRequest, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_005_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_005, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_005_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_005, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetWindowBounds) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetEyeOutputViewport) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_AttachToWindow) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_005_DriverDebugRequest) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_005(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_005_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_005(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_005_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(37); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 37 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_005_GetWindowBounds, 4, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_005_GetEyeOutputViewport, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_005_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_005_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_005_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_005_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_005_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_005_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_005_GetDXGIOutputInfo, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_005_AttachToWindow, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_005_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_005_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_005_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_005_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_005_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_005_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_005_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_005_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_005_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_005_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_005_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_005_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_005_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_005_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_005_DriverDebugRequest, 4, FALSE, FALSE); for (i = 0; i < 37; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_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(winIVRSystem_IVRSystem_006_GetWindowBounds, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetEyeOutputViewport, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetDXGIOutputInfo, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_AttachToWindow, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_006_SetDisplayVisibility, 8) void __thiscall winIVRSystem_IVRSystem_006_GetWindowBounds(struct w_steam_iface *_this, int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_006_GetWindowBounds_params params = { .linux_side = _this->u_iface, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetWindowBounds, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_006_GetEyeOutputViewport(struct w_steam_iface *_this, uint32_t eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pnX = pnX, .pnY = pnY, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetEyeOutputViewport, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_006_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_006_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_006_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_006_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_006_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_006_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_006_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_006_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex); int8_t __thiscall winIVRSystem_IVRSystem_006_AttachToWindow(struct w_steam_iface *_this, void *hWnd) { struct IVRSystem_IVRSystem_006_AttachToWindow_params params = { .linux_side = _this->u_iface, .hWnd = hWnd, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_AttachToWindow, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_006_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_006_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_0910 *pEvent) { struct IVRSystem_IVRSystem_006_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_0910 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_006_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_006_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_006_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_006_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_006_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_006_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_006_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_006_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_006_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_PerformFirmwareUpdate, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_006_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_006_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_006_SetDisplayVisibility, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_006_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_006, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_006_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_006, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetWindowBounds) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetEyeOutputViewport) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_AttachToWindow) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_006_SetDisplayVisibility) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_006(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_006_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_006(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_006_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(42); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 42 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_006_GetWindowBounds, 4, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_006_GetEyeOutputViewport, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_006_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_006_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_006_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_006_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_006_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_006_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_006_GetDXGIOutputInfo, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_006_AttachToWindow, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_006_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_006_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_006_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_006_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_006_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_006_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_006_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_006_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_006_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_006_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_006_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_006_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_006_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_006_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_006_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_006_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_006_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_006_SetDisplayVisibility, 1, FALSE, FALSE); for (i = 0; i < 42; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_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(winIVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_009_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_009_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_009_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_009_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_009_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_009_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_009_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_009_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_009_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_009_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_009_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_009_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_009_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_009_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_009_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_009_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_009_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_0912 *pEvent) { struct IVRSystem_IVRSystem_009_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_0912 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_009_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_009_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_009_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_009_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_009_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_009_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_009_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_009_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_009_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_009_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_009_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_009_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_009_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_009_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_009, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_009_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_009, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_009(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_009_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_009(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_009_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(42); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 42 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_009_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_009_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_009_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_009_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_009_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_009_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_009_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_009_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_009_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_009_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_009_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_009_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_009_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_009_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_009_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_009_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_009_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_009_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_009_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_009_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_009_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_009_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_009_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_009_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_009_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_009_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 42; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_009_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(winIVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_PollNextEvent, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_PollNextEventWithPose, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_PerformanceTestEnableCapture, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange, 8) void __thiscall winIVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_010_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_010_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_010_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_010_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_010_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_010_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_010_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_010_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_010_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_010_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_010_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_010_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_010_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_010_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_010_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_010_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_0914 *pEvent) { struct IVRSystem_IVRSystem_010_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_0914 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_010_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_010_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_010_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_010_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_010_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_010_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_010_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_010_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_010_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_010_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_010_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_010_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_010_PerformanceTestEnableCapture(struct w_steam_iface *_this, int8_t bEnable) { struct IVRSystem_IVRSystem_010_PerformanceTestEnableCapture_params params = { .linux_side = _this->u_iface, .bEnable = bEnable, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_PerformanceTestEnableCapture, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange(struct w_steam_iface *_this, int32_t nFidelityLevel) { struct IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange_params params = { .linux_side = _this->u_iface, .nFidelityLevel = nFidelityLevel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_010_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_010, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_010_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_010, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_PerformanceTestEnableCapture) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_010(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_010_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_010(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_010_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(46); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 46 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_010_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_010_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_010_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_010_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_010_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_010_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_010_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_010_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_010_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_010_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_010_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_010_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_010_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_010_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_010_PollNextEvent, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_010_PollNextEventWithPose, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_010_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_010_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_010_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_010_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_010_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_010_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_010_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_010_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_010_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_010_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_010_PerformanceTestEnableCapture, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange, 1, FALSE, FALSE); for (i = 0; i < 46; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_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); } DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_PerformanceTestEnableCapture, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange, 8) void __thiscall winIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_011_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_011_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_011_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_011_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_011_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_011_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_011_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_011_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_011_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_011_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_011_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_011_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_011_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_011_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_0918 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_011_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_0918 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_011_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_011_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_011_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_011_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_011_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_011_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_011_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_011_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_011_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_011_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_011_PerformanceTestEnableCapture(struct w_steam_iface *_this, int8_t bEnable) { struct IVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params params = { .linux_side = _this->u_iface, .bEnable = bEnable, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_PerformanceTestEnableCapture, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange(struct w_steam_iface *_this, int32_t nFidelityLevel) { struct IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params params = { .linux_side = _this->u_iface, .nFidelityLevel = nFidelityLevel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_011_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_011, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_011_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_011, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_PerformanceTestEnableCapture) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_011(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_011_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_011(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_011_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(46); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 46 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_011_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_011_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_011_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_011_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_011_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_011_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_011_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_011_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_011_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_011_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_011_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_011_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_011_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_011_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_011_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_011_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_011_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_011_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_011_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_011_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_011_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_011_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_011_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_011_PerformanceTestEnableCapture, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange, 1, FALSE, FALSE); for (i = 0; i < 46; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_011_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(winIVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetHiddenAreaMesh, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetControllerState, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetControllerStateWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_012_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_012_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_012_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetProjectionRaw, ¶ms ); } DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_012_ComputeDistortion(struct w_steam_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) { struct IVRSystem_IVRSystem_012_ComputeDistortion_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fU = fU, .fV = fV, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_012_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_012_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_012_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_012_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_012_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_012_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_012_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_012_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_012_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_012_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_012_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_103 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_012_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_103 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_012_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_012_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_012_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_012_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) { struct IVRSystem_IVRSystem_012_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_012_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_012_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_012_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_012_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_012_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_012_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_012_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_012_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_012, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_012_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_012, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_012(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_012_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_012(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_012_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(44); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 44 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_012_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_012_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_012_ComputeDistortion, 4, TRUE, TRUE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_012_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_012_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_012_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_012_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_012_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_012_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_012_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_012_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_012_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_012_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_012_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_012_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_012_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_012_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_012_GetHiddenAreaMesh, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_012_GetControllerState, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_012_GetControllerStateWithPose, 4, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_012_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_012_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_012_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_012_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_012_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_012_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 44; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_012_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(winIVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_014_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) { struct IVRSystem_IVRSystem_014_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, .eProjType = eProjType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_014_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_014_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_014_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_014_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_014_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_014_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_014_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_014_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_014_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_014_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_014_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_014_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_014_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_014_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_103 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_014_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_103 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_014_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_014_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_014_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_014_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_014_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_014_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_014_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_014_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_014_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_014_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_014_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_014_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_014, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_014_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_014, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_014(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_014_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_014(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_014_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(44); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 44 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_014_GetProjectionMatrix, 5, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_014_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_014_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_014_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_014_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_014_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_014_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_014_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_014_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_014_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_014_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_014_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_014_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_014_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_014_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_014_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_014_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_014_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_014_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_014_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_014_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_014_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_014_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_014_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_014_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_014_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 44; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_014_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(winIVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_015_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_015_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_015_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_015_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_015_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_015_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_015_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_015_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_015_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); int8_t __thiscall winIVRSystem_IVRSystem_015_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_015_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_015_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_015_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_015_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_015_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_015_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_015_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_015_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_015_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_015_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_015_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_015_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_015_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_015_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_015_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_015_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_015_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_015_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_015_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_015, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_015_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_015, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_015(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_015_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_015(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_015_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(44); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 44 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_015_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_015_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_015_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_015_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_015_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_015_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_015_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_015_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_015_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_015_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_015_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_015_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_015_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_015_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_015_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_015_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_015_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_015_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_015_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_015_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_015_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_015_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_015_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_015_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_015_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_015_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 44; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_015_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(winIVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetOutputDevice, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_016_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_016_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_016_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_016_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_016_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_016_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_016_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_016_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_016_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_016_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType) { struct IVRSystem_IVRSystem_016_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_016_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_016_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_016_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_016_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_016_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_016_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_016_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_016_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_016_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_016_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_016_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_016_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_016_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_016_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_016_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_016_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_016_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_016_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_016_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_016_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_016, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_016_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_016, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_016(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_016_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_016(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_016_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(45); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 45 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_016_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_016_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_016_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_016_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_016_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_016_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_016_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_016_GetOutputDevice, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_016_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_016_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_016_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_016_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_016_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_016_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_016_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_016_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_016_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_016_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_016_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_016_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_016_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_016_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_016_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_016_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_016_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_016_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_016_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 45; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_016_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(winIVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetOutputDevice, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_CaptureInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_ReleaseInputFocus, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_017_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_017_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_017_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_017_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_017_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_017_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_017_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_017_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_017_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_017_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance) { struct IVRSystem_IVRSystem_017_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, .pInstance = pInstance, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_017_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_017_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_017_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_017_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_017_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_017_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_017_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_1011 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_017_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_1011 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_017_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_017_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_017_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_017_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_017_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_017_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_017_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_017_CaptureInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_CaptureInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_CaptureInputFocus, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_ReleaseInputFocus(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_ReleaseInputFocus_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_ReleaseInputFocus, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_017_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_017_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_017_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_017_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_017, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_017_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_017, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_CaptureInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_ReleaseInputFocus) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_017(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_017_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_017(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_017_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(45); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 45 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_017_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_017_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_017_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_017_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_017_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_017_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_017_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_017_GetOutputDevice, 3, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_017_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_017_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_017_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_017_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_017_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_017_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_017_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_017_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_017_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_017_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_017_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_017_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_017_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_017_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_017_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_017_CaptureInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_017_ReleaseInputFocus, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_017_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_017_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 45; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_017_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(winIVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetOutputDevice, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty, 28) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_IsInputAvailable, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_IsSteamVRDrawingControllers, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_ShouldApplicationPause, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_DriverDebugRequest, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt, 4) void __thiscall winIVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_019_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_019_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_019_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_019_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_019_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_019_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_019_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_019_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_019_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_019_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_019_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance) { struct IVRSystem_IVRSystem_019_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, .pInstance = pInstance, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_019_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_019_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_019_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_019_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_019_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_019_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_019_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t propType, void *pBuffer, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .propType = propType, .pBuffer = pBuffer, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_019_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_019_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_019_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_019_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_019_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_019_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_019_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_019_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_019_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_019_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_IsInputAvailable(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_IsInputAvailable_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_IsInputAvailable, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_IsSteamVRDrawingControllers(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_ShouldApplicationPause(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_ShouldApplicationPause_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_ShouldApplicationPause, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_DriverDebugRequest(struct w_steam_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) { struct IVRSystem_IVRSystem_019_DriverDebugRequest_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .pchRequest = pchRequest, .pchResponseBuffer = pchResponseBuffer, .unResponseBufferSize = unResponseBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_DriverDebugRequest, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_019_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_019_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt, ¶ms ); } extern vtable_ptr winIVRSystem_IVRSystem_019_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_019, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_019_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_019, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_IsInputAvailable) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_IsSteamVRDrawingControllers) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_ShouldApplicationPause) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_DriverDebugRequest) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_019(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_019_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_019(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_019_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(47); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 47 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_019_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_019_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_019_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_019_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_019_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_019_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_019_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_019_GetOutputDevice, 3, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_019_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_019_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_019_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_019_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_019_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_019_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty, 6, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_019_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_019_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_019_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_019_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_019_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_019_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_019_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_019_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_019_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_019_IsInputAvailable, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_019_IsSteamVRDrawingControllers, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_019_ShouldApplicationPause, 0, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_019_DriverDebugRequest, 4, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_019_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[46], r, winIVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); for (i = 0; i < 47; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_019_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(winIVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetOutputDevice, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty, 28) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_IsInputAvailable, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_IsSteamVRDrawingControllers, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_ShouldApplicationPause, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetAppContainerFilePaths, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_020_GetRuntimeVersion, 4) void __thiscall winIVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_020_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_020_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_020_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_020_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_020_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_020_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_020_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_020_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_020_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_020_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_020_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance) { struct IVRSystem_IVRSystem_020_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, .pInstance = pInstance, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_020_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_020_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_020_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_020_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_020_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_020_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_020_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t propType, void *pBuffer, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .propType = propType, .pBuffer = pBuffer, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_020_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_020_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_020_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_020_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_020_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_020_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_020_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_020_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_020_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_020_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_IsInputAvailable(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_IsInputAvailable_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_IsInputAvailable, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_IsSteamVRDrawingControllers(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_ShouldApplicationPause(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_ShouldApplicationPause_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_ShouldApplicationPause, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_020_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_020_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_020_GetAppContainerFilePaths(struct w_steam_iface *_this, char *pchBuffer, uint32_t unBufferSize) { struct IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params params = { .linux_side = _this->u_iface, .pchBuffer = pchBuffer, .unBufferSize = unBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetAppContainerFilePaths, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_020_GetRuntimeVersion(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_020_GetRuntimeVersion_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_020_GetRuntimeVersion, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_020_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_020, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_020_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_020, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_IsInputAvailable) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_IsSteamVRDrawingControllers) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_ShouldApplicationPause) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetAppContainerFilePaths) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_020_GetRuntimeVersion) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_020(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_020_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_020(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_020_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(48); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 48 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_020_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_020_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_020_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_020_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_020_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_020_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_020_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_020_GetOutputDevice, 3, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_020_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_020_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_020_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_020_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_020_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_020_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty, 6, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_020_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_020_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_020_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_020_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_020_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_020_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_020_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_020_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_020_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_020_IsInputAvailable, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_020_IsSteamVRDrawingControllers, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_020_ShouldApplicationPause, 0, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_020_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt, 0, FALSE, FALSE); init_thunk(&thunks[46], r, winIVRSystem_IVRSystem_020_GetAppContainerFilePaths, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVRSystem_IVRSystem_020_GetRuntimeVersion, 0, FALSE, FALSE); for (i = 0; i < 48; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_020_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(winIVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetOutputDevice, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_ResetSeatedZeroPose, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty, 28) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_IsInputAvailable, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_IsSteamVRDrawingControllers, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_ShouldApplicationPause, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetAppContainerFilePaths, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_021_GetRuntimeVersion, 4) void __thiscall winIVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_021_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_021_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_021_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_021_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_021_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_021_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_021_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_021_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_021_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_021_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_021_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance) { struct IVRSystem_IVRSystem_021_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, .pInstance = pInstance, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_021_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_021_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose, ¶ms ); } void __thiscall winIVRSystem_IVRSystem_021_ResetSeatedZeroPose(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_ResetSeatedZeroPose_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_ResetSeatedZeroPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_021_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_021_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_021_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_021_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t propType, void *pBuffer, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .propType = propType, .pBuffer = pBuffer, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_021_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_11030 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_021_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_11030 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_021_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_021_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_021_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_021_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_021_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_021_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_021_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_021_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_IsInputAvailable(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_IsInputAvailable_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_IsInputAvailable, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_IsSteamVRDrawingControllers(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_ShouldApplicationPause(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_ShouldApplicationPause_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_ShouldApplicationPause, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_021_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_021_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_021_GetAppContainerFilePaths(struct w_steam_iface *_this, char *pchBuffer, uint32_t unBufferSize) { struct IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params params = { .linux_side = _this->u_iface, .pchBuffer = pchBuffer, .unBufferSize = unBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetAppContainerFilePaths, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_021_GetRuntimeVersion(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_021_GetRuntimeVersion_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_021_GetRuntimeVersion, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_021_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_021, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_021_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_021, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_ResetSeatedZeroPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_IsInputAvailable) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_IsSteamVRDrawingControllers) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_ShouldApplicationPause) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetAppContainerFilePaths) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_021_GetRuntimeVersion) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_021(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_021_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_021(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_021_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(47); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 47 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_021_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_021_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_021_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_021_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_021_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_021_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_021_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_021_GetOutputDevice, 3, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_021_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_021_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_021_ResetSeatedZeroPose, 0, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_021_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_021_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_021_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty, 6, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_021_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_021_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_021_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_021_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_021_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_021_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_021_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_021_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_021_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_021_IsInputAvailable, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_021_IsSteamVRDrawingControllers, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_021_ShouldApplicationPause, 0, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_021_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_021_GetAppContainerFilePaths, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVRSystem_IVRSystem_021_GetRuntimeVersion, 0, FALSE, FALSE); for (i = 0; i < 47; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_021_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(winIVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetProjectionMatrix, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetProjectionRaw, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_ComputeDistortion, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetEyeToHeadTransform, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetTimeSinceLastVsync, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetD3D9AdapterIndex, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetDXGIOutputInfo, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetOutputDevice, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_IsDisplayOnDesktop, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_SetDisplayVisibility, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_ApplyTransform, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetTrackedDeviceClass, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_IsTrackedDeviceConnected, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty, 28) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetPropErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_PollNextEvent, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_PollNextEventWithPose, 20) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetEventTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetHiddenAreaMesh, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetControllerState, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetControllerStateWithPose, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_TriggerHapticPulse, 16) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetButtonIdNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_IsInputAvailable, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_IsSteamVRDrawingControllers, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_ShouldApplicationPause, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_PerformFirmwareUpdate, 8) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, 4) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetAppContainerFilePaths, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_022_GetRuntimeVersion, 4) void __thiscall winIVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize(struct w_steam_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) { struct IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize_params params = { .linux_side = _this->u_iface, .pnWidth = pnWidth, .pnHeight = pnHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize, ¶ms ); } HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_022_GetProjectionMatrix(struct w_steam_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) { struct IVRSystem_IVRSystem_022_GetProjectionMatrix_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .fNearZ = fNearZ, .fFarZ = fFarZ, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetProjectionMatrix, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_022_GetProjectionRaw(struct w_steam_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) { struct IVRSystem_IVRSystem_022_GetProjectionRaw_params params = { .linux_side = _this->u_iface, .eEye = eEye, .pfLeft = pfLeft, .pfRight = pfRight, .pfTop = pfTop, .pfBottom = pfBottom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetProjectionRaw, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_022_ComputeDistortion(struct w_steam_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) { struct IVRSystem_IVRSystem_022_ComputeDistortion_params params = { .linux_side = _this->u_iface, .eEye = eEye, .fU = fU, .fV = fV, .pDistortionCoordinates = pDistortionCoordinates, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_ComputeDistortion, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_022_GetEyeToHeadTransform(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) { struct IVRSystem_IVRSystem_022_GetEyeToHeadTransform_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetEyeToHeadTransform, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_GetTimeSinceLastVsync(struct w_steam_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) { struct IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params params = { .linux_side = _this->u_iface, .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, .pulFrameCounter = pulFrameCounter, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetTimeSinceLastVsync, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_022_GetD3D9AdapterIndex(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_GetD3D9AdapterIndex_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetD3D9AdapterIndex, ¶ms ); return params._ret; } extern void __thiscall winIVRSystem_IVRSystem_022_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex); void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance) { struct IVRSystem_IVRSystem_022_GetOutputDevice_params params = { .linux_side = _this->u_iface, .pnDevice = pnDevice, .textureType = textureType, .pInstance = pInstance, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetOutputDevice, ¶ms ); } int8_t __thiscall winIVRSystem_IVRSystem_022_IsDisplayOnDesktop(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_IsDisplayOnDesktop_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_IsDisplayOnDesktop, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_SetDisplayVisibility(struct w_steam_iface *_this, int8_t bIsVisibleOnDesktop) { struct IVRSystem_IVRSystem_022_SetDisplayVisibility_params params = { .linux_side = _this->u_iface, .bIsVisibleOnDesktop = bIsVisibleOnDesktop, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_SetDisplayVisibility, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose(struct w_steam_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) { struct IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, .pTrackedDevicePoseArray = pTrackedDevicePoseArray, .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose, ¶ms ); } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_steam_iface *_this, HmdMatrix34_t *_ret) { struct IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = { .linux_side = _this->u_iface, ._ret = _ret, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass(struct w_steam_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) { struct IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params params = { .linux_side = _this->u_iface, .eTrackedDeviceClass = eTrackedDeviceClass, .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel(struct w_steam_iface *_this, uint32_t unDeviceId) { struct IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel_params params = { .linux_side = _this->u_iface, .unDeviceId = unDeviceId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_022_ApplyTransform(struct w_steam_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) { struct IVRSystem_IVRSystem_022_ApplyTransform_params params = { .linux_side = _this->u_iface, .pOutputPose = pOutputPose, .pTrackedDevicePose = pTrackedDevicePose, .pTransform = pTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_ApplyTransform, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole(struct w_steam_iface *_this, uint32_t unDeviceType) { struct IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole_params params = { .linux_side = _this->u_iface, .unDeviceType = unDeviceType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetTrackedDeviceClass(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_022_GetTrackedDeviceClass_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetTrackedDeviceClass, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_IsTrackedDeviceConnected(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_022_IsTrackedDeviceConnected_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_IsTrackedDeviceConnected, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty, ¶ms ); return params._ret; } float __thiscall winIVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty, ¶ms ); return params._ret; } int32_t __thiscall winIVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty, ¶ms ); return params._ret; } uint64_t __thiscall winIVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty, ¶ms ); return params._ret; } HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty(struct w_steam_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params params = { .linux_side = _this->u_iface, ._ret = _ret, .unDeviceIndex = unDeviceIndex, .prop = prop, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t propType, void *pBuffer, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .propType = propType, .pBuffer = pBuffer, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty(struct w_steam_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, .prop = prop, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_022_GetPropErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_1168 *pEvent, uint32_t uncbVREvent) { struct IVRSystem_IVRSystem_022_PollNextEvent_params params = { .linux_side = _this->u_iface, .pEvent = pEvent, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_PollNextEvent, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_1168 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .pEvent = pEvent, .uncbVREvent = uncbVREvent, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_PollNextEventWithPose, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_022_GetEventTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eType) { struct IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eType = eType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum, ¶ms ); return params._ret; } w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_022_GetHiddenAreaMesh(struct w_steam_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) { struct IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params params = { .linux_side = _this->u_iface, ._ret = _ret, .eEye = eEye, .type = type, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetHiddenAreaMesh, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_GetControllerState(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) { struct IVRSystem_IVRSystem_022_GetControllerState_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetControllerState, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_GetControllerStateWithPose(struct w_steam_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) { struct IVRSystem_IVRSystem_022_GetControllerStateWithPose_params params = { .linux_side = _this->u_iface, .eOrigin = eOrigin, .unControllerDeviceIndex = unControllerDeviceIndex, .pControllerState = pControllerState, .unControllerStateSize = unControllerStateSize, .pTrackedDevicePose = pTrackedDevicePose, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetControllerStateWithPose, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_022_TriggerHapticPulse(struct w_steam_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) { struct IVRSystem_IVRSystem_022_TriggerHapticPulse_params params = { .linux_side = _this->u_iface, .unControllerDeviceIndex = unControllerDeviceIndex, .unAxisId = unAxisId, .usDurationMicroSec = usDurationMicroSec, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_TriggerHapticPulse, ¶ms ); } const char * __thiscall winIVRSystem_IVRSystem_022_GetButtonIdNameFromEnum(struct w_steam_iface *_this, uint32_t eButtonId) { struct IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum_params params = { .linux_side = _this->u_iface, .eButtonId = eButtonId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum(struct w_steam_iface *_this, uint32_t eAxisType) { struct IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum_params params = { .linux_side = _this->u_iface, .eAxisType = eAxisType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_IsInputAvailable(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_IsInputAvailable_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_IsInputAvailable, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_IsSteamVRDrawingControllers(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_ShouldApplicationPause(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_ShouldApplicationPause_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_ShouldApplicationPause, ¶ms ); return params._ret; } int8_t __thiscall winIVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork, ¶ms ); return params._ret; } uint32_t __thiscall winIVRSystem_IVRSystem_022_PerformFirmwareUpdate(struct w_steam_iface *_this, uint32_t unDeviceIndex) { struct IVRSystem_IVRSystem_022_PerformFirmwareUpdate_params params = { .linux_side = _this->u_iface, .unDeviceIndex = unDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_PerformFirmwareUpdate, ¶ms ); return params._ret; } void __thiscall winIVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, ¶ms ); } uint32_t __thiscall winIVRSystem_IVRSystem_022_GetAppContainerFilePaths(struct w_steam_iface *_this, char *pchBuffer, uint32_t unBufferSize) { struct IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params params = { .linux_side = _this->u_iface, .pchBuffer = pchBuffer, .unBufferSize = unBufferSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetAppContainerFilePaths, ¶ms ); return params._ret; } const char * __thiscall winIVRSystem_IVRSystem_022_GetRuntimeVersion(struct w_steam_iface *_this) { struct IVRSystem_IVRSystem_022_GetRuntimeVersion_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVRSystem_IVRSystem_022_GetRuntimeVersion, ¶ms ); return params._ret; } extern vtable_ptr winIVRSystem_IVRSystem_022_vtable; DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_022, 0, ".?AVIVRSystem@@") __ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_022_vtables) __ASM_VTABLE(winIVRSystem_IVRSystem_022, VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetProjectionMatrix) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetProjectionRaw) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_ComputeDistortion) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetEyeToHeadTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetTimeSinceLastVsync) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetD3D9AdapterIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetDXGIOutputInfo) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetOutputDevice) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_IsDisplayOnDesktop) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_SetDisplayVisibility) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_ApplyTransform) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetTrackedDeviceClass) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_IsTrackedDeviceConnected) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetPropErrorNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_PollNextEvent) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_PollNextEventWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetEventTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetHiddenAreaMesh) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetControllerState) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetControllerStateWithPose) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_TriggerHapticPulse) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetButtonIdNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_IsInputAvailable) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_IsSteamVRDrawingControllers) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_ShouldApplicationPause) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_PerformFirmwareUpdate) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetAppContainerFilePaths) VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_022_GetRuntimeVersion) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVRSystem_IVRSystem_022(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVRSystem_IVRSystem_022_vtable; r->u_iface = u_iface; return r; } void destroy_winIVRSystem_IVRSystem_022(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVRSystem_IVRSystem_022_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(46); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 46 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_022_GetProjectionMatrix, 4, TRUE, TRUE); init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_022_GetProjectionRaw, 5, FALSE, FALSE); init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_022_ComputeDistortion, 4, TRUE, FALSE); init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_022_GetEyeToHeadTransform, 2, FALSE, FALSE); init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_022_GetTimeSinceLastVsync, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_022_GetD3D9AdapterIndex, 0, FALSE, FALSE); init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_022_GetDXGIOutputInfo, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_022_GetOutputDevice, 3, FALSE, FALSE); init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_022_IsDisplayOnDesktop, 0, FALSE, FALSE); init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_022_SetDisplayVisibility, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_022_ApplyTransform, 3, FALSE, FALSE); init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_022_GetTrackedDeviceClass, 1, FALSE, FALSE); init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_022_IsTrackedDeviceConnected, 1, FALSE, FALSE); init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty, 6, FALSE, FALSE); init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_022_GetPropErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_022_PollNextEvent, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_022_PollNextEventWithPose, 4, FALSE, FALSE); init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_022_GetEventTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_022_GetHiddenAreaMesh, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_022_GetControllerState, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_022_GetControllerStateWithPose, 5, FALSE, FALSE); init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_022_TriggerHapticPulse, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_022_GetButtonIdNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_022_IsInputAvailable, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_022_IsSteamVRDrawingControllers, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_022_ShouldApplicationPause, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork, 0, FALSE, FALSE); init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_022_PerformFirmwareUpdate, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_022_GetAppContainerFilePaths, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_022_GetRuntimeVersion, 0, FALSE, FALSE); for (i = 0; i < 46; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVRSystem_IVRSystem_022_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_winIVRSystem_rtti( char *base ) { #ifdef __x86_64__ init_winIVRSystem_IVRSystem_003_rtti( base ); init_winIVRSystem_IVRSystem_004_rtti( base ); init_winIVRSystem_IVRSystem_005_rtti( base ); init_winIVRSystem_IVRSystem_006_rtti( base ); init_winIVRSystem_IVRSystem_009_rtti( base ); init_winIVRSystem_IVRSystem_010_rtti( base ); init_winIVRSystem_IVRSystem_011_rtti( base ); init_winIVRSystem_IVRSystem_012_rtti( base ); init_winIVRSystem_IVRSystem_014_rtti( base ); init_winIVRSystem_IVRSystem_015_rtti( base ); init_winIVRSystem_IVRSystem_016_rtti( base ); init_winIVRSystem_IVRSystem_017_rtti( base ); init_winIVRSystem_IVRSystem_019_rtti( base ); init_winIVRSystem_IVRSystem_020_rtti( base ); init_winIVRSystem_IVRSystem_021_rtti( base ); init_winIVRSystem_IVRSystem_022_rtti( base ); #endif /* __x86_64__ */ }