blob: 3a10f951dc56393dcac9bb80e83420bc4a9153b1 [file] [log] [blame]
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Header for flatted SteamAPI. Use this for binding to other languages.
// This file is auto-generated, do not edit it.
//
//=============================================================================
#ifndef __OPENVR_API_FLAT_H__
#define __OPENVR_API_FLAT_H__
#if defined( _WIN32 ) || defined( __clang__ )
#pragma once
#endif
#ifdef __cplusplus
#define EXTERN_C extern "C"
#else
#define EXTERN_C
#endif
#define OPENVR_FNTABLE_CALLTYPE __stdcall
// OPENVR API export macro
#if defined( _WIN32 ) && !defined( _X360 )
#if defined( OPENVR_API_EXPORTS )
#define S_API EXTERN_C __declspec( dllexport )
#elif defined( OPENVR_API_NODLL )
#define S_API EXTERN_C
#else
#define S_API extern "C" __declspec( dllimport )
#endif // OPENVR_API_EXPORTS
#elif defined( __GNUC__ )
#if defined( OPENVR_API_EXPORTS )
#define S_API EXTERN_C __attribute__ ((visibility("default")))
#else
#define S_API EXTERN_C
#endif // OPENVR_API_EXPORTS
#else // !WIN32
#if defined( OPENVR_API_EXPORTS )
#define S_API EXTERN_C
#else
#define S_API EXTERN_C
#endif // OPENVR_API_EXPORTS
#endif
#include <stdint.h>
#if defined( __WIN32 )
typedef char bool;
#else
#include <stdbool.h>
#endif
typedef uint64_t PropertyContainerHandle_t;
typedef uint32_t PropertyTypeTag_t;
// OpenVR Constants
static const unsigned int k_unMaxDriverDebugResponseSize = 32768;
static const unsigned int k_unTrackedDeviceIndex_Hmd = 0;
static const unsigned int k_unMaxTrackedDeviceCount = 16;
static const unsigned int k_unTrackedDeviceIndexOther = 4294967294;
static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295;
static const unsigned long k_ulInvalidPropertyContainer = 0;
static const unsigned int k_unInvalidPropertyTag = 0;
static const unsigned int k_unFloatPropertyTag = 1;
static const unsigned int k_unInt32PropertyTag = 2;
static const unsigned int k_unUint64PropertyTag = 3;
static const unsigned int k_unBoolPropertyTag = 4;
static const unsigned int k_unStringPropertyTag = 5;
static const unsigned int k_unHmdMatrix34PropertyTag = 20;
static const unsigned int k_unHmdMatrix44PropertyTag = 21;
static const unsigned int k_unHmdVector3PropertyTag = 22;
static const unsigned int k_unHmdVector4PropertyTag = 23;
static const unsigned int k_unHiddenAreaPropertyTag = 30;
static const unsigned int k_unOpenVRInternalReserved_Start = 1000;
static const unsigned int k_unOpenVRInternalReserved_End = 10000;
static const unsigned int k_unMaxPropertyStringSize = 32768;
static const unsigned int k_unControllerStateAxisCount = 5;
static const unsigned long k_ulOverlayHandleInvalid = 0;
static const unsigned int k_unScreenshotHandleInvalid = 0;
static const char * IVRSystem_Version = "IVRSystem_015";
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
static const unsigned int k_unMaxApplicationKeyLength = 128;
static const char * k_pch_MimeType_HomeApp = "vr/home";
static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
static const char * IVRApplications_Version = "IVRApplications_006";
static const char * IVRChaperone_Version = "IVRChaperone_003";
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
static const char * IVRCompositor_Version = "IVRCompositor_020";
static const unsigned int k_unVROverlayMaxKeyLength = 128;
static const unsigned int k_unVROverlayMaxNameLength = 128;
static const unsigned int k_unMaxOverlayCount = 64;
static const unsigned int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
static const char * IVROverlay_Version = "IVROverlay_014";
static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
static const char * k_pch_Controller_Component_Base = "base";
static const char * k_pch_Controller_Component_Tip = "tip";
static const char * k_pch_Controller_Component_HandGrip = "handgrip";
static const char * k_pch_Controller_Component_Status = "status";
static const char * IVRRenderModels_Version = "IVRRenderModels_005";
static const unsigned int k_unNotificationTextMaxSize = 256;
static const char * IVRNotifications_Version = "IVRNotifications_002";
static const unsigned int k_unMaxSettingsKeyLength = 128;
static const char * IVRSettings_Version = "IVRSettings_002";
static const char * k_pch_SteamVR_Section = "steamvr";
static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd";
static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
static const char * k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion";
static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";
static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel";
static const char * k_pch_SteamVR_IPD_Float = "ipd";
static const char * k_pch_SteamVR_Background_String = "background";
static const char * k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";
static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
static const char * k_pch_SteamVR_GridColor_String = "gridColor";
static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
static const char * k_pch_SteamVR_ShowStage_Bool = "showStage";
static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
static const char * k_pch_SteamVR_DirectMode_Bool = "directMode";
static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";
static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
static const char * k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier";
static const char * k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";
static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";
static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
static const char * k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
static const char * k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
static const char * k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
static const char * k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
static const char * k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
static const char * k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
static const char * k_pch_Null_Section = "driver_null";
static const char * k_pch_Null_SerialNumber_String = "serialNumber";
static const char * k_pch_Null_ModelNumber_String = "modelNumber";
static const char * k_pch_Null_WindowX_Int32 = "windowX";
static const char * k_pch_Null_WindowY_Int32 = "windowY";
static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth";
static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight";
static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth";
static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight";
static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";
static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency";
static const char * k_pch_UserInterface_Section = "userinterface";
static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
static const char * k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots";
static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
static const char * k_pch_Notifications_Section = "notifications";
static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
static const char * k_pch_Keyboard_Section = "keyboard";
static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
static const char * k_pch_Keyboard_ScaleX = "ScaleX";
static const char * k_pch_Keyboard_ScaleY = "ScaleY";
static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX";
static const char * k_pch_Keyboard_OffsetY = "OffsetY";
static const char * k_pch_Keyboard_Smoothing = "Smoothing";
static const char * k_pch_Perf_Section = "perfcheck";
static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
static const char * k_pch_Perf_TestData_Float = "perfTestData";
static const char * k_pch_CollisionBounds_Section = "collisionBounds";
static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";
static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";
static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";
static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";
static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";
static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";
static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";
static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";
static const char * k_pch_Camera_Section = "camera";
static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera";
static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";
static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";
static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";
static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";
static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
static const char * k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
static const char * k_pch_audio_Section = "audio";
static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice";
static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";
static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice";
static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
static const char * k_pch_Power_Section = "power";
static const char * k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
static const char * k_pch_Dashboard_Section = "dashboard";
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
static const char * k_pch_modelskin_Section = "modelskins";
static const char * k_pch_Driver_Enable_Bool = "enable";
static const char * IVRScreenshots_Version = "IVRScreenshots_001";
static const char * IVRResources_Version = "IVRResources_001";
// OpenVR Enums
typedef enum EVREye
{
EVREye_Eye_Left = 0,
EVREye_Eye_Right = 1,
} EVREye;
typedef enum ETextureType
{
ETextureType_TextureType_DirectX = 0,
ETextureType_TextureType_OpenGL = 1,
ETextureType_TextureType_Vulkan = 2,
ETextureType_TextureType_IOSurface = 3,
ETextureType_TextureType_DirectX12 = 4,
} ETextureType;
typedef enum EColorSpace
{
EColorSpace_ColorSpace_Auto = 0,
EColorSpace_ColorSpace_Gamma = 1,
EColorSpace_ColorSpace_Linear = 2,
} EColorSpace;
typedef enum ETrackingResult
{
ETrackingResult_TrackingResult_Uninitialized = 1,
ETrackingResult_TrackingResult_Calibrating_InProgress = 100,
ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101,
ETrackingResult_TrackingResult_Running_OK = 200,
ETrackingResult_TrackingResult_Running_OutOfRange = 201,
} ETrackingResult;
typedef enum ETrackedDeviceClass
{
ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0,
ETrackedDeviceClass_TrackedDeviceClass_HMD = 1,
ETrackedDeviceClass_TrackedDeviceClass_Controller = 2,
ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3,
ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4,
} ETrackedDeviceClass;
typedef enum ETrackedControllerRole
{
ETrackedControllerRole_TrackedControllerRole_Invalid = 0,
ETrackedControllerRole_TrackedControllerRole_LeftHand = 1,
ETrackedControllerRole_TrackedControllerRole_RightHand = 2,
} ETrackedControllerRole;
typedef enum ETrackingUniverseOrigin
{
ETrackingUniverseOrigin_TrackingUniverseSeated = 0,
ETrackingUniverseOrigin_TrackingUniverseStanding = 1,
ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2,
} ETrackingUniverseOrigin;
typedef enum ETrackedDeviceProperty
{
ETrackedDeviceProperty_Prop_Invalid = 0,
ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000,
ETrackedDeviceProperty_Prop_ModelNumber_String = 1001,
ETrackedDeviceProperty_Prop_SerialNumber_String = 1002,
ETrackedDeviceProperty_Prop_RenderModelName_String = 1003,
ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004,
ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005,
ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006,
ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007,
ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008,
ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009,
ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010,
ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011,
ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012,
ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013,
ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014,
ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015,
ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016,
ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017,
ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018,
ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019,
ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020,
ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021,
ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022,
ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023,
ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024,
ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025,
ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026,
ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027,
ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028,
ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029,
ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030,
ETrackedDeviceProperty_Prop_DriverVersion_String = 1031,
ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032,
ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033,
ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034,
ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000,
ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003,
ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004,
ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005,
ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006,
ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007,
ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008,
ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009,
ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010,
ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011,
ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012,
ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013,
ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014,
ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015,
ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016,
ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017,
ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018,
ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019,
ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020,
ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021,
ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022,
ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023,
ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024,
ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025,
ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026,
ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027,
ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028,
ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029,
ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030,
ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031,
ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032,
ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033,
ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034,
ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035,
ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036,
ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037,
ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038,
ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039,
ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040,
ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041,
ETrackedDeviceProperty_Prop_UsesDriverDirectMode_Bool = 2042,
ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003,
ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004,
ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005,
ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006,
ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007,
ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000,
ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001,
ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002,
ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003,
ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004,
ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005,
ETrackedDeviceProperty_Prop_ModeLabel_String = 4006,
ETrackedDeviceProperty_Prop_IconPathName_String = 5000,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5003,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008,
ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start = 5100,
ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150,
ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000,
ETrackedDeviceProperty_Prop_InstallPath_String = 6001,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999,
} ETrackedDeviceProperty;
typedef enum ETrackedPropertyError
{
ETrackedPropertyError_TrackedProp_Success = 0,
ETrackedPropertyError_TrackedProp_WrongDataType = 1,
ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2,
ETrackedPropertyError_TrackedProp_BufferTooSmall = 3,
ETrackedPropertyError_TrackedProp_UnknownProperty = 4,
ETrackedPropertyError_TrackedProp_InvalidDevice = 5,
ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6,
ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7,
ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8,
ETrackedPropertyError_TrackedProp_NotYetAvailable = 9,
ETrackedPropertyError_TrackedProp_PermissionDenied = 10,
ETrackedPropertyError_TrackedProp_InvalidOperation = 11,
} ETrackedPropertyError;
typedef enum EVRSubmitFlags
{
EVRSubmitFlags_Submit_Default = 0,
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
EVRSubmitFlags_Submit_Reserved = 4,
} EVRSubmitFlags;
typedef enum EVRState
{
EVRState_VRState_Undefined = -1,
EVRState_VRState_Off = 0,
EVRState_VRState_Searching = 1,
EVRState_VRState_Searching_Alert = 2,
EVRState_VRState_Ready = 3,
EVRState_VRState_Ready_Alert = 4,
EVRState_VRState_NotReady = 5,
EVRState_VRState_Standby = 6,
EVRState_VRState_Ready_Alert_Low = 7,
} EVRState;
typedef enum EVREventType
{
EVREventType_VREvent_None = 0,
EVREventType_VREvent_TrackedDeviceActivated = 100,
EVREventType_VREvent_TrackedDeviceDeactivated = 101,
EVREventType_VREvent_TrackedDeviceUpdated = 102,
EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103,
EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104,
EVREventType_VREvent_IpdChanged = 105,
EVREventType_VREvent_EnterStandbyMode = 106,
EVREventType_VREvent_LeaveStandbyMode = 107,
EVREventType_VREvent_TrackedDeviceRoleChanged = 108,
EVREventType_VREvent_WatchdogWakeUpRequested = 109,
EVREventType_VREvent_LensDistortionChanged = 110,
EVREventType_VREvent_PropertyChanged = 111,
EVREventType_VREvent_ButtonPress = 200,
EVREventType_VREvent_ButtonUnpress = 201,
EVREventType_VREvent_ButtonTouch = 202,
EVREventType_VREvent_ButtonUntouch = 203,
EVREventType_VREvent_MouseMove = 300,
EVREventType_VREvent_MouseButtonDown = 301,
EVREventType_VREvent_MouseButtonUp = 302,
EVREventType_VREvent_FocusEnter = 303,
EVREventType_VREvent_FocusLeave = 304,
EVREventType_VREvent_Scroll = 305,
EVREventType_VREvent_TouchPadMove = 306,
EVREventType_VREvent_OverlayFocusChanged = 307,
EVREventType_VREvent_InputFocusCaptured = 400,
EVREventType_VREvent_InputFocusReleased = 401,
EVREventType_VREvent_SceneFocusLost = 402,
EVREventType_VREvent_SceneFocusGained = 403,
EVREventType_VREvent_SceneApplicationChanged = 404,
EVREventType_VREvent_SceneFocusChanged = 405,
EVREventType_VREvent_InputFocusChanged = 406,
EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407,
EVREventType_VREvent_HideRenderModels = 410,
EVREventType_VREvent_ShowRenderModels = 411,
EVREventType_VREvent_OverlayShown = 500,
EVREventType_VREvent_OverlayHidden = 501,
EVREventType_VREvent_DashboardActivated = 502,
EVREventType_VREvent_DashboardDeactivated = 503,
EVREventType_VREvent_DashboardThumbSelected = 504,
EVREventType_VREvent_DashboardRequested = 505,
EVREventType_VREvent_ResetDashboard = 506,
EVREventType_VREvent_RenderToast = 507,
EVREventType_VREvent_ImageLoaded = 508,
EVREventType_VREvent_ShowKeyboard = 509,
EVREventType_VREvent_HideKeyboard = 510,
EVREventType_VREvent_OverlayGamepadFocusGained = 511,
EVREventType_VREvent_OverlayGamepadFocusLost = 512,
EVREventType_VREvent_OverlaySharedTextureChanged = 513,
EVREventType_VREvent_DashboardGuideButtonDown = 514,
EVREventType_VREvent_DashboardGuideButtonUp = 515,
EVREventType_VREvent_ScreenshotTriggered = 516,
EVREventType_VREvent_ImageFailed = 517,
EVREventType_VREvent_DashboardOverlayCreated = 518,
EVREventType_VREvent_RequestScreenshot = 520,
EVREventType_VREvent_ScreenshotTaken = 521,
EVREventType_VREvent_ScreenshotFailed = 522,
EVREventType_VREvent_SubmitScreenshotToDashboard = 523,
EVREventType_VREvent_ScreenshotProgressToDashboard = 524,
EVREventType_VREvent_PrimaryDashboardDeviceChanged = 525,
EVREventType_VREvent_Notification_Shown = 600,
EVREventType_VREvent_Notification_Hidden = 601,
EVREventType_VREvent_Notification_BeginInteraction = 602,
EVREventType_VREvent_Notification_Destroyed = 603,
EVREventType_VREvent_Quit = 700,
EVREventType_VREvent_ProcessQuit = 701,
EVREventType_VREvent_QuitAborted_UserPrompt = 702,
EVREventType_VREvent_QuitAcknowledged = 703,
EVREventType_VREvent_DriverRequestedQuit = 704,
EVREventType_VREvent_ChaperoneDataHasChanged = 800,
EVREventType_VREvent_ChaperoneUniverseHasChanged = 801,
EVREventType_VREvent_ChaperoneTempDataHasChanged = 802,
EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803,
EVREventType_VREvent_SeatedZeroPoseReset = 804,
EVREventType_VREvent_AudioSettingsHaveChanged = 820,
EVREventType_VREvent_BackgroundSettingHasChanged = 850,
EVREventType_VREvent_CameraSettingsHaveChanged = 851,
EVREventType_VREvent_ReprojectionSettingHasChanged = 852,
EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853,
EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854,
EVREventType_VREvent_PowerSettingsHaveChanged = 855,
EVREventType_VREvent_StatusUpdate = 900,
EVREventType_VREvent_MCImageUpdated = 1000,
EVREventType_VREvent_FirmwareUpdateStarted = 1100,
EVREventType_VREvent_FirmwareUpdateFinished = 1101,
EVREventType_VREvent_KeyboardClosed = 1200,
EVREventType_VREvent_KeyboardCharInput = 1201,
EVREventType_VREvent_KeyboardDone = 1202,
EVREventType_VREvent_ApplicationTransitionStarted = 1300,
EVREventType_VREvent_ApplicationTransitionAborted = 1301,
EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302,
EVREventType_VREvent_ApplicationListUpdated = 1303,
EVREventType_VREvent_ApplicationMimeTypeLoad = 1304,
EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305,
EVREventType_VREvent_Compositor_MirrorWindowShown = 1400,
EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401,
EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410,
EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411,
EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500,
EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501,
EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502,
EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503,
EVREventType_VREvent_TrackedCamera_EditingSurface = 1550,
EVREventType_VREvent_PerformanceTest_EnableCapture = 1600,
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
EVREventType_VREvent_MessageOverlay_Closed = 1650,
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
} EVREventType;
typedef enum EDeviceActivityLevel
{
EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1,
EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0,
EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1,
EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2,
EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3,
} EDeviceActivityLevel;
typedef enum EVRButtonId
{
EVRButtonId_k_EButton_System = 0,
EVRButtonId_k_EButton_ApplicationMenu = 1,
EVRButtonId_k_EButton_Grip = 2,
EVRButtonId_k_EButton_DPad_Left = 3,
EVRButtonId_k_EButton_DPad_Up = 4,
EVRButtonId_k_EButton_DPad_Right = 5,
EVRButtonId_k_EButton_DPad_Down = 6,
EVRButtonId_k_EButton_A = 7,
EVRButtonId_k_EButton_ProximitySensor = 31,
EVRButtonId_k_EButton_Axis0 = 32,
EVRButtonId_k_EButton_Axis1 = 33,
EVRButtonId_k_EButton_Axis2 = 34,
EVRButtonId_k_EButton_Axis3 = 35,
EVRButtonId_k_EButton_Axis4 = 36,
EVRButtonId_k_EButton_SteamVR_Touchpad = 32,
EVRButtonId_k_EButton_SteamVR_Trigger = 33,
EVRButtonId_k_EButton_Dashboard_Back = 2,
EVRButtonId_k_EButton_Max = 64,
} EVRButtonId;
typedef enum EVRMouseButton
{
EVRMouseButton_VRMouseButton_Left = 1,
EVRMouseButton_VRMouseButton_Right = 2,
EVRMouseButton_VRMouseButton_Middle = 4,
} EVRMouseButton;
typedef enum EHiddenAreaMeshType
{
EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0,
EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1,
EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2,
EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3,
} EHiddenAreaMeshType;
typedef enum EVRControllerAxisType
{
EVRControllerAxisType_k_eControllerAxis_None = 0,
EVRControllerAxisType_k_eControllerAxis_TrackPad = 1,
EVRControllerAxisType_k_eControllerAxis_Joystick = 2,
EVRControllerAxisType_k_eControllerAxis_Trigger = 3,
} EVRControllerAxisType;
typedef enum EVRControllerEventOutputType
{
EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0,
EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1,
} EVRControllerEventOutputType;
typedef enum ECollisionBoundsStyle
{
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0,
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1,
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2,
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3,
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4,
ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5,
} ECollisionBoundsStyle;
typedef enum EVROverlayError
{
EVROverlayError_VROverlayError_None = 0,
EVROverlayError_VROverlayError_UnknownOverlay = 10,
EVROverlayError_VROverlayError_InvalidHandle = 11,
EVROverlayError_VROverlayError_PermissionDenied = 12,
EVROverlayError_VROverlayError_OverlayLimitExceeded = 13,
EVROverlayError_VROverlayError_WrongVisibilityType = 14,
EVROverlayError_VROverlayError_KeyTooLong = 15,
EVROverlayError_VROverlayError_NameTooLong = 16,
EVROverlayError_VROverlayError_KeyInUse = 17,
EVROverlayError_VROverlayError_WrongTransformType = 18,
EVROverlayError_VROverlayError_InvalidTrackedDevice = 19,
EVROverlayError_VROverlayError_InvalidParameter = 20,
EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21,
EVROverlayError_VROverlayError_ArrayTooSmall = 22,
EVROverlayError_VROverlayError_RequestFailed = 23,
EVROverlayError_VROverlayError_InvalidTexture = 24,
EVROverlayError_VROverlayError_UnableToLoadFile = 25,
EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26,
EVROverlayError_VROverlayError_NoNeighbor = 27,
EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29,
EVROverlayError_VROverlayError_BadMaskPrimitive = 30,
} EVROverlayError;
typedef enum EVRApplicationType
{
EVRApplicationType_VRApplication_Other = 0,
EVRApplicationType_VRApplication_Scene = 1,
EVRApplicationType_VRApplication_Overlay = 2,
EVRApplicationType_VRApplication_Background = 3,
EVRApplicationType_VRApplication_Utility = 4,
EVRApplicationType_VRApplication_VRMonitor = 5,
EVRApplicationType_VRApplication_SteamWatchdog = 6,
EVRApplicationType_VRApplication_Max = 7,
} EVRApplicationType;
typedef enum EVRFirmwareError
{
EVRFirmwareError_VRFirmwareError_None = 0,
EVRFirmwareError_VRFirmwareError_Success = 1,
EVRFirmwareError_VRFirmwareError_Fail = 2,
} EVRFirmwareError;
typedef enum EVRNotificationError
{
EVRNotificationError_VRNotificationError_OK = 0,
EVRNotificationError_VRNotificationError_InvalidNotificationId = 100,
EVRNotificationError_VRNotificationError_NotificationQueueFull = 101,
EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102,
EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103,
} EVRNotificationError;
typedef enum EVRInitError
{
EVRInitError_VRInitError_None = 0,
EVRInitError_VRInitError_Unknown = 1,
EVRInitError_VRInitError_Init_InstallationNotFound = 100,
EVRInitError_VRInitError_Init_InstallationCorrupt = 101,
EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102,
EVRInitError_VRInitError_Init_FileNotFound = 103,
EVRInitError_VRInitError_Init_FactoryNotFound = 104,
EVRInitError_VRInitError_Init_InterfaceNotFound = 105,
EVRInitError_VRInitError_Init_InvalidInterface = 106,
EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107,
EVRInitError_VRInitError_Init_HmdNotFound = 108,
EVRInitError_VRInitError_Init_NotInitialized = 109,
EVRInitError_VRInitError_Init_PathRegistryNotFound = 110,
EVRInitError_VRInitError_Init_NoConfigPath = 111,
EVRInitError_VRInitError_Init_NoLogPath = 112,
EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113,
EVRInitError_VRInitError_Init_AppInfoInitFailed = 114,
EVRInitError_VRInitError_Init_Retry = 115,
EVRInitError_VRInitError_Init_InitCanceledByUser = 116,
EVRInitError_VRInitError_Init_AnotherAppLaunching = 117,
EVRInitError_VRInitError_Init_SettingsInitFailed = 118,
EVRInitError_VRInitError_Init_ShuttingDown = 119,
EVRInitError_VRInitError_Init_TooManyObjects = 120,
EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121,
EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122,
EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123,
EVRInitError_VRInitError_Init_Internal = 124,
EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125,
EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126,
EVRInitError_VRInitError_Init_VRMonitorNotFound = 127,
EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128,
EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129,
EVRInitError_VRInitError_Init_InvalidApplicationType = 130,
EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131,
EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132,
EVRInitError_VRInitError_Init_VRDashboardNotFound = 133,
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
EVRInitError_VRInitError_Driver_Failed = 200,
EVRInitError_VRInitError_Driver_Unknown = 201,
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
EVRInitError_VRInitError_Driver_NotLoaded = 203,
EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204,
EVRInitError_VRInitError_Driver_HmdInUse = 205,
EVRInitError_VRInitError_Driver_NotCalibrated = 206,
EVRInitError_VRInitError_Driver_CalibrationInvalid = 207,
EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208,
EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212,
EVRInitError_VRInitError_IPC_ServerInitFailed = 300,
EVRInitError_VRInitError_IPC_ConnectFailed = 301,
EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302,
EVRInitError_VRInitError_IPC_CompositorInitFailed = 303,
EVRInitError_VRInitError_IPC_MutexInitFailed = 304,
EVRInitError_VRInitError_IPC_Failed = 305,
EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306,
EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307,
EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
EVRInitError_VRInitError_Compositor_Failed = 400,
EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401,
EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402,
EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403,
EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404,
EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103,
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104,
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106,
EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000,
} EVRInitError;
typedef enum EVRScreenshotType
{
EVRScreenshotType_VRScreenshotType_None = 0,
EVRScreenshotType_VRScreenshotType_Mono = 1,
EVRScreenshotType_VRScreenshotType_Stereo = 2,
EVRScreenshotType_VRScreenshotType_Cubemap = 3,
EVRScreenshotType_VRScreenshotType_MonoPanorama = 4,
EVRScreenshotType_VRScreenshotType_StereoPanorama = 5,
} EVRScreenshotType;
typedef enum EVRScreenshotPropertyFilenames
{
EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0,
EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1,
} EVRScreenshotPropertyFilenames;
typedef enum EVRTrackedCameraError
{
EVRTrackedCameraError_VRTrackedCameraError_None = 0,
EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100,
EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101,
EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102,
EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103,
EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104,
EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105,
EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106,
EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107,
EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108,
EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109,
EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110,
EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111,
EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112,
EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113,
EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114,
EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115,
} EVRTrackedCameraError;
typedef enum EVRTrackedCameraFrameType
{
EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0,
EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1,
EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2,
EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3,
} EVRTrackedCameraFrameType;
typedef enum EVRApplicationError
{
EVRApplicationError_VRApplicationError_None = 0,
EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100,
EVRApplicationError_VRApplicationError_NoManifest = 101,
EVRApplicationError_VRApplicationError_NoApplication = 102,
EVRApplicationError_VRApplicationError_InvalidIndex = 103,
EVRApplicationError_VRApplicationError_UnknownApplication = 104,
EVRApplicationError_VRApplicationError_IPCFailed = 105,
EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106,
EVRApplicationError_VRApplicationError_InvalidManifest = 107,
EVRApplicationError_VRApplicationError_InvalidApplication = 108,
EVRApplicationError_VRApplicationError_LaunchFailed = 109,
EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110,
EVRApplicationError_VRApplicationError_LaunchInProgress = 111,
EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
EVRApplicationError_VRApplicationError_TransitionAborted = 113,
EVRApplicationError_VRApplicationError_IsTemplate = 114,
EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
EVRApplicationError_VRApplicationError_UnknownProperty = 202,
EVRApplicationError_VRApplicationError_InvalidParameter = 203,
} EVRApplicationError;
typedef enum EVRApplicationProperty
{
EVRApplicationProperty_VRApplicationProperty_Name_String = 0,
EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11,
EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12,
EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13,
EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14,
EVRApplicationProperty_VRApplicationProperty_URL_String = 15,
EVRApplicationProperty_VRApplicationProperty_Description_String = 50,
EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51,
EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52,
EVRApplicationProperty_VRApplicationProperty_Source_String = 53,
EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60,
EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63,
EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
} EVRApplicationProperty;
typedef enum EVRApplicationTransitionState
{
EVRApplicationTransitionState_VRApplicationTransition_None = 0,
EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10,
EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11,
EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20,
} EVRApplicationTransitionState;
typedef enum ChaperoneCalibrationState
{
ChaperoneCalibrationState_OK = 1,
ChaperoneCalibrationState_Warning = 100,
ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101,
ChaperoneCalibrationState_Warning_BaseStationRemoved = 102,
ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103,
ChaperoneCalibrationState_Error = 200,
ChaperoneCalibrationState_Error_BaseStationUninitialized = 201,
ChaperoneCalibrationState_Error_BaseStationConflict = 202,
ChaperoneCalibrationState_Error_PlayAreaInvalid = 203,
ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204,
} ChaperoneCalibrationState;
typedef enum EChaperoneConfigFile
{
EChaperoneConfigFile_Live = 1,
EChaperoneConfigFile_Temp = 2,
} EChaperoneConfigFile;
typedef enum EChaperoneImportFlags
{
EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1,
} EChaperoneImportFlags;
typedef enum EVRCompositorError
{
EVRCompositorError_VRCompositorError_None = 0,
EVRCompositorError_VRCompositorError_RequestFailed = 1,
EVRCompositorError_VRCompositorError_IncompatibleVersion = 100,
EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101,
EVRCompositorError_VRCompositorError_InvalidTexture = 102,
EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103,
EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104,
EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105,
EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
EVRCompositorError_VRCompositorError_AlreadySubmitted = 108,
} EVRCompositorError;
typedef enum VROverlayInputMethod
{
VROverlayInputMethod_None = 0,
VROverlayInputMethod_Mouse = 1,
} VROverlayInputMethod;
typedef enum VROverlayTransformType
{
VROverlayTransformType_VROverlayTransform_Absolute = 0,
VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1,
VROverlayTransformType_VROverlayTransform_SystemOverlay = 2,
VROverlayTransformType_VROverlayTransform_TrackedComponent = 3,
} VROverlayTransformType;
typedef enum VROverlayFlags
{
VROverlayFlags_None = 0,
VROverlayFlags_Curved = 1,
VROverlayFlags_RGSS4X = 2,
VROverlayFlags_NoDashboardTab = 3,
VROverlayFlags_AcceptsGamepadEvents = 4,
VROverlayFlags_ShowGamepadFocus = 5,
VROverlayFlags_SendVRScrollEvents = 6,
VROverlayFlags_SendVRTouchpadEvents = 7,
VROverlayFlags_ShowTouchPadScrollWheel = 8,
VROverlayFlags_TransferOwnershipToInternalProcess = 9,
VROverlayFlags_SideBySide_Parallel = 10,
VROverlayFlags_SideBySide_Crossed = 11,
VROverlayFlags_Panorama = 12,
VROverlayFlags_StereoPanorama = 13,
VROverlayFlags_SortWithNonSceneOverlays = 14,
VROverlayFlags_VisibleInDashboard = 15,
} VROverlayFlags;
typedef enum VRMessageOverlayResponse
{
VRMessageOverlayResponse_ButtonPress_0 = 0,
VRMessageOverlayResponse_ButtonPress_1 = 1,
VRMessageOverlayResponse_ButtonPress_2 = 2,
VRMessageOverlayResponse_ButtonPress_3 = 3,
VRMessageOverlayResponse_CouldntFindSystemOverlay = 4,
VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5,
VRMessageOverlayResponse_ApplicationQuit = 6,
} VRMessageOverlayResponse;
typedef enum EGamepadTextInputMode
{
EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0,
EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1,
EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2,
} EGamepadTextInputMode;
typedef enum EGamepadTextInputLineMode
{
EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0,
EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1,
} EGamepadTextInputLineMode;
typedef enum EOverlayDirection
{
EOverlayDirection_OverlayDirection_Up = 0,
EOverlayDirection_OverlayDirection_Down = 1,
EOverlayDirection_OverlayDirection_Left = 2,
EOverlayDirection_OverlayDirection_Right = 3,
EOverlayDirection_OverlayDirection_Count = 4,
} EOverlayDirection;
typedef enum EVROverlayIntersectionMaskPrimitiveType
{
EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle = 0,
EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle = 1,
} EVROverlayIntersectionMaskPrimitiveType;
typedef enum EVRRenderModelError
{
EVRRenderModelError_VRRenderModelError_None = 0,
EVRRenderModelError_VRRenderModelError_Loading = 100,
EVRRenderModelError_VRRenderModelError_NotSupported = 200,
EVRRenderModelError_VRRenderModelError_InvalidArg = 300,
EVRRenderModelError_VRRenderModelError_InvalidModel = 301,
EVRRenderModelError_VRRenderModelError_NoShapes = 302,
EVRRenderModelError_VRRenderModelError_MultipleShapes = 303,
EVRRenderModelError_VRRenderModelError_TooManyVertices = 304,
EVRRenderModelError_VRRenderModelError_MultipleTextures = 305,
EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306,
EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307,
EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308,
EVRRenderModelError_VRRenderModelError_InvalidTexture = 400,
} EVRRenderModelError;
typedef enum EVRComponentProperty
{
EVRComponentProperty_VRComponentProperty_IsStatic = 1,
EVRComponentProperty_VRComponentProperty_IsVisible = 2,
EVRComponentProperty_VRComponentProperty_IsTouched = 4,
EVRComponentProperty_VRComponentProperty_IsPressed = 8,
EVRComponentProperty_VRComponentProperty_IsScrolled = 16,
} EVRComponentProperty;
typedef enum EVRNotificationType
{
EVRNotificationType_Transient = 0,
EVRNotificationType_Persistent = 1,
EVRNotificationType_Transient_SystemWithUserValue = 2,
} EVRNotificationType;
typedef enum EVRNotificationStyle
{
EVRNotificationStyle_None = 0,
EVRNotificationStyle_Application = 100,
EVRNotificationStyle_Contact_Disabled = 200,
EVRNotificationStyle_Contact_Enabled = 201,
EVRNotificationStyle_Contact_Active = 202,
} EVRNotificationStyle;
typedef enum EVRSettingsError
{
EVRSettingsError_VRSettingsError_None = 0,
EVRSettingsError_VRSettingsError_IPCFailed = 1,
EVRSettingsError_VRSettingsError_WriteFailed = 2,
EVRSettingsError_VRSettingsError_ReadFailed = 3,
EVRSettingsError_VRSettingsError_JsonParseFailed = 4,
EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5,
} EVRSettingsError;
typedef enum EVRScreenshotError
{
EVRScreenshotError_VRScreenshotError_None = 0,
EVRScreenshotError_VRScreenshotError_RequestFailed = 1,
EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100,
EVRScreenshotError_VRScreenshotError_NotFound = 101,
EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102,
EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108,
} EVRScreenshotError;
// OpenVR typedefs
typedef uint32_t TrackedDeviceIndex_t;
typedef uint32_t VRNotificationId;
typedef uint64_t VROverlayHandle_t;
typedef void * glSharedTextureHandle_t;
typedef int32_t glInt_t;
typedef uint32_t glUInt_t;
typedef uint64_t SharedTextureHandle_t;
typedef uint32_t TrackedDeviceIndex_t;
typedef uint64_t PropertyContainerHandle_t;
typedef uint32_t PropertyTypeTag_t;
typedef uint64_t VROverlayHandle_t;
typedef uint64_t TrackedCameraHandle_t;
typedef uint32_t ScreenshotHandle_t;
typedef uint32_t VRComponentProperties;
typedef int32_t TextureID_t;
typedef uint32_t VRNotificationId;
typedef EVRInitError HmdError;
typedef EVREye Hmd_Eye;
typedef EColorSpace ColorSpace;
typedef ETrackingResult HmdTrackingResult;
typedef ETrackedDeviceClass TrackedDeviceClass;
typedef ETrackingUniverseOrigin TrackingUniverseOrigin;
typedef ETrackedDeviceProperty TrackedDeviceProperty;
typedef ETrackedPropertyError TrackedPropertyError;
typedef EVRSubmitFlags VRSubmitFlags_t;
typedef EVRState VRState_t;
typedef ECollisionBoundsStyle CollisionBoundsStyle_t;
typedef EVROverlayError VROverlayError;
typedef EVRFirmwareError VRFirmwareError;
typedef EVRCompositorError VRCompositorError;
typedef EVRScreenshotError VRScreenshotsError;
// OpenVR Structs
typedef struct HmdMatrix34_t
{
float m[3][4]; //float[3][4]
} HmdMatrix34_t;
typedef struct HmdMatrix44_t
{
float m[4][4]; //float[4][4]
} HmdMatrix44_t;
typedef struct HmdVector3_t
{
float v[3]; //float[3]
} HmdVector3_t;
typedef struct HmdVector4_t
{
float v[4]; //float[4]
} HmdVector4_t;
typedef struct HmdVector3d_t
{
double v[3]; //double[3]
} HmdVector3d_t;
typedef struct HmdVector2_t
{
float v[2]; //float[2]
} HmdVector2_t;
typedef struct HmdQuaternion_t
{
double w;
double x;
double y;
double z;
} HmdQuaternion_t;
typedef struct HmdColor_t
{
float r;
float g;
float b;
float a;
} HmdColor_t;
typedef struct HmdQuad_t
{
struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4]
} HmdQuad_t;
typedef struct HmdRect2_t
{
struct HmdVector2_t vTopLeft;
struct HmdVector2_t vBottomRight;
} HmdRect2_t;
typedef struct DistortionCoordinates_t
{
float rfRed[2]; //float[2]
float rfGreen[2]; //float[2]
float rfBlue[2]; //float[2]
} DistortionCoordinates_t;
typedef struct Texture_t
{
void * handle; // void *
enum ETextureType eType;
enum EColorSpace eColorSpace;
} Texture_t;
typedef struct TrackedDevicePose_t
{
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
struct HmdVector3_t vVelocity;
struct HmdVector3_t vAngularVelocity;
enum ETrackingResult eTrackingResult;
bool bPoseIsValid;
bool bDeviceIsConnected;
} TrackedDevicePose_t;
typedef struct VRTextureBounds_t
{
float uMin;
float vMin;
float uMax;
float vMax;
} VRTextureBounds_t;
typedef struct VRVulkanTextureData_t
{
uint64_t m_nImage;
struct VkDevice_T * m_pDevice; // struct VkDevice_T *
struct VkPhysicalDevice_T * m_pPhysicalDevice; // struct VkPhysicalDevice_T *
struct VkInstance_T * m_pInstance; // struct VkInstance_T *
struct VkQueue_T * m_pQueue; // struct VkQueue_T *
uint32_t m_nQueueFamilyIndex;
uint32_t m_nWidth;
uint32_t m_nHeight;
uint32_t m_nFormat;
uint32_t m_nSampleCount;
} VRVulkanTextureData_t;
typedef struct D3D12TextureData_t
{
struct ID3D12Resource * m_pResource; // struct ID3D12Resource *
struct ID3D12CommandQueue * m_pCommandQueue; // struct ID3D12CommandQueue *
uint32_t m_nNodeMask;
} D3D12TextureData_t;
typedef struct VREvent_Controller_t
{
uint32_t button;
} VREvent_Controller_t;
typedef struct VREvent_Mouse_t
{
float x;
float y;
uint32_t button;
} VREvent_Mouse_t;
typedef struct VREvent_Scroll_t
{
float xdelta;
float ydelta;
uint32_t repeatCount;
} VREvent_Scroll_t;
typedef struct VREvent_TouchPadMove_t
{
bool bFingerDown;
float flSecondsFingerDown;
float fValueXFirst;
float fValueYFirst;
float fValueXRaw;
float fValueYRaw;
} VREvent_TouchPadMove_t;
typedef struct VREvent_Notification_t
{
uint64_t ulUserValue;
uint32_t notificationId;
} VREvent_Notification_t;
typedef struct VREvent_Process_t
{
uint32_t pid;
uint32_t oldPid;
bool bForced;
} VREvent_Process_t;
typedef struct VREvent_Overlay_t
{
uint64_t overlayHandle;
} VREvent_Overlay_t;
typedef struct VREvent_Status_t
{
uint32_t statusState;
} VREvent_Status_t;
typedef struct VREvent_Keyboard_t
{
char * cNewInput[8]; //char[8]
uint64_t uUserValue;
} VREvent_Keyboard_t;
typedef struct VREvent_Ipd_t
{
float ipdMeters;
} VREvent_Ipd_t;
typedef struct VREvent_Chaperone_t
{
uint64_t m_nPreviousUniverse;
uint64_t m_nCurrentUniverse;
} VREvent_Chaperone_t;
typedef struct VREvent_Reserved_t
{
uint64_t reserved0;
uint64_t reserved1;
} VREvent_Reserved_t;
typedef struct VREvent_PerformanceTest_t
{
uint32_t m_nFidelityLevel;
} VREvent_PerformanceTest_t;
typedef struct VREvent_SeatedZeroPoseReset_t
{
bool bResetBySystemMenu;
} VREvent_SeatedZeroPoseReset_t;
typedef struct VREvent_Screenshot_t
{
uint32_t handle;
uint32_t type;
} VREvent_Screenshot_t;
typedef struct VREvent_ScreenshotProgress_t
{
float progress;
} VREvent_ScreenshotProgress_t;
typedef struct VREvent_ApplicationLaunch_t
{
uint32_t pid;
uint32_t unArgsHandle;
} VREvent_ApplicationLaunch_t;
typedef struct VREvent_EditingCameraSurface_t
{
uint64_t overlayHandle;
uint32_t nVisualMode;
} VREvent_EditingCameraSurface_t;
typedef struct VREvent_MessageOverlay_t
{
uint32_t unVRMessageOverlayResponse;
} VREvent_MessageOverlay_t;
typedef struct VREvent_Property_t
{
PropertyContainerHandle_t container;
enum ETrackedDeviceProperty prop;
} VREvent_Property_t;
typedef struct HiddenAreaMesh_t
{
struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t *
uint32_t unTriangleCount;
} HiddenAreaMesh_t;
typedef struct VRControllerAxis_t
{
float x;
float y;
} VRControllerAxis_t;
typedef struct VRControllerState_t
{
uint32_t unPacketNum;
uint64_t ulButtonPressed;
uint64_t ulButtonTouched;
struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5]
} VRControllerState_t;
typedef struct Compositor_OverlaySettings
{
uint32_t size;
bool curved;
bool antialias;
float scale;
float distance;
float alpha;
float uOffset;
float vOffset;
float uScale;
float vScale;
float gridDivs;
float gridWidth;
float gridScale;
struct HmdMatrix44_t transform;
} Compositor_OverlaySettings;
typedef struct CameraVideoStreamFrameHeader_t
{
enum EVRTrackedCameraFrameType eFrameType;
uint32_t nWidth;
uint32_t nHeight;
uint32_t nBytesPerPixel;
uint32_t nFrameSequence;
struct TrackedDevicePose_t standingTrackedDevicePose;
} CameraVideoStreamFrameHeader_t;
typedef struct AppOverrideKeys_t
{
char * pchKey; // const char *
char * pchValue; // const char *
} AppOverrideKeys_t;
typedef struct Compositor_FrameTiming
{
uint32_t m_nSize;
uint32_t m_nFrameIndex;
uint32_t m_nNumFramePresents;
uint32_t m_nNumMisPresented;
uint32_t m_nNumDroppedFrames;
uint32_t m_nReprojectionFlags;
double m_flSystemTimeInSeconds;
float m_flPreSubmitGpuMs;
float m_flPostSubmitGpuMs;
float m_flTotalRenderGpuMs;
float m_flCompositorRenderGpuMs;
float m_flCompositorRenderCpuMs;
float m_flCompositorIdleCpuMs;
float m_flClientFrameIntervalMs;
float m_flPresentCallCpuMs;
float m_flWaitForPresentCpuMs;
float m_flSubmitFrameMs;
float m_flWaitGetPosesCalledMs;
float m_flNewPosesReadyMs;
float m_flNewFrameReadyMs;
float m_flCompositorUpdateStartMs;
float m_flCompositorUpdateEndMs;
float m_flCompositorRenderStartMs;
TrackedDevicePose_t m_HmdPose;
} Compositor_FrameTiming;
typedef struct Compositor_CumulativeStats
{
uint32_t m_nPid;
uint32_t m_nNumFramePresents;
uint32_t m_nNumDroppedFrames;
uint32_t m_nNumReprojectedFrames;
uint32_t m_nNumFramePresentsOnStartup;
uint32_t m_nNumDroppedFramesOnStartup;
uint32_t m_nNumReprojectedFramesOnStartup;
uint32_t m_nNumLoading;
uint32_t m_nNumFramePresentsLoading;
uint32_t m_nNumDroppedFramesLoading;
uint32_t m_nNumReprojectedFramesLoading;
uint32_t m_nNumTimedOut;
uint32_t m_nNumFramePresentsTimedOut;
uint32_t m_nNumDroppedFramesTimedOut;
uint32_t m_nNumReprojectedFramesTimedOut;
} Compositor_CumulativeStats;
typedef struct VROverlayIntersectionParams_t
{
struct HmdVector3_t vSource;
struct HmdVector3_t vDirection;
enum ETrackingUniverseOrigin eOrigin;
} VROverlayIntersectionParams_t;
typedef struct VROverlayIntersectionResults_t
{
struct HmdVector3_t vPoint;
struct HmdVector3_t vNormal;
struct HmdVector2_t vUVs;
float fDistance;
} VROverlayIntersectionResults_t;
typedef struct IntersectionMaskRectangle_t
{
float m_flTopLeftX;
float m_flTopLeftY;
float m_flWidth;
float m_flHeight;
} IntersectionMaskRectangle_t;
typedef struct IntersectionMaskCircle_t
{
float m_flCenterX;
float m_flCenterY;
float m_flRadius;
} IntersectionMaskCircle_t;
typedef struct RenderModel_ComponentState_t
{
struct HmdMatrix34_t mTrackingToComponentRenderModel;
struct HmdMatrix34_t mTrackingToComponentLocal;
VRComponentProperties uProperties;
} RenderModel_ComponentState_t;
typedef struct RenderModel_Vertex_t
{
struct HmdVector3_t vPosition;
struct HmdVector3_t vNormal;
float rfTextureCoord[2]; //float[2]
} RenderModel_Vertex_t;
typedef struct RenderModel_TextureMap_t
{
uint16_t unWidth;
uint16_t unHeight;
uint8_t * rubTextureMapData; // const uint8_t *
} RenderModel_TextureMap_t;
typedef struct RenderModel_t
{
struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t *
uint32_t unVertexCount;
uint16_t * rIndexData; // const uint16_t *
uint32_t unTriangleCount;
TextureID_t diffuseTextureId;
} RenderModel_t;
typedef struct RenderModel_ControllerMode_State_t
{
bool bScrollWheelVisible;
} RenderModel_ControllerMode_State_t;
typedef struct NotificationBitmap_t
{
void * m_pImageData; // void *
int32_t m_nWidth;
int32_t m_nHeight;
int32_t m_nBytesPerPixel;
} NotificationBitmap_t;
typedef struct COpenVRContext
{
intptr_t m_pVRSystem; // class vr::IVRSystem *
intptr_t m_pVRChaperone; // class vr::IVRChaperone *
intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
intptr_t m_pVRCompositor; // class vr::IVRCompositor *
intptr_t m_pVROverlay; // class vr::IVROverlay *
intptr_t m_pVRResources; // class vr::IVRResources *
intptr_t m_pVRRenderModels; // class vr::IVRRenderModels *
intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
intptr_t m_pVRSettings; // class vr::IVRSettings *
intptr_t m_pVRApplications; // class vr::IVRApplications *
intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera *
intptr_t m_pVRScreenshots; // class vr::IVRScreenshots *
} COpenVRContext;
typedef union
{
VREvent_Reserved_t reserved;
VREvent_Controller_t controller;
VREvent_Mouse_t mouse;
VREvent_Scroll_t scroll;
VREvent_Process_t process;
VREvent_Notification_t notification;
VREvent_Overlay_t overlay;
VREvent_Status_t status;
VREvent_Keyboard_t keyboard;
VREvent_Ipd_t ipd;
VREvent_Chaperone_t chaperone;
VREvent_PerformanceTest_t performanceTest;
VREvent_TouchPadMove_t touchPadMove;
VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
} VREvent_Data_t;
/** An event posted by the server to all running applications */
struct VREvent_t
{
uint32_t eventType; // EVREventType enum
TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
// event data must be the end of the struct as its size is variable
VREvent_Data_t data;
};
typedef union
{
IntersectionMaskRectangle_t m_Rectangle;
IntersectionMaskCircle_t m_Circle;
} VROverlayIntersectionMaskPrimitive_Data_t;
struct VROverlayIntersectionMaskPrimitive_t
{
EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType;
VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
};
// OpenVR Function Pointer Tables
struct VR_IVRSystem_FnTable
{
void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight);
struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ);
void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom);
bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates);
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye);
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)();
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)();
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex);
EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId);
void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform);
TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType);
ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex);
ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex);
bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex);
bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError);
char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error);
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent);
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose);
char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType);
struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye, EHiddenAreaMeshType type);
bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize);
bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize, struct TrackedDevicePose_t * pTrackedDevicePose);
void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec);
char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId);
char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType);
bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)();
void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)();
bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex);
void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)();
};
struct VR_IVRExtendedDisplay_FnTable
{
void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex);
};
struct VR_IVRTrackedCamera_FnTable
{
char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinsics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTextureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureD3D11)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glUInt_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId);
};
struct VR_IVRApplications_FnTable
{
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath);
bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)();
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplicationFromMimeType)(char * pchMimeType, char * pchArgs);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey);
bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey);
char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError);
bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch);
bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetDefaultApplicationForMimeType)(char * pchAppKey, char * pchMimeType);
bool (OPENVR_FNTABLE_CALLTYPE *GetDefaultApplicationForMimeType)(char * pchMimeType, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationSupportedMimeTypes)(char * pchAppKey, char * pchMimeTypesBuffer, uint32_t unMimeTypesBuffer);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationsThatSupportMimeType)(char * pchMimeType, char * pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationLaunchArguments)(uint32_t unHandle, char * pchArgs, uint32_t unArgs);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)();
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey);
char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state);
bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)();
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneProcessId)();
};
struct VR_IVRChaperone_FnTable
{
ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)();
bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ);
bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect);
void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)();
void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color);
void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor);
bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)();
void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce);
};
struct VR_IVRChaperoneSetup_FnTable
{
bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile);
void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)();
bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ);
bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect);
bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose);
void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ);
void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount);
void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose);
void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose);
void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile);
bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount);
bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount);
bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount);
bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength);
bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags);
};
struct VR_IVRCompositor_FnTable
{
void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin);
ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)();
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags);
void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)();
void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)();
bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetFrameTimings)(struct Compositor_FrameTiming * pTiming, uint32_t nFrames);
float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)();
void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes);
void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
struct HmdColor_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentFadeColor)(bool bBackground);
void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn);
float (OPENVR_FNTABLE_CALLTYPE *GetCurrentGridAlpha)();
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount);
void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)();
void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)();
void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)();
void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)();
bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)();
bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)();
void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)();
void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)();
bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)();
void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)();
bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)();
void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride);
void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)();
void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView);
void (OPENVR_FNTABLE_CALLTYPE *ReleaseMirrorTextureD3D11)(void * pD3D11ShaderResourceView);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle);
bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle);
void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
};
struct VR_IVROverlay_FnTable
{
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle);
VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight);
char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float fTexelAspect);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float * pfTexelAspect);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t * punSortOrder);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle);
bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform);
bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults);
bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex);
bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle);
VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)();
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, ETextureType * pAPIType, EColorSpace * pColorSpace, struct VRTextureBounds_t * pTextureBounds);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle);
bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)();
bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId);
void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow);
TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)();
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText);
void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)();
void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform);
void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
};
struct VR_IVRRenderModels_FnTable
{
EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel);
void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel);
EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture);
void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture);
EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D);
EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture);
void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen);
uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen);
bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState);
bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError);
char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error);
};
struct VR_IVRNotifications_FnTable
{
EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId);
EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId);
};
struct VR_IVRSettings_FnTable
{
char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError);
bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError);
bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
};
struct VR_IVRScreenshots_FnTable
{
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFilename, char * pchVRFilename);
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreenshotType * pSupportedTypes, int numTypes);
EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(ScreenshotHandle_t screenshotHandle, EVRScreenshotError * pError);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(ScreenshotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError);
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(ScreenshotHandle_t screenshotHandle, float flProgress);
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFilename);
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilename, char * pchSourceVRFilename);
};
struct VR_IVRResources_FnTable
{
uint32_t (OPENVR_FNTABLE_CALLTYPE *LoadSharedResource)(char * pchResourceName, char * pchBuffer, uint32_t unBufferLen);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetResourceFullPath)(char * pchResourceName, char * pchResourceTypeDirectory, char * pchPathBuffer, uint32_t unBufferLen);
};
#if 0
// Global entry points
S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType );
S_API void VR_ShutdownInternal();
S_API bool VR_IsHmdPresent();
S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError );
S_API bool VR_IsRuntimeInstalled();
S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error );
S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error );
#endif
#endif // __OPENVR_API_FLAT_H__