/* 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(winIVROverlay_IVROverlay_001_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayVisibility, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayVisibility, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_IsSystemOverlayVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_IsActiveSystemOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess, 16) uint32_t __thiscall winIVROverlay_IVROverlay_001_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_001_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_001_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_001_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_001_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetHighQualityOverlay, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_001_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_001_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_001_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_001_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fGamma) { struct IVROverlay_IVROverlay_001_SetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fGamma = fGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) { struct IVROverlay_IVROverlay_001_GetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfGamma = pfGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_001_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_001_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_001_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_001_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_001_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayVisibility(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peOverlayVisibility) { struct IVROverlay_IVROverlay_001_GetOverlayVisibility_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peOverlayVisibility = peOverlayVisibility, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayVisibility, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayVisibility(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayVisibility) { struct IVROverlay_IVROverlay_001_SetOverlayVisibility_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayVisibility = eOverlayVisibility, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayVisibility, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_092 *pEvent) { struct IVROverlay_IVROverlay_001_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_001_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_001_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_001_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_001_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_001_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_001_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_001_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayFromFile, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_IsSystemOverlayVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_001_IsSystemOverlayVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_IsSystemOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_001_IsActiveSystemOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_001_IsActiveSystemOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_IsActiveSystemOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess, ¶ms ); return params._ret; } extern vtable_ptr winIVROverlay_IVROverlay_001_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_001, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_001_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_001, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayVisibility) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayVisibility) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_IsSystemOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_IsActiveSystemOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_001(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_001_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_001(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_001_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(40); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 40 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_001_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_001_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_001_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_001_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_001_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_001_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_001_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_001_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_001_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_001_SetOverlayGamma, 2, TRUE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_001_GetOverlayGamma, 2, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_001_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_001_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_001_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_001_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_001_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_001_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_001_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_001_GetOverlayVisibility, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_001_SetOverlayVisibility, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_001_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_001_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_001_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_001_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_001_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_001_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_001_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_001_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_001_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_001_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_001_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_001_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_001_IsSystemOverlayVisible, 0, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_001_IsActiveSystemOverlay, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess, 2, FALSE, FALSE); for (i = 0; i < 40; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_001_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(winIVROverlay_IVROverlay_002_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayTexture, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess, 16) uint32_t __thiscall winIVROverlay_IVROverlay_002_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_002_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_002_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_002_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_002_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetHighQualityOverlay, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_002_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_002_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_002_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_002_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_002_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_002_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fGamma) { struct IVROverlay_IVROverlay_002_SetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fGamma = fGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) { struct IVROverlay_IVROverlay_002_GetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfGamma = pfGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_002_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_002_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_002_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_002_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_002_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_093 *pEvent) { struct IVROverlay_IVROverlay_002_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_002_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_002_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_002_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_002_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_002_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_002_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_002_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_002_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_002_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_002_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_002_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_002_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } extern vtable_ptr winIVROverlay_IVROverlay_002_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_002, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_002_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_002, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_002(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_002_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_002(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_002_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, winIVROverlay_IVROverlay_002_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_002_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_002_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_002_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_002_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_002_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_002_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_002_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_002_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_002_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_002_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_002_SetOverlayGamma, 2, TRUE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_002_GetOverlayGamma, 2, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_002_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_002_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_002_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_002_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_002_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_002_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_002_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_002_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_002_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_002_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_002_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_002_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_002_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_002_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_002_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_002_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_002_SetOverlayTexture, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_002_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_002_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_002_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_002_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_002_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_002_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess, 2, 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_winIVROverlay_IVROverlay_002_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(winIVROverlay_IVROverlay_003_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayTexture, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_ShowDashboard, 8) uint32_t __thiscall winIVROverlay_IVROverlay_003_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_003_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_003_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_003_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_003_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_003_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_003_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_003_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_003_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_003_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_003_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_003_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_003_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_003_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fGamma) { struct IVROverlay_IVROverlay_003_SetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fGamma = fGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) { struct IVROverlay_IVROverlay_003_GetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfGamma = pfGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_003_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_097 *pEvent) { struct IVROverlay_IVROverlay_003_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_003_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_003_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_003_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_003_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_003_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_003_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_003_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_003_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_003_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_003_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_003_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_003_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_ShowDashboard, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_003_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_003, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_003_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_003, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_003_ShowDashboard) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_003(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_003_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_003(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_003_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, winIVROverlay_IVROverlay_003_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_003_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_003_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_003_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_003_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_003_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_003_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_003_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_003_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_003_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_003_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_003_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_003_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_003_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_003_SetOverlayGamma, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_003_GetOverlayGamma, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_003_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_003_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_003_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_003_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_003_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_003_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_003_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_003_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_003_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_003_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_003_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_003_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_003_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_003_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_003_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_003_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_003_SetOverlayTexture, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_003_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_003_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_003_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_003_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_003_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_003_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_003_ShowDashboard, 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_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_004_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayTexture, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_ShowDashboard, 8) uint32_t __thiscall winIVROverlay_IVROverlay_004_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_004_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_004_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_004_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_004_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_004_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_004_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_004_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_004_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_004_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_004_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_004_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_004_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_004_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fGamma) { struct IVROverlay_IVROverlay_004_SetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fGamma = fGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) { struct IVROverlay_IVROverlay_004_GetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfGamma = pfGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_004_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_004_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_004_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_097 *pEvent) { struct IVROverlay_IVROverlay_004_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_004_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_004_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_004_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_004_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_004_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_004_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_004_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_004_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_004_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_004_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_004_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_004_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_ShowDashboard, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_004_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_004, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_004_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_004, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_004_ShowDashboard) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_004(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_004_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_004(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_004_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, winIVROverlay_IVROverlay_004_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_004_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_004_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_004_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_004_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_004_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_004_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_004_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_004_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_004_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_004_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_004_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_004_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_004_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_004_SetOverlayGamma, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_004_GetOverlayGamma, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_004_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_004_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_004_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_004_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_004_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_004_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_004_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_004_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_004_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_004_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_004_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_004_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_004_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_004_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_004_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_004_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_004_SetOverlayTexture, 3, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_004_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_004_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_004_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_004_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_004_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_004_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_004_ShowDashboard, 1, 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_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_005_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayGamma, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_IsFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayTexture, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ShowKeyboard, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_HideKeyboard, 4) uint32_t __thiscall winIVROverlay_IVROverlay_005_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_005_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_005_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_005_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_005_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_005_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_005_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_005_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_005_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_005_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_005_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_005_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_005_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_005_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fGamma) { struct IVROverlay_IVROverlay_005_SetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fGamma = fGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayGamma(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) { struct IVROverlay_IVROverlay_005_GetOverlayGamma_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfGamma = pfGamma, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayGamma, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_005_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0910 *pEvent) { struct IVROverlay_IVROverlay_005_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_005_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_005_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_005_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_005_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_IsFocusOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_IsFocusOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_IsFocusOverlay, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_005_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_005_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_005_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_005_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_005_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_005_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_005_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_005_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_005_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode) { struct IVROverlay_IVROverlay_005_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_005_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_005_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_005_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_005_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_HideKeyboard, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_005_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_005, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_005_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_005, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayGamma) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_IsFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_005_HideKeyboard) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_005(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_005_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_005(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_005_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(52); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 52 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_005_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_005_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_005_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_005_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_005_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_005_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_005_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_005_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_005_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_005_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_005_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_005_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_005_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_005_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_005_SetOverlayGamma, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_005_GetOverlayGamma, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_005_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_005_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_005_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_005_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_005_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_005_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_005_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_005_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_005_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_005_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_005_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_005_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_005_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_005_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_005_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_005_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_005_IsFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_005_SetOverlayTexture, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_005_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_005_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_005_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_005_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_005_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_005_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_005_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_005_ShowKeyboard, 6, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_005_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_005_HideKeyboard, 0, FALSE, FALSE); for (i = 0; i < 52; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_007_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_HideKeyboard, 4) uint32_t __thiscall winIVROverlay_IVROverlay_007_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_007_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_007_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_007_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_007_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_007_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_007_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_007_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_007_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_007_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_007_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_007_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_IsOverlayVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0912 *pEvent) { struct IVROverlay_IVROverlay_007_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_007_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_007_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_007_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_007_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_007_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_007_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_007_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_007_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_007_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_007_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_007_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_007_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_007_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_HideKeyboard, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_007_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_007, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_007_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_007, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_007_HideKeyboard) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_007(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_007_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_007(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_007_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(57); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 57 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_007_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_007_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_007_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_007_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_007_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_007_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_007_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_007_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_007_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_007_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_007_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_007_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_007_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_007_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_007_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_007_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_007_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_007_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_007_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_007_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_007_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_007_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_007_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_007_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_007_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_007_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_007_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_007_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_007_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_007_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_007_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_007_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_007_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_007_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_007_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_007_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_007_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_007_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_007_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_007_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_007_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_007_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_007_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_007_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_007_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_007_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_007_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_007_HideKeyboard, 0, FALSE, FALSE); for (i = 0; i < 57; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_007_FnTable(struct w_steam_iface *object) { TRACE("%p\n", object); VirtualFree(object->vtable[0], 0, MEM_RELEASE); HeapFree(GetProcessHeap(), 0, object->vtable); HeapFree(GetProcessHeap(), 0, object); } DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_PollNextOverlayEvent, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay, 28) uint32_t __thiscall winIVROverlay_IVROverlay_008_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_008_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_008_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_008_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_008_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_008_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_008_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_008_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_008_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_008_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_008_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_008_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0914 *pEvent) { struct IVROverlay_IVROverlay_008_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_PollNextOverlayEvent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_008_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_008_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_008_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_008_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_008_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_008_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_008_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_008_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_008_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_008_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_008_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_008_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_008_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_008_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_008, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_008_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_008, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_008(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_008_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_008(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_008_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(60); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 60 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_008_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_008_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_008_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_008_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_008_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_008_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_008_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_008_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_008_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_008_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_008_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_008_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_008_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_008_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_008_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_008_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_008_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_008_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_008_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_008_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_008_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_008_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_008_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_008_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_008_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_008_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_008_PollNextOverlayEvent, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_008_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_008_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_008_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_008_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_008_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_008_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_008_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_008_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_008_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_008_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_008_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_008_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_008_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_008_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_008_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_008_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_008_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_008_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_008_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_008_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_008_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); for (i = 0; i < 60; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_008_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(winIVROverlay_IVROverlay_010_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay, 28) uint32_t __thiscall winIVROverlay_IVROverlay_010_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_010_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_010_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_010_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_010_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_010_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_010_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_010_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_010_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_010_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_010_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_010_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0918 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_0918 w_pEvent; struct IVROverlay_IVROverlay_010_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_010_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_010_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_010_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_010_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_010_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_010_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_010_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_010_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_010_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_010_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_010_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_010_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_010_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_010_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_010, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_010_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_010, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_010(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_010_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_010(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_010_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(63); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 63 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_010_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_010_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_010_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_010_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_010_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_010_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_010_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_010_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_010_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_010_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_010_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_010_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_010_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_010_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_010_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_010_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_010_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_010_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_010_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_010_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_010_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_010_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_010_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_010_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_010_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_010_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_010_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_010_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_010_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_010_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_010_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_010_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_010_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_010_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_010_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_010_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_010_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_010_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_010_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_010_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_010_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_010_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_010_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_010_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_010_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_010_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_010_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_010_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_010_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); for (i = 0; i < 63; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_011_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetOverlayTexture, 40) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay, 28) uint32_t __thiscall winIVROverlay_IVROverlay_011_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_011_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_011_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_011_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_011_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_011_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_011_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_011_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_011_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_011_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_011_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_011_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0918 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_0918 w_pEvent; struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_011_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_011_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_011_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_011_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPI, uint32_t *pColorSpace) { struct IVROverlay_IVROverlay_011_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPI = pAPI, .pColorSpace = pColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_011_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_011_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_011_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_011_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_011_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_011_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_011_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_011_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_011_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_011_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_011, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_011_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_011, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_011(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_011_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_011(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_011_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(67); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 67 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_011_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_011_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_011_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_011_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_011_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_011_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_011_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_011_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_011_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_011_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_011_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_011_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_011_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_011_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_011_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_011_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_011_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_011_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_011_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_011_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_011_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_011_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_011_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_011_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_011_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_011_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_011_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_011_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_011_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_011_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_011_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_011_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_011_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_011_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_011_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_011_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_011_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_011_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_011_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_011_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_011_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_011_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_011_GetOverlayTexture, 8, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_011_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_011_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_011_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_011_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_011_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_011_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_011_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_011_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_011_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); for (i = 0; i < 67; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_012_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTexture, 40) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay, 28) uint32_t __thiscall winIVROverlay_IVROverlay_012_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_012_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_012_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_012_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_012_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_012_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_012_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_012_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_012_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_012_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_012_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_012_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_101 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_101 w_pEvent; struct IVROverlay_IVROverlay_012_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_012_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_012_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_012_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_012_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPI, uint32_t *pColorSpace) { struct IVROverlay_IVROverlay_012_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPI = pAPI, .pColorSpace = pColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_012_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_012_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_012_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_012_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_012_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_012_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_012_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_012_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_012_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_012_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_012_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_012, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_012_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_012, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_012(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_012_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_012(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_012_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(68); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 68 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_012_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_012_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_012_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_012_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_012_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_012_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_012_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_012_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_012_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_012_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_012_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_012_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_012_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_012_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_012_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_012_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_012_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_012_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_012_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_012_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_012_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_012_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_012_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_012_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_012_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_012_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_012_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_012_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_012_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_012_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_012_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_012_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_012_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_012_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_012_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_012_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_012_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_012_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_012_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_012_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_012_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_012_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_012_GetOverlayTexture, 8, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_012_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_012_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_012_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_012_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_012_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_012_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_012_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_012_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_012_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_012_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); for (i = 0; i < 68; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_013_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTexture, 40) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayIntersectionMask, 24) uint32_t __thiscall winIVROverlay_IVROverlay_013_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_013_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_013_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_013_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_013_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_013_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_013_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_013_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_013_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_013_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_013_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_013_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_013_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_013_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_103 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_103 w_pEvent; struct IVROverlay_IVROverlay_013_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_013_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_013_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_013_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_013_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPI, uint32_t *pColorSpace) { struct IVROverlay_IVROverlay_013_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPI = pAPI, .pColorSpace = pColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_013_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_013_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_013_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_013_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_013_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_013_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_013_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_013_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_013_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayIntersectionMask, ¶ms ); return params._ret; } extern vtable_ptr winIVROverlay_IVROverlay_013_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_013, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_013_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_013, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_013_SetOverlayIntersectionMask) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_013(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_013_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_013(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_013_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(73); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 73 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_013_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_013_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_013_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_013_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_013_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_013_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_013_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_013_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_013_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_013_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_013_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_013_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_013_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_013_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_013_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_013_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_013_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_013_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_013_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_013_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_013_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_013_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_013_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_013_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_013_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_013_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_013_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_013_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_013_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_013_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_013_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_013_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_013_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_013_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_013_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_013_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_013_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_013_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_013_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_013_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_013_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_013_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_013_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_013_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_013_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_013_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_013_GetOverlayTexture, 8, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_013_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_013_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_013_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_013_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_013_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_013_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_013_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_013_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_013_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_013_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_013_SetOverlayIntersectionMask, 4, FALSE, FALSE); for (i = 0; i < 73; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_013_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(winIVROverlay_IVROverlay_014_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ShowMessageOverlay, 28) uint32_t __thiscall winIVROverlay_IVROverlay_014_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_014_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_014_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_014_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_014_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_014_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_014_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_014_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_014_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_014_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_014_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_014_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_106 w_pEvent; struct IVROverlay_IVROverlay_014_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_014_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_014_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_014_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_014_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_014_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_014_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_014_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_014_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_014_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_014_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_014_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_014_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_014_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_014_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_014_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_014_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_ShowMessageOverlay, ¶ms ); return params._ret; } extern vtable_ptr winIVROverlay_IVROverlay_014_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_014, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_014_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_014, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_014_ShowMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_014(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_014_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_014(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_014_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(75); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 75 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_014_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_014_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_014_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_014_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_014_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_014_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_014_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_014_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_014_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_014_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_014_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_014_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_014_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_014_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_014_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_014_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_014_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_014_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_014_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_014_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_014_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_014_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_014_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_014_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_014_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_014_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_014_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_014_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_014_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_014_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_014_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_014_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_014_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_014_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_014_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_014_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_014_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_014_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_014_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_014_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_014_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_014_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_014_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_014_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_014_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_014_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_014_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_014_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_014_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_014_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_014_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_014_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_014_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_014_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_014_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_014_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_014_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_014_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_014_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_014_ShowMessageOverlay, 6, FALSE, FALSE); for (i = 0; i < 75; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_016_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_016_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_016_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_016_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_016_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_016_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_016_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_016_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_016_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_016_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_016_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_016_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_016_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_016_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_016_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_106 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_106 w_pEvent; struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_016_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_016_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_016_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_016_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_016_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_016_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_016_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_016_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_016_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_016_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_016_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_016_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_016_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_016_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_016_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_016_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_016, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_016_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_016, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_016_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_016(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_016_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_016(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_016_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(81); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 81 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_016_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_016_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_016_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_016_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_016_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_016_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_016_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_016_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_016_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_016_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_016_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_016_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_016_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_016_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_016_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_016_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_016_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_016_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_016_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_016_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_016_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_016_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_016_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_016_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_016_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_016_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_016_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_016_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_016_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_016_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_016_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_016_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_016_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_016_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_016_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_016_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_016_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_016_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_016_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_016_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_016_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_016_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_016_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_016_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_016_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_016_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_016_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_016_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_016_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_016_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_016_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_016_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_016_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_016_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_016_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_016_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_016_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_016_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_016_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_016_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_016_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_016_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_016_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_016_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 81; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_017_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_017_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_017_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_017_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_017_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_017_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_017_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_017_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_017_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_017_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_017_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_017_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_017_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1011 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1011 w_pEvent; struct IVROverlay_IVROverlay_017_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_017_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) { struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unControllerDeviceIndex = unControllerDeviceIndex, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_017_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *vCenter, float fRadius) { struct IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .vCenter = vCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_017_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_017_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_017_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_017_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_017_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_017_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_017_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_017_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_017_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_017_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_017_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_017_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_017_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_017_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_017, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_017_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_017, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_017_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_017(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_017_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_017(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_017_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(83); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 83 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_017_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_017_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_017_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_017_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_017_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_017_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_017_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_017_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_017_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_017_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_017_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_017_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_017_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_017_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_017_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_017_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_017_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_017_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_017_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_017_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_017_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_017_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_017_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_017_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_017_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_017_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_017_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_017_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_017_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_017_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_017_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_017_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_017_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_017_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_017_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_017_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_017_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_017_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_017_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_017_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_017_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_017_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_017_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_017_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_017_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_017_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_017_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_017_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_017_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_017_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_017_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_017_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_017_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_017_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_017_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_017_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_017_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_017_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_017_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_017_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_017_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_017_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_017_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[82], r, winIVROverlay_IVROverlay_017_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 83; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_018_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_018_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_018_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_018_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_018_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_018_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_018_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_018_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_018_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_018_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_018_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_018_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_018_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1016 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1016 w_pEvent; struct IVROverlay_IVROverlay_018_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_018_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_018_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *vCenter, float fRadius) { struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .vCenter = vCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_018_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_018_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_018_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_018_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_018_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_018_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_018_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_018_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_018_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_018_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_018_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_018_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_018_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_018_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_018, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_018_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_018, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_018_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_018(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_018_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_018(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_018_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(82); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 82 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_018_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_018_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_018_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_018_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_018_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_018_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_018_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_018_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_018_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_018_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_018_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_018_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_018_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_018_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_018_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_018_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_018_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_018_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_018_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_018_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_018_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_018_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_018_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_018_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_018_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_018_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_018_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_018_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_018_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_018_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_018_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_018_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_018_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_018_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_018_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_018_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_018_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_018_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_018_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_018_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_018_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_018_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_018_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_018_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_018_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_018_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_018_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_018_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_018_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_018_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_018_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_018_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_018_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_018_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_018_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_018_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_018_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_018_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_018_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_018_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_018_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_018_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_018_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_018_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 82; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_018_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(winIVROverlay_IVROverlay_019_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetHighQualityOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetHighQualityOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_019_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_019_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_019_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetHighQualityOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_SetHighQualityOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetHighQualityOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_019_GetHighQualityOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_GetHighQualityOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetHighQualityOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_019_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_019_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_019_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_019_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_019_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_019_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_019_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_019_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1322 w_pEvent; struct IVROverlay_IVROverlay_019_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_019_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_019_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *pvCenter, float fRadius) { struct IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_019_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_019_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_019_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_019_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_019_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_019_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_019_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_019_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_019_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_019_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_019_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_019_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_019_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_019_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_019, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_019_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_019, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetHighQualityOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_019_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_019(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_019_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_019(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_019_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(82); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 82 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_019_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_019_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_019_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_019_SetHighQualityOverlay, 1, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_019_GetHighQualityOverlay, 0, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_019_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_019_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_019_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_019_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_019_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_019_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_019_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_019_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_019_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_019_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_019_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_019_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_019_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_019_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_019_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_019_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_019_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_019_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_019_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_019_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_019_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_019_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_019_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_019_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_019_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_019_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_019_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_019_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_019_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_019_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_019_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_019_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_019_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_019_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_019_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_019_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_019_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_019_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_019_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_019_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_019_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_019_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_019_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_019_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_019_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_019_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_019_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_019_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_019_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_019_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_019_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_019_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_019_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_019_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_019_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_019_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_019_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_019_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_019_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 82; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_020_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetGamepadFocusOverlay, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetGamepadFocusOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayNeighbor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_020_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_020_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_020_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_020_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_020_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_020_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_020_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_020_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_020_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_020_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_020_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) { struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fMinDistanceInMeters = fMinDistanceInMeters, .fMaxDistanceInMeters = fMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) { struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfMinDistanceInMeters = pfMinDistanceInMeters, .pfMaxDistanceInMeters = pfMaxDistanceInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1322 w_pEvent; struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_020_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint64_t __thiscall winIVROverlay_IVROverlay_020_GetGamepadFocusOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetGamepadFocusOverlay(struct w_steam_iface *_this, uint64_t ulNewFocusOverlay) { struct IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params params = { .linux_side = _this->u_iface, .ulNewFocusOverlay = ulNewFocusOverlay, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetGamepadFocusOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) { struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, .ulTo = ulTo, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor(struct w_steam_iface *_this, uint32_t eDirection, uint64_t ulFrom) { struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params params = { .linux_side = _this->u_iface, .eDirection = eDirection, .ulFrom = ulFrom, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *pvCenter, float fRadius) { struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_020_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_020_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_020_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_020_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_020_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_020_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_020_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_020_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_020_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_020_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_020_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_020_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_020_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_020_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_020_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_020_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_020, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_020_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_020, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetGamepadFocusOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_020_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_020(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_020_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_020(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_020_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(80); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 80 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_020_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_020_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_020_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_020_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_020_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_020_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_020_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_020_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_020_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_020_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_020_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_020_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_020_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_020_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_020_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_020_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_020_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_020_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_020_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_020_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_020_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_020_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_020_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_020_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_020_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_020_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_020_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_020_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_020_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_020_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_020_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_020_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_020_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_020_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_020_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_020_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_020_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_020_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_020_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_020_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_020_GetGamepadFocusOverlay, 0, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_020_SetGamepadFocusOverlay, 1, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_020_SetOverlayNeighbor, 3, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_020_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_020_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_020_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_020_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_020_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_020_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_020_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_020_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_020_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_020_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_020_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_020_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_020_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_020_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_020_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_020_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_020_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_020_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_020_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 80; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_021_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_021_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_021_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_021_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_021_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_021_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_021_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_021_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_021_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_021_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_021_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_021_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_021_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_021_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1322 w_pEvent; struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_021_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *pvCenter, float fRadius) { struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_021_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) { struct IVROverlay_IVROverlay_021_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unDepth = unDepth, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_021_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_021_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_021_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_021_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_021_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_021_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_021_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_021_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_021_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_021_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_021_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_021_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_021_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_021_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_021, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_021_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_021, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_021_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_021(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_021_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_021(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_021_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(76); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 76 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_021_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_021_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_021_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_021_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_021_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_021_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_021_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_021_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_021_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_021_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_021_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_021_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_021_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_021_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_021_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_021_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_021_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_021_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_021_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_021_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_021_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_021_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_021_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_021_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_021_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_021_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_021_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_021_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_021_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_021_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_021_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_021_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_021_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_021_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_021_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_021_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_021_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_021_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_021_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_021_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_021_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_021_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_021_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_021_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_021_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_021_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_021_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_021_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_021_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_021_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_021_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_021_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_021_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_021_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_021_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_021_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_021_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_021_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_021_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_021_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_021_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 76; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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(winIVROverlay_IVROverlay_022_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayRenderModel, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayRenderModel, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayCursor, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_022_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_022_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_022_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_022_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_022_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_022_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_022_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_022_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_022_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_022_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_022_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_022_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, uint32_t *pError) { struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pColor = pColor, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayRenderModel(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor) { struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchRenderModel = pchRenderModel, .pColor = pColor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayRenderModel, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulCursorOverlayHandle = ulCursorOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1322 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1322 w_pEvent; struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_022_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, const HmdVector2_t *pvCenter, float fRadius) { struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .fRadius = fRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform(struct w_steam_iface *_this, uint64_t ulOverlay, uint32_t eWhich, HmdVector2_t *pvCenter, float *pfRadius) { struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params params = { .linux_side = _this->u_iface, .ulOverlay = ulOverlay, .eWhich = eWhich, .pvCenter = pvCenter, .pfRadius = pfRadius, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { struct IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fDurationSeconds = fDurationSeconds, .fFrequency = fFrequency, .fAmplitude = fAmplitude, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) { struct IVROverlay_IVROverlay_022_SetOverlayCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulCursorHandle = ulCursorHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) { struct IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvCursor = pvCursor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_022_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) { struct IVROverlay_IVROverlay_022_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unBytesPerPixel = unBytesPerPixel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_022_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_022_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_022_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_022_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_022_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_022_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) { struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .bUseMinimalMode = bUseMinimalMode, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_022_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_022_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_022_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_022_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_022_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_022_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_022_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_022_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_022, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_022_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_022, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayRenderModel) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_022_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_022(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_022_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_022(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_022_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(82); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 82 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_022_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_022_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_022_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_022_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_022_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_022_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_022_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_022_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_022_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_022_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_022_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_022_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_022_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_022_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_022_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_022_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_022_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_022_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_022_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_022_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_022_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_022_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_022_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_022_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_022_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_022_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_022_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_022_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_022_GetOverlayRenderModel, 5, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_022_SetOverlayRenderModel, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_022_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_022_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_022_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_022_SetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_022_GetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_022_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_022_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_022_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_022_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_022_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_022_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_022_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_022_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_022_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_022_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform, 4, TRUE, TRUE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform, 4, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_022_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_022_SetOverlayCursor, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_022_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_022_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_022_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_022_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_022_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_022_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_022_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_022_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_022_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_022_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_022_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_022_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_022_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_022_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_022_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_022_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_022_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 82; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_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); } DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayCursor, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_024_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_024_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_024_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_024_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_024_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_024_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_024_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_024_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_024_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_024_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_024_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_024_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulCursorOverlayHandle = ulCursorOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_11030 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_11030 w_pEvent; struct IVROverlay_IVROverlay_024_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_024_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fDurationSeconds = fDurationSeconds, .fFrequency = fFrequency, .fAmplitude = fAmplitude, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) { struct IVROverlay_IVROverlay_024_SetOverlayCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulCursorHandle = ulCursorHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) { struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvCursor = pvCursor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_024_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) { struct IVROverlay_IVROverlay_024_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unBytesPerPixel = unBytesPerPixel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_024_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_024_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_024_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_024_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_024_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_024_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_024_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_024_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_024_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_024_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_024_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_024_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_024_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_024_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_024, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_024_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_024, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_024_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_024(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_024_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_024(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_024_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(78); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 78 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_024_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_024_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_024_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_024_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_024_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_024_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_024_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_024_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_024_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_024_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_024_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_024_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_024_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_024_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_024_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_024_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_024_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_024_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_024_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_024_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_024_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_024_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_024_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_024_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_024_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_024_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_024_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_024_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_024_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_024_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_024_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_024_SetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_024_GetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_024_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_024_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_024_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_024_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_024_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_024_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_024_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_024_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_024_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_024_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_024_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_024_SetOverlayCursor, 2, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_024_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_024_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_024_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_024_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_024_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_024_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_024_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_024_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_024_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_024_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_024_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_024_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_024_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_024_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_024_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_024_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_024_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 78; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_024_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(winIVROverlay_IVROverlay_025_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTransformProjection, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayCursor, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_025_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_025_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_025_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_025_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_025_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_025_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_025_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_025_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_025_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_025_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_025_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_025_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_025_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulCursorOverlayHandle = ulCursorOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTransformProjection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, const VROverlayProjection_t *pProjection, uint32_t eEye) { struct IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, .pProjection = pProjection, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayTransformProjection, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1168 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1168 w_pEvent; struct IVROverlay_IVROverlay_025_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_025_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fDurationSeconds = fDurationSeconds, .fFrequency = fFrequency, .fAmplitude = fAmplitude, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) { struct IVROverlay_IVROverlay_025_SetOverlayCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulCursorHandle = ulCursorHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) { struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvCursor = pvCursor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_025_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) { struct IVROverlay_IVROverlay_025_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unBytesPerPixel = unBytesPerPixel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_025_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_025_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_025_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_025_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_025_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_025_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_025_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_025_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_025_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_025_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_025_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_025_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_025_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_025_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_025, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_025_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_025, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTransformProjection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_025_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_025(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_025_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_025(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_025_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(79); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 79 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_025_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_025_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_025_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_025_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_025_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_025_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_025_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_025_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_025_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_025_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_025_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_025_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_025_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_025_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_025_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_025_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_025_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_025_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_025_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_025_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_025_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_025_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_025_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_025_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_025_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_025_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_025_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_025_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_025_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_025_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_025_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_025_SetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_025_GetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_025_SetOverlayTransformProjection, 5, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_025_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_025_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_025_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_025_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_025_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_025_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_025_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_025_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_025_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_025_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_025_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_025_SetOverlayCursor, 2, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_025_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_025_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_025_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_025_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_025_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_025_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_025_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_025_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_025_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_025_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_025_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_025_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_025_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_025_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_025_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_025_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_025_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 79; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_025_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(winIVROverlay_IVROverlay_026_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayPreCurvePitch, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayPreCurvePitch, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTransformProjection, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_WaitFrameSync, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayCursor, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_026_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_026_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_026_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_026_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_026_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_026_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_026_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_026_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_026_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_026_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_026_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_026_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_026_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayPreCurvePitch(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRadians) { struct IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRadians = fRadians, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayPreCurvePitch(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRadians) { struct IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRadians = pfRadians, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) { struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulOverlayHandleParent = ulOverlayHandleParent, .pmatParentOverlayToOverlayTransform = pmatParentOverlayToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulCursorOverlayHandle = ulCursorOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTransformProjection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, const VROverlayProjection_t *pProjection, uint32_t eEye) { struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, .pProjection = pProjection, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayTransformProjection, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_WaitFrameSync(struct w_steam_iface *_this, uint32_t nTimeoutMs) { struct IVROverlay_IVROverlay_026_WaitFrameSync_params params = { .linux_side = _this->u_iface, .nTimeoutMs = nTimeoutMs, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_WaitFrameSync, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_1168 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_1168 w_pEvent; struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_026_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fDurationSeconds = fDurationSeconds, .fFrequency = fFrequency, .fAmplitude = fAmplitude, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) { struct IVROverlay_IVROverlay_026_SetOverlayCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulCursorHandle = ulCursorHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) { struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvCursor = pvCursor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_026_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) { struct IVROverlay_IVROverlay_026_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unBytesPerPixel = unBytesPerPixel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_026_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_026_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_026_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_026_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_026_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_026_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_026_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_026_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_026_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_026_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_026_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_026_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_026_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_026_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_026, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_026_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_026, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayPreCurvePitch) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayPreCurvePitch) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTransformProjection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_WaitFrameSync) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_026_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_026(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_026_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_026(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_026_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(82); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 82 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_026_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_026_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_026_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_026_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_026_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_026_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_026_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_026_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_026_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_026_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_026_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_026_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_026_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_026_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_026_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_026_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_026_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_026_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_026_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_026_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_026_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_026_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_026_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_026_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_026_SetOverlayPreCurvePitch, 2, TRUE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_026_GetOverlayPreCurvePitch, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_026_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_026_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_026_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_026_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_026_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_026_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_026_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative, 3, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_026_SetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_026_GetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_026_SetOverlayTransformProjection, 5, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_026_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_026_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_026_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_026_WaitFrameSync, 1, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_026_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_026_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_026_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_026_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_026_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_026_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_026_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_026_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_026_SetOverlayCursor, 2, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_026_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_026_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_026_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_026_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_026_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_026_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_026_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_026_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_026_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_026_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_026_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_026_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_026_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_026_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_026_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_026_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_026_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 82; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_026_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(winIVROverlay_IVROverlay_027_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_DestroyOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayKey, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayName, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayName, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayImageData, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayRenderingPid, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayRenderingPid, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayFlag, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayFlags, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayColor, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayAlpha, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTexelAspect, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlaySortOrder, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayWidthInMeters, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayCurvature, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayPreCurvePitch, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayPreCurvePitch, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTextureColorSpace, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTextureBounds, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTransformType, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTransformAbsolute, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTransformCursor, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTransformProjection, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ShowOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_HideOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_IsOverlayVisible, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_WaitFrameSync, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_PollNextOverlayEvent, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayInputMethod, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayMouseScale, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ComputeOverlayIntersection, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_IsHoverTargetOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayIntersectionMask, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration, 24) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayCursor, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayTexture, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ClearOverlayTexture, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayRaw, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetOverlayFromFile, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTexture, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetOverlayTextureSize, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_CreateDashboardOverlay, 20) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_IsDashboardVisible, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_IsActiveDashboardOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ShowDashboard, 8) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetPrimaryDashboardDevice, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ShowKeyboard, 36) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ShowKeyboardForOverlay, 44) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_GetKeyboardText, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_HideKeyboard, 4) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_ShowMessageOverlay, 28) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_027_CloseMessageOverlay, 4) uint32_t __thiscall winIVROverlay_IVROverlay_027_FindOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_027_FindOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_FindOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_CreateOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) { struct IVROverlay_IVROverlay_027_CreateOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayName = pchOverlayName, .pOverlayHandle = pOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_CreateOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_DestroyOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_DestroyOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_DestroyOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayKey(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_027_GetOverlayKey_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayKey, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) { struct IVROverlay_IVROverlay_027_GetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchValue = pchValue, .unBufferSize = unBufferSize, .pError = pError, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayName(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchName) { struct IVROverlay_IVROverlay_027_SetOverlayName_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchName = pchName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayName, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayImageData(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) { struct IVROverlay_IVROverlay_027_GetOverlayImageData_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unBufferSize = unBufferSize, .punWidth = punWidth, .punHeight = punHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayImageData, ¶ms ); return params._ret; } const char * __thiscall winIVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum(struct w_steam_iface *_this, uint32_t error) { struct IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params params = { .linux_side = _this->u_iface, .error = error, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) { struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unPID = unPID, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayRenderingPid(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayRenderingPid, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) { struct IVROverlay_IVROverlay_027_SetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .bEnabled = bEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayFlag(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) { struct IVROverlay_IVROverlay_027_GetOverlayFlag_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eOverlayFlag = eOverlayFlag, .pbEnabled = pbEnabled, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayFlag, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayFlags(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) { struct IVROverlay_IVROverlay_027_GetOverlayFlags_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pFlags = pFlags, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayFlags, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) { struct IVROverlay_IVROverlay_027_SetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRed = fRed, .fGreen = fGreen, .fBlue = fBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayColor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) { struct IVROverlay_IVROverlay_027_GetOverlayColor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRed = pfRed, .pfGreen = pfGreen, .pfBlue = pfBlue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayColor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fAlpha) { struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fAlpha = fAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayAlpha(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) { struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfAlpha = pfAlpha, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayAlpha, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) { struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fTexelAspect = fTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTexelAspect(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) { struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfTexelAspect = pfTexelAspect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTexelAspect, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) { struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unSortOrder = unSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlaySortOrder(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) { struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punSortOrder = punSortOrder, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlaySortOrder, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) { struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fWidthInMeters = fWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayWidthInMeters(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) { struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfWidthInMeters = pfWidthInMeters, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayWidthInMeters, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fCurvature) { struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fCurvature = fCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayCurvature(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) { struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfCurvature = pfCurvature, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayCurvature, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayPreCurvePitch(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fRadians) { struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fRadians = fRadians, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayPreCurvePitch(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float *pfRadians) { struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pfRadians = pfRadians, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) { struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTextureColorSpace = eTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTextureColorSpace(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) { struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTextureColorSpace = peTextureColorSpace, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTextureBounds(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) { struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pOverlayTextureBounds = pOverlayTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTextureBounds, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTransformType(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) { struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTransformType = peTransformType, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTransformType, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTransformAbsolute(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) { struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peTrackingOrigin = peTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unTrackedDevice = unTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) { struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punTrackedDevice = punTrackedDevice, .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) { struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unDeviceIndex = unDeviceIndex, .pchComponentName = pchComponentName, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) { struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punDeviceIndex = punDeviceIndex, .pchComponentName = pchComponentName, .unComponentNameSize = unComponentNameSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulCursorOverlayHandle = ulCursorOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTransformCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) { struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvHotspot = pvHotspot, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTransformCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTransformProjection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, const VROverlayProjection_t *pProjection, uint32_t eEye) { struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, .pProjection = pProjection, .eEye = eEye, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayTransformProjection, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_ShowOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_ShowOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ShowOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_HideOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_HideOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_HideOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_IsOverlayVisible(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_IsOverlayVisible_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_IsOverlayVisible, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) { struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eTrackingOrigin = eTrackingOrigin, .coordinatesInOverlay = coordinatesInOverlay, .pmatTransform = pmatTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_WaitFrameSync(struct w_steam_iface *_this, uint32_t nTimeoutMs) { struct IVROverlay_IVROverlay_027_WaitFrameSync_params params = { .linux_side = _this->u_iface, .nTimeoutMs = nTimeoutMs, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_WaitFrameSync, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent) { w_VREvent_t_223 w_pEvent; struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pEvent = pEvent ? &w_pEvent : NULL, .uncbVREvent = uncbVREvent, }; TRACE("%p\n", _this); uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); VRCLIENT_CALL( IVROverlay_IVROverlay_027_PollNextOverlayEvent, ¶ms ); if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) { struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .peInputMethod = peInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayInputMethod(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) { struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMethod = eInputMethod, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayInputMethod, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayMouseScale, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayMouseScale(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) { struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvecMouseScale = pvecMouseScale, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayMouseScale, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_ComputeOverlayIntersection(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) { struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pParams = pParams, .pResults = pResults, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ComputeOverlayIntersection, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_IsHoverTargetOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_IsHoverTargetOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayIntersectionMask(struct w_steam_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) { struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pMaskPrimitives = pMaskPrimitives, .unNumMaskPrimitives = unNumMaskPrimitives, .unPrimitiveSize = unPrimitiveSize, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayIntersectionMask, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration(struct w_steam_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .fDurationSeconds = fDurationSeconds, .fFrequency = fFrequency, .fAmplitude = fAmplitude, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayCursor(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) { struct IVROverlay_IVROverlay_027_SetOverlayCursor_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .ulCursorHandle = ulCursorHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayCursor, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) { struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvCursor = pvCursor, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride, ¶ms ); return params._ret; } extern uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); uint32_t __thiscall winIVROverlay_IVROverlay_027_ClearOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_ClearOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ClearOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayRaw(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) { struct IVROverlay_IVROverlay_027_SetOverlayRaw_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pvBuffer = pvBuffer, .unWidth = unWidth, .unHeight = unHeight, .unBytesPerPixel = unBytesPerPixel, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayRaw, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayFromFile(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) { struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayFromFile, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTexture(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) { struct IVROverlay_IVROverlay_027_GetOverlayTexture_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, .pNativeTextureRef = pNativeTextureRef, .pWidth = pWidth, .pHeight = pHeight, .pNativeFormat = pNativeFormat, .pAPIType = pAPIType, .pColorSpace = pColorSpace, .pTextureBounds = pTextureBounds, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTexture, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle(struct w_steam_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) { struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pNativeTextureHandle = pNativeTextureHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetOverlayTextureSize(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) { struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .pWidth = pWidth, .pHeight = pHeight, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetOverlayTextureSize, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_CreateDashboardOverlay(struct w_steam_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) { struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params params = { .linux_side = _this->u_iface, .pchOverlayKey = pchOverlayKey, .pchOverlayFriendlyName = pchOverlayFriendlyName, .pMainHandle = pMainHandle, .pThumbnailHandle = pThumbnailHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_CreateDashboardOverlay, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_IsDashboardVisible(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_027_IsDashboardVisible_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_IsDashboardVisible, ¶ms ); return params._ret; } int8_t __thiscall winIVROverlay_IVROverlay_027_IsActiveDashboardOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle) { struct IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_IsActiveDashboardOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) { struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .unProcessId = unProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) { struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .punProcessId = punProcessId, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_027_ShowDashboard(struct w_steam_iface *_this, const char *pchOverlayToShow) { struct IVROverlay_IVROverlay_027_ShowDashboard_params params = { .linux_side = _this->u_iface, .pchOverlayToShow = pchOverlayToShow, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ShowDashboard, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetPrimaryDashboardDevice(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_ShowKeyboard(struct w_steam_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_027_ShowKeyboard_params params = { .linux_side = _this->u_iface, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ShowKeyboard, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_ShowKeyboardForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) { struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .eInputMode = eInputMode, .eLineInputMode = eLineInputMode, .unFlags = unFlags, .pchDescription = pchDescription, .unCharMax = unCharMax, .pchExistingText = pchExistingText, .uUserValue = uUserValue, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ShowKeyboardForOverlay, ¶ms ); return params._ret; } uint32_t __thiscall winIVROverlay_IVROverlay_027_GetKeyboardText(struct w_steam_iface *_this, char *pchText, uint32_t cchText) { struct IVROverlay_IVROverlay_027_GetKeyboardText_params params = { .linux_side = _this->u_iface, .pchText = pchText, .cchText = cchText, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_GetKeyboardText, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_027_HideKeyboard(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_027_HideKeyboard_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_HideKeyboard, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute(struct w_steam_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) { struct IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params params = { .linux_side = _this->u_iface, .eTrackingOrigin = eTrackingOrigin, .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute, ¶ms ); } void __thiscall winIVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay(struct w_steam_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) { struct IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params params = { .linux_side = _this->u_iface, .ulOverlayHandle = ulOverlayHandle, .avoidRect = avoidRect, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, ¶ms ); } uint32_t __thiscall winIVROverlay_IVROverlay_027_ShowMessageOverlay(struct w_steam_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) { struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params params = { .linux_side = _this->u_iface, .pchText = pchText, .pchCaption = pchCaption, .pchButton0Text = pchButton0Text, .pchButton1Text = pchButton1Text, .pchButton2Text = pchButton2Text, .pchButton3Text = pchButton3Text, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_ShowMessageOverlay, ¶ms ); return params._ret; } void __thiscall winIVROverlay_IVROverlay_027_CloseMessageOverlay(struct w_steam_iface *_this) { struct IVROverlay_IVROverlay_027_CloseMessageOverlay_params params = { .linux_side = _this->u_iface, }; TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_CloseMessageOverlay, ¶ms ); } extern vtable_ptr winIVROverlay_IVROverlay_027_vtable; DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_027, 0, ".?AVIVROverlay@@") __ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_027_vtables) __ASM_VTABLE(winIVROverlay_IVROverlay_027, VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_FindOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_CreateOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_DestroyOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayKey) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayName) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayImageData) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayRenderingPid) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayFlag) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayFlags) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayColor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayAlpha) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTexelAspect) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlaySortOrder) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayWidthInMeters) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayCurvature) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayPreCurvePitch) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayPreCurvePitch) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTextureColorSpace) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTextureBounds) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTransformType) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTransformCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTransformProjection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ShowOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_HideOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_IsOverlayVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_WaitFrameSync) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_PollNextOverlayEvent) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayInputMethod) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayMouseScale) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ComputeOverlayIntersection) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_IsHoverTargetOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayIntersectionMask) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayCursor) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ClearOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayRaw) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetOverlayFromFile) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTexture) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetOverlayTextureSize) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_CreateDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_IsDashboardVisible) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_IsActiveDashboardOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ShowDashboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetPrimaryDashboardDevice) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ShowKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ShowKeyboardForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_GetKeyboardText) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_HideKeyboard) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_ShowMessageOverlay) VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_027_CloseMessageOverlay) ); __ASM_BLOCK_END struct w_steam_iface *create_winIVROverlay_IVROverlay_027(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); TRACE("-> %p\n", r); r->vtable = &winIVROverlay_IVROverlay_027_vtable; r->u_iface = u_iface; return r; } void destroy_winIVROverlay_IVROverlay_027(struct w_steam_iface *object) { TRACE("%p\n", object); HeapFree(GetProcessHeap(), 0, object); } struct w_steam_iface *create_winIVROverlay_IVROverlay_027_FnTable(void *u_iface) { struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); struct thunk *thunks = alloc_thunks(80); struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 80 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_027_FindOverlay, 2, FALSE, FALSE); init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_027_CreateOverlay, 3, FALSE, FALSE); init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_027_DestroyOverlay, 1, FALSE, FALSE); init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_027_GetOverlayKey, 4, FALSE, FALSE); init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_027_GetOverlayName, 4, FALSE, FALSE); init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_027_SetOverlayName, 2, FALSE, FALSE); init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_027_GetOverlayImageData, 5, FALSE, FALSE); init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_027_SetOverlayRenderingPid, 2, FALSE, FALSE); init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_027_GetOverlayRenderingPid, 1, FALSE, FALSE); init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_027_SetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_027_GetOverlayFlag, 3, FALSE, FALSE); init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_027_GetOverlayFlags, 2, FALSE, FALSE); init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_027_SetOverlayColor, 4, TRUE, TRUE); init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_027_GetOverlayColor, 4, FALSE, FALSE); init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_027_SetOverlayAlpha, 2, TRUE, FALSE); init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_027_GetOverlayAlpha, 2, FALSE, FALSE); init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_027_SetOverlayTexelAspect, 2, TRUE, FALSE); init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_027_GetOverlayTexelAspect, 2, FALSE, FALSE); init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_027_SetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_027_GetOverlaySortOrder, 2, FALSE, FALSE); init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_027_SetOverlayWidthInMeters, 2, TRUE, FALSE); init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_027_GetOverlayWidthInMeters, 2, FALSE, FALSE); init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_027_SetOverlayCurvature, 2, TRUE, FALSE); init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_027_GetOverlayCurvature, 2, FALSE, FALSE); init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_027_SetOverlayPreCurvePitch, 2, TRUE, FALSE); init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_027_GetOverlayPreCurvePitch, 2, FALSE, FALSE); init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_027_SetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_027_GetOverlayTextureColorSpace, 2, FALSE, FALSE); init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_027_SetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_027_GetOverlayTextureBounds, 2, FALSE, FALSE); init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_027_GetOverlayTransformType, 2, FALSE, FALSE); init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_027_SetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_027_GetOverlayTransformAbsolute, 3, FALSE, FALSE); init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_027_SetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_027_GetOverlayTransformCursor, 2, FALSE, FALSE); init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_027_SetOverlayTransformProjection, 5, FALSE, FALSE); init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_027_ShowOverlay, 1, FALSE, FALSE); init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_027_HideOverlay, 1, FALSE, FALSE); init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_027_IsOverlayVisible, 1, FALSE, FALSE); init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_027_WaitFrameSync, 1, FALSE, FALSE); init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_027_PollNextOverlayEvent, 3, FALSE, FALSE); init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_027_GetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_027_SetOverlayInputMethod, 2, FALSE, FALSE); init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_027_GetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_027_SetOverlayMouseScale, 2, FALSE, FALSE); init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_027_ComputeOverlayIntersection, 3, FALSE, FALSE); init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_027_IsHoverTargetOverlay, 1, FALSE, FALSE); init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_027_SetOverlayIntersectionMask, 4, FALSE, FALSE); init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_027_SetOverlayCursor, 2, FALSE, FALSE); init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_027_SetOverlayTexture, 2, FALSE, FALSE); init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_027_ClearOverlayTexture, 1, FALSE, FALSE); init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_027_SetOverlayRaw, 5, FALSE, FALSE); init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_027_SetOverlayFromFile, 2, FALSE, FALSE); init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_027_GetOverlayTexture, 9, FALSE, FALSE); init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_027_GetOverlayTextureSize, 3, FALSE, FALSE); init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_027_CreateDashboardOverlay, 4, FALSE, FALSE); init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_027_IsDashboardVisible, 0, FALSE, FALSE); init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_027_IsActiveDashboardOverlay, 1, FALSE, FALSE); init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_027_ShowDashboard, 1, FALSE, FALSE); init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_027_GetPrimaryDashboardDevice, 0, FALSE, FALSE); init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_027_ShowKeyboard, 7, FALSE, FALSE); init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_027_ShowKeyboardForOverlay, 8, FALSE, FALSE); init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_027_GetKeyboardText, 2, FALSE, FALSE); init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_027_HideKeyboard, 0, FALSE, FALSE); init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_027_ShowMessageOverlay, 6, FALSE, FALSE); init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_027_CloseMessageOverlay, 0, FALSE, FALSE); for (i = 0; i < 80; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; return r; } void destroy_winIVROverlay_IVROverlay_027_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_winIVROverlay_rtti( char *base ) { #ifdef __x86_64__ init_winIVROverlay_IVROverlay_001_rtti( base ); init_winIVROverlay_IVROverlay_002_rtti( base ); init_winIVROverlay_IVROverlay_003_rtti( base ); init_winIVROverlay_IVROverlay_004_rtti( base ); init_winIVROverlay_IVROverlay_005_rtti( base ); init_winIVROverlay_IVROverlay_007_rtti( base ); init_winIVROverlay_IVROverlay_008_rtti( base ); init_winIVROverlay_IVROverlay_010_rtti( base ); init_winIVROverlay_IVROverlay_011_rtti( base ); init_winIVROverlay_IVROverlay_012_rtti( base ); init_winIVROverlay_IVROverlay_013_rtti( base ); init_winIVROverlay_IVROverlay_014_rtti( base ); init_winIVROverlay_IVROverlay_016_rtti( base ); init_winIVROverlay_IVROverlay_017_rtti( base ); init_winIVROverlay_IVROverlay_018_rtti( base ); init_winIVROverlay_IVROverlay_019_rtti( base ); init_winIVROverlay_IVROverlay_020_rtti( base ); init_winIVROverlay_IVROverlay_021_rtti( base ); init_winIVROverlay_IVROverlay_022_rtti( base ); init_winIVROverlay_IVROverlay_024_rtti( base ); init_winIVROverlay_IVROverlay_025_rtti( base ); init_winIVROverlay_IVROverlay_026_rtti( base ); init_winIVROverlay_IVROverlay_027_rtti( base ); #endif /* __x86_64__ */ }