openvr_capi.h 80 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579
  1. //======= Copyright 1996-2016, Valve Corporation, All rights reserved. ========
  2. //
  3. // Purpose: Header for flatted SteamAPI. Use this for binding to other languages.
  4. // This file is auto-generated, do not edit it.
  5. //
  6. //=============================================================================
  7. #ifndef __OPENVR_API_FLAT_H__
  8. #define __OPENVR_API_FLAT_H__
  9. #if defined( _WIN32 ) || defined( __clang__ )
  10. #pragma once
  11. #endif
  12. #ifdef __cplusplus
  13. #define EXTERN_C extern "C"
  14. #else
  15. #define EXTERN_C
  16. #endif
  17. #define OPENVR_FNTABLE_CALLTYPE __stdcall
  18. // OPENVR API export macro
  19. #if defined( _WIN32 ) && !defined( _X360 )
  20. #if defined( OPENVR_API_EXPORTS )
  21. #define S_API EXTERN_C __declspec( dllexport )
  22. #elif defined( OPENVR_API_NODLL )
  23. #define S_API EXTERN_C
  24. #else
  25. #define S_API extern "C" __declspec( dllimport )
  26. #endif // OPENVR_API_EXPORTS
  27. #elif defined( GNUC )
  28. #if defined( OPENVR_API_EXPORTS )
  29. #define S_API EXTERN_C __attribute__ ((visibility("default")))
  30. #else
  31. #define S_API EXTERN_C
  32. #endif // OPENVR_API_EXPORTS
  33. #else // !WIN32
  34. #if defined( OPENVR_API_EXPORTS )
  35. #define S_API EXTERN_C
  36. #else
  37. #define S_API EXTERN_C
  38. #endif // OPENVR_API_EXPORTS
  39. #endif
  40. #include <stdint.h>
  41. #if defined( __WIN32 )
  42. typedef char bool;
  43. #endif
  44. // OpenVR Constants
  45. static const unsigned int k_unTrackingStringSize = 32;
  46. static const unsigned int k_unMaxDriverDebugResponseSize = 32768;
  47. static const unsigned int k_unTrackedDeviceIndex_Hmd = 0;
  48. static const unsigned int k_unMaxTrackedDeviceCount = 16;
  49. static const unsigned int k_unTrackedDeviceIndexOther = 4294967294;
  50. static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295;
  51. static const unsigned int k_unMaxPropertyStringSize = 32768;
  52. static const unsigned int k_unControllerStateAxisCount = 5;
  53. static const unsigned long k_ulOverlayHandleInvalid = 0;
  54. static const char * IVRSystem_Version = "IVRSystem_012";
  55. static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
  56. static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_002";
  57. static const unsigned int k_unMaxApplicationKeyLength = 128;
  58. static const char * IVRApplications_Version = "IVRApplications_005";
  59. static const char * IVRChaperone_Version = "IVRChaperone_003";
  60. static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
  61. static const char * IVRCompositor_Version = "IVRCompositor_015";
  62. static const unsigned int k_unVROverlayMaxKeyLength = 128;
  63. static const unsigned int k_unVROverlayMaxNameLength = 128;
  64. static const unsigned int k_unMaxOverlayCount = 32;
  65. static const char * IVROverlay_Version = "IVROverlay_012";
  66. static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
  67. static const char * k_pch_Controller_Component_Base = "base";
  68. static const char * k_pch_Controller_Component_Tip = "tip";
  69. static const char * k_pch_Controller_Component_HandGrip = "handgrip";
  70. static const char * k_pch_Controller_Component_Status = "status";
  71. static const char * IVRRenderModels_Version = "IVRRenderModels_005";
  72. static const unsigned int k_unNotificationTextMaxSize = 256;
  73. static const char * IVRNotifications_Version = "IVRNotifications_002";
  74. static const unsigned int k_unMaxSettingsKeyLength = 128;
  75. static const char * IVRSettings_Version = "IVRSettings_001";
  76. static const char * k_pch_SteamVR_Section = "steamvr";
  77. static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd";
  78. static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
  79. static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
  80. static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
  81. static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
  82. static const char * k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion";
  83. static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
  84. static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
  85. static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";
  86. static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel";
  87. static const char * k_pch_SteamVR_IPD_Float = "ipd";
  88. static const char * k_pch_SteamVR_Background_String = "background";
  89. static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
  90. static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
  91. static const char * k_pch_SteamVR_Environment_String = "environment";
  92. static const char * k_pch_SteamVR_GridColor_String = "gridColor";
  93. static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
  94. static const char * k_pch_SteamVR_ShowStage_Bool = "showStage";
  95. static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
  96. static const char * k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit";
  97. static const char * k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout";
  98. static const char * k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout";
  99. static const char * k_pch_SteamVR_DirectMode_Bool = "directMode";
  100. static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
  101. static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
  102. static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
  103. static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";
  104. static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
  105. static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
  106. static const char * k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier";
  107. static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection";
  108. static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
  109. static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
  110. static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
  111. static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
  112. static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
  113. static const char * k_pch_Lighthouse_LighthouseName_String = "lighthousename";
  114. static const char * k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees";
  115. static const char * k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect";
  116. static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
  117. static const char * k_pch_Null_Section = "driver_null";
  118. static const char * k_pch_Null_EnableNullDriver_Bool = "enable";
  119. static const char * k_pch_Null_SerialNumber_String = "serialNumber";
  120. static const char * k_pch_Null_ModelNumber_String = "modelNumber";
  121. static const char * k_pch_Null_WindowX_Int32 = "windowX";
  122. static const char * k_pch_Null_WindowY_Int32 = "windowY";
  123. static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth";
  124. static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight";
  125. static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth";
  126. static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight";
  127. static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";
  128. static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency";
  129. static const char * k_pch_UserInterface_Section = "userinterface";
  130. static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
  131. static const char * k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots";
  132. static const char * k_pch_Notifications_Section = "notifications";
  133. static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
  134. static const char * k_pch_Keyboard_Section = "keyboard";
  135. static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
  136. static const char * k_pch_Keyboard_ScaleX = "ScaleX";
  137. static const char * k_pch_Keyboard_ScaleY = "ScaleY";
  138. static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
  139. static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX";
  140. static const char * k_pch_Keyboard_OffsetY = "OffsetY";
  141. static const char * k_pch_Keyboard_Smoothing = "Smoothing";
  142. static const char * k_pch_Perf_Section = "perfcheck";
  143. static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
  144. static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
  145. static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
  146. static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
  147. static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
  148. static const char * k_pch_Perf_TestData_Float = "perfTestData";
  149. static const char * k_pch_CollisionBounds_Section = "collisionBounds";
  150. static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
  151. static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";
  152. static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";
  153. static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";
  154. static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";
  155. static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";
  156. static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";
  157. static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";
  158. static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";
  159. static const char * k_pch_Camera_Section = "camera";
  160. static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera";
  161. static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";
  162. static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";
  163. static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";
  164. static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";
  165. static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
  166. static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
  167. static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
  168. static const char * k_pch_audio_Section = "audio";
  169. static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
  170. static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice";
  171. static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";
  172. static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
  173. static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice";
  174. static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
  175. static const char * k_pch_modelskin_Section = "modelskins";
  176. // OpenVR Enums
  177. typedef enum EVREye
  178. {
  179. EVREye_Eye_Left = 0,
  180. EVREye_Eye_Right = 1,
  181. } EVREye;
  182. typedef enum EGraphicsAPIConvention
  183. {
  184. EGraphicsAPIConvention_API_DirectX = 0,
  185. EGraphicsAPIConvention_API_OpenGL = 1,
  186. } EGraphicsAPIConvention;
  187. typedef enum EColorSpace
  188. {
  189. EColorSpace_ColorSpace_Auto = 0,
  190. EColorSpace_ColorSpace_Gamma = 1,
  191. EColorSpace_ColorSpace_Linear = 2,
  192. } EColorSpace;
  193. typedef enum ETrackingResult
  194. {
  195. ETrackingResult_TrackingResult_Uninitialized = 1,
  196. ETrackingResult_TrackingResult_Calibrating_InProgress = 100,
  197. ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101,
  198. ETrackingResult_TrackingResult_Running_OK = 200,
  199. ETrackingResult_TrackingResult_Running_OutOfRange = 201,
  200. } ETrackingResult;
  201. typedef enum ETrackedDeviceClass
  202. {
  203. ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0,
  204. ETrackedDeviceClass_TrackedDeviceClass_HMD = 1,
  205. ETrackedDeviceClass_TrackedDeviceClass_Controller = 2,
  206. ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4,
  207. ETrackedDeviceClass_TrackedDeviceClass_Other = 1000,
  208. } ETrackedDeviceClass;
  209. typedef enum ETrackedControllerRole
  210. {
  211. ETrackedControllerRole_TrackedControllerRole_Invalid = 0,
  212. ETrackedControllerRole_TrackedControllerRole_LeftHand = 1,
  213. ETrackedControllerRole_TrackedControllerRole_RightHand = 2,
  214. } ETrackedControllerRole;
  215. typedef enum ETrackingUniverseOrigin
  216. {
  217. ETrackingUniverseOrigin_TrackingUniverseSeated = 0,
  218. ETrackingUniverseOrigin_TrackingUniverseStanding = 1,
  219. ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2,
  220. } ETrackingUniverseOrigin;
  221. typedef enum ETrackedDeviceProperty
  222. {
  223. ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000,
  224. ETrackedDeviceProperty_Prop_ModelNumber_String = 1001,
  225. ETrackedDeviceProperty_Prop_SerialNumber_String = 1002,
  226. ETrackedDeviceProperty_Prop_RenderModelName_String = 1003,
  227. ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004,
  228. ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005,
  229. ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006,
  230. ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007,
  231. ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008,
  232. ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009,
  233. ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010,
  234. ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011,
  235. ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012,
  236. ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013,
  237. ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014,
  238. ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015,
  239. ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016,
  240. ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017,
  241. ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018,
  242. ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019,
  243. ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020,
  244. ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021,
  245. ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022,
  246. ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023,
  247. ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024,
  248. ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025,
  249. ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026,
  250. ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027,
  251. ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028,
  252. ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029,
  253. ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030,
  254. ETrackedDeviceProperty_Prop_DriverVersion_String = 1031,
  255. ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032,
  256. ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000,
  257. ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
  258. ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
  259. ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003,
  260. ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004,
  261. ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005,
  262. ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006,
  263. ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007,
  264. ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008,
  265. ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009,
  266. ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010,
  267. ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011,
  268. ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012,
  269. ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013,
  270. ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014,
  271. ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015,
  272. ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016,
  273. ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017,
  274. ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018,
  275. ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019,
  276. ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020,
  277. ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021,
  278. ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022,
  279. ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023,
  280. ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024,
  281. ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025,
  282. ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026,
  283. ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027,
  284. ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028,
  285. ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029,
  286. ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030,
  287. ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031,
  288. ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032,
  289. ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033,
  290. ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034,
  291. ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035,
  292. ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
  293. ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
  294. ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
  295. ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003,
  296. ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004,
  297. ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005,
  298. ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006,
  299. ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000,
  300. ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001,
  301. ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002,
  302. ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003,
  303. ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004,
  304. ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005,
  305. ETrackedDeviceProperty_Prop_ModeLabel_String = 4006,
  306. ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
  307. ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999,
  308. } ETrackedDeviceProperty;
  309. typedef enum ETrackedPropertyError
  310. {
  311. ETrackedPropertyError_TrackedProp_Success = 0,
  312. ETrackedPropertyError_TrackedProp_WrongDataType = 1,
  313. ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2,
  314. ETrackedPropertyError_TrackedProp_BufferTooSmall = 3,
  315. ETrackedPropertyError_TrackedProp_UnknownProperty = 4,
  316. ETrackedPropertyError_TrackedProp_InvalidDevice = 5,
  317. ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6,
  318. ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7,
  319. ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8,
  320. ETrackedPropertyError_TrackedProp_NotYetAvailable = 9,
  321. } ETrackedPropertyError;
  322. typedef enum EVRSubmitFlags
  323. {
  324. EVRSubmitFlags_Submit_Default = 0,
  325. EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
  326. EVRSubmitFlags_Submit_GlRenderBuffer = 2,
  327. EVRSubmitFlags_Submit_Screenshot = 4,
  328. } EVRSubmitFlags;
  329. typedef enum EVRState
  330. {
  331. EVRState_VRState_Undefined = -1,
  332. EVRState_VRState_Off = 0,
  333. EVRState_VRState_Searching = 1,
  334. EVRState_VRState_Searching_Alert = 2,
  335. EVRState_VRState_Ready = 3,
  336. EVRState_VRState_Ready_Alert = 4,
  337. EVRState_VRState_NotReady = 5,
  338. EVRState_VRState_Standby = 6,
  339. } EVRState;
  340. typedef enum EVREventType
  341. {
  342. EVREventType_VREvent_None = 0,
  343. EVREventType_VREvent_TrackedDeviceActivated = 100,
  344. EVREventType_VREvent_TrackedDeviceDeactivated = 101,
  345. EVREventType_VREvent_TrackedDeviceUpdated = 102,
  346. EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103,
  347. EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104,
  348. EVREventType_VREvent_IpdChanged = 105,
  349. EVREventType_VREvent_EnterStandbyMode = 106,
  350. EVREventType_VREvent_LeaveStandbyMode = 107,
  351. EVREventType_VREvent_TrackedDeviceRoleChanged = 108,
  352. EVREventType_VREvent_ButtonPress = 200,
  353. EVREventType_VREvent_ButtonUnpress = 201,
  354. EVREventType_VREvent_ButtonTouch = 202,
  355. EVREventType_VREvent_ButtonUntouch = 203,
  356. EVREventType_VREvent_MouseMove = 300,
  357. EVREventType_VREvent_MouseButtonDown = 301,
  358. EVREventType_VREvent_MouseButtonUp = 302,
  359. EVREventType_VREvent_FocusEnter = 303,
  360. EVREventType_VREvent_FocusLeave = 304,
  361. EVREventType_VREvent_Scroll = 305,
  362. EVREventType_VREvent_TouchPadMove = 306,
  363. EVREventType_VREvent_InputFocusCaptured = 400,
  364. EVREventType_VREvent_InputFocusReleased = 401,
  365. EVREventType_VREvent_SceneFocusLost = 402,
  366. EVREventType_VREvent_SceneFocusGained = 403,
  367. EVREventType_VREvent_SceneApplicationChanged = 404,
  368. EVREventType_VREvent_SceneFocusChanged = 405,
  369. EVREventType_VREvent_InputFocusChanged = 406,
  370. EVREventType_VREvent_HideRenderModels = 410,
  371. EVREventType_VREvent_ShowRenderModels = 411,
  372. EVREventType_VREvent_OverlayShown = 500,
  373. EVREventType_VREvent_OverlayHidden = 501,
  374. EVREventType_VREvent_DashboardActivated = 502,
  375. EVREventType_VREvent_DashboardDeactivated = 503,
  376. EVREventType_VREvent_DashboardThumbSelected = 504,
  377. EVREventType_VREvent_DashboardRequested = 505,
  378. EVREventType_VREvent_ResetDashboard = 506,
  379. EVREventType_VREvent_RenderToast = 507,
  380. EVREventType_VREvent_ImageLoaded = 508,
  381. EVREventType_VREvent_ShowKeyboard = 509,
  382. EVREventType_VREvent_HideKeyboard = 510,
  383. EVREventType_VREvent_OverlayGamepadFocusGained = 511,
  384. EVREventType_VREvent_OverlayGamepadFocusLost = 512,
  385. EVREventType_VREvent_OverlaySharedTextureChanged = 513,
  386. EVREventType_VREvent_DashboardGuideButtonDown = 514,
  387. EVREventType_VREvent_DashboardGuideButtonUp = 515,
  388. EVREventType_VREvent_ScreenshotTriggered = 516,
  389. EVREventType_VREvent_RequestScreenshot = 520,
  390. EVREventType_VREvent_ScreenshotTaken = 521,
  391. EVREventType_VREvent_ScreenshotFailed = 522,
  392. EVREventType_VREvent_Notification_Shown = 600,
  393. EVREventType_VREvent_Notification_Hidden = 601,
  394. EVREventType_VREvent_Notification_BeginInteraction = 602,
  395. EVREventType_VREvent_Notification_Destroyed = 603,
  396. EVREventType_VREvent_Quit = 700,
  397. EVREventType_VREvent_ProcessQuit = 701,
  398. EVREventType_VREvent_QuitAborted_UserPrompt = 702,
  399. EVREventType_VREvent_QuitAcknowledged = 703,
  400. EVREventType_VREvent_DriverRequestedQuit = 704,
  401. EVREventType_VREvent_ChaperoneDataHasChanged = 800,
  402. EVREventType_VREvent_ChaperoneUniverseHasChanged = 801,
  403. EVREventType_VREvent_ChaperoneTempDataHasChanged = 802,
  404. EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803,
  405. EVREventType_VREvent_SeatedZeroPoseReset = 804,
  406. EVREventType_VREvent_AudioSettingsHaveChanged = 820,
  407. EVREventType_VREvent_BackgroundSettingHasChanged = 850,
  408. EVREventType_VREvent_CameraSettingsHaveChanged = 851,
  409. EVREventType_VREvent_ReprojectionSettingHasChanged = 852,
  410. EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853,
  411. EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854,
  412. EVREventType_VREvent_StatusUpdate = 900,
  413. EVREventType_VREvent_MCImageUpdated = 1000,
  414. EVREventType_VREvent_FirmwareUpdateStarted = 1100,
  415. EVREventType_VREvent_FirmwareUpdateFinished = 1101,
  416. EVREventType_VREvent_KeyboardClosed = 1200,
  417. EVREventType_VREvent_KeyboardCharInput = 1201,
  418. EVREventType_VREvent_KeyboardDone = 1202,
  419. EVREventType_VREvent_ApplicationTransitionStarted = 1300,
  420. EVREventType_VREvent_ApplicationTransitionAborted = 1301,
  421. EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302,
  422. EVREventType_VREvent_ApplicationListUpdated = 1303,
  423. EVREventType_VREvent_Compositor_MirrorWindowShown = 1400,
  424. EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401,
  425. EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410,
  426. EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411,
  427. EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500,
  428. EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501,
  429. EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502,
  430. EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503,
  431. EVREventType_VREvent_PerformanceTest_EnableCapture = 1600,
  432. EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
  433. EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
  434. EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
  435. EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
  436. } EVREventType;
  437. typedef enum EDeviceActivityLevel
  438. {
  439. EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1,
  440. EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0,
  441. EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1,
  442. EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2,
  443. EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3,
  444. } EDeviceActivityLevel;
  445. typedef enum EVRButtonId
  446. {
  447. EVRButtonId_k_EButton_System = 0,
  448. EVRButtonId_k_EButton_ApplicationMenu = 1,
  449. EVRButtonId_k_EButton_Grip = 2,
  450. EVRButtonId_k_EButton_DPad_Left = 3,
  451. EVRButtonId_k_EButton_DPad_Up = 4,
  452. EVRButtonId_k_EButton_DPad_Right = 5,
  453. EVRButtonId_k_EButton_DPad_Down = 6,
  454. EVRButtonId_k_EButton_A = 7,
  455. EVRButtonId_k_EButton_Axis0 = 32,
  456. EVRButtonId_k_EButton_Axis1 = 33,
  457. EVRButtonId_k_EButton_Axis2 = 34,
  458. EVRButtonId_k_EButton_Axis3 = 35,
  459. EVRButtonId_k_EButton_Axis4 = 36,
  460. EVRButtonId_k_EButton_SteamVR_Touchpad = 32,
  461. EVRButtonId_k_EButton_SteamVR_Trigger = 33,
  462. EVRButtonId_k_EButton_Dashboard_Back = 2,
  463. EVRButtonId_k_EButton_Max = 64,
  464. } EVRButtonId;
  465. typedef enum EVRMouseButton
  466. {
  467. EVRMouseButton_VRMouseButton_Left = 1,
  468. EVRMouseButton_VRMouseButton_Right = 2,
  469. EVRMouseButton_VRMouseButton_Middle = 4,
  470. } EVRMouseButton;
  471. typedef enum EVRControllerAxisType
  472. {
  473. EVRControllerAxisType_k_eControllerAxis_None = 0,
  474. EVRControllerAxisType_k_eControllerAxis_TrackPad = 1,
  475. EVRControllerAxisType_k_eControllerAxis_Joystick = 2,
  476. EVRControllerAxisType_k_eControllerAxis_Trigger = 3,
  477. } EVRControllerAxisType;
  478. typedef enum EVRControllerEventOutputType
  479. {
  480. EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0,
  481. EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1,
  482. } EVRControllerEventOutputType;
  483. typedef enum ECollisionBoundsStyle
  484. {
  485. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0,
  486. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1,
  487. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2,
  488. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3,
  489. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4,
  490. ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5,
  491. } ECollisionBoundsStyle;
  492. typedef enum EVROverlayError
  493. {
  494. EVROverlayError_VROverlayError_None = 0,
  495. EVROverlayError_VROverlayError_UnknownOverlay = 10,
  496. EVROverlayError_VROverlayError_InvalidHandle = 11,
  497. EVROverlayError_VROverlayError_PermissionDenied = 12,
  498. EVROverlayError_VROverlayError_OverlayLimitExceeded = 13,
  499. EVROverlayError_VROverlayError_WrongVisibilityType = 14,
  500. EVROverlayError_VROverlayError_KeyTooLong = 15,
  501. EVROverlayError_VROverlayError_NameTooLong = 16,
  502. EVROverlayError_VROverlayError_KeyInUse = 17,
  503. EVROverlayError_VROverlayError_WrongTransformType = 18,
  504. EVROverlayError_VROverlayError_InvalidTrackedDevice = 19,
  505. EVROverlayError_VROverlayError_InvalidParameter = 20,
  506. EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21,
  507. EVROverlayError_VROverlayError_ArrayTooSmall = 22,
  508. EVROverlayError_VROverlayError_RequestFailed = 23,
  509. EVROverlayError_VROverlayError_InvalidTexture = 24,
  510. EVROverlayError_VROverlayError_UnableToLoadFile = 25,
  511. EVROverlayError_VROVerlayError_KeyboardAlreadyInUse = 26,
  512. EVROverlayError_VROverlayError_NoNeighbor = 27,
  513. } EVROverlayError;
  514. typedef enum EVRApplicationType
  515. {
  516. EVRApplicationType_VRApplication_Other = 0,
  517. EVRApplicationType_VRApplication_Scene = 1,
  518. EVRApplicationType_VRApplication_Overlay = 2,
  519. EVRApplicationType_VRApplication_Background = 3,
  520. EVRApplicationType_VRApplication_Utility = 4,
  521. EVRApplicationType_VRApplication_VRMonitor = 5,
  522. } EVRApplicationType;
  523. typedef enum EVRFirmwareError
  524. {
  525. EVRFirmwareError_VRFirmwareError_None = 0,
  526. EVRFirmwareError_VRFirmwareError_Success = 1,
  527. EVRFirmwareError_VRFirmwareError_Fail = 2,
  528. } EVRFirmwareError;
  529. typedef enum EVRNotificationError
  530. {
  531. EVRNotificationError_VRNotificationError_OK = 0,
  532. EVRNotificationError_VRNotificationError_InvalidNotificationId = 100,
  533. EVRNotificationError_VRNotificationError_NotificationQueueFull = 101,
  534. EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102,
  535. EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103,
  536. } EVRNotificationError;
  537. typedef enum EVRInitError
  538. {
  539. EVRInitError_VRInitError_None = 0,
  540. EVRInitError_VRInitError_Unknown = 1,
  541. EVRInitError_VRInitError_Init_InstallationNotFound = 100,
  542. EVRInitError_VRInitError_Init_InstallationCorrupt = 101,
  543. EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102,
  544. EVRInitError_VRInitError_Init_FileNotFound = 103,
  545. EVRInitError_VRInitError_Init_FactoryNotFound = 104,
  546. EVRInitError_VRInitError_Init_InterfaceNotFound = 105,
  547. EVRInitError_VRInitError_Init_InvalidInterface = 106,
  548. EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107,
  549. EVRInitError_VRInitError_Init_HmdNotFound = 108,
  550. EVRInitError_VRInitError_Init_NotInitialized = 109,
  551. EVRInitError_VRInitError_Init_PathRegistryNotFound = 110,
  552. EVRInitError_VRInitError_Init_NoConfigPath = 111,
  553. EVRInitError_VRInitError_Init_NoLogPath = 112,
  554. EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113,
  555. EVRInitError_VRInitError_Init_AppInfoInitFailed = 114,
  556. EVRInitError_VRInitError_Init_Retry = 115,
  557. EVRInitError_VRInitError_Init_InitCanceledByUser = 116,
  558. EVRInitError_VRInitError_Init_AnotherAppLaunching = 117,
  559. EVRInitError_VRInitError_Init_SettingsInitFailed = 118,
  560. EVRInitError_VRInitError_Init_ShuttingDown = 119,
  561. EVRInitError_VRInitError_Init_TooManyObjects = 120,
  562. EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121,
  563. EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122,
  564. EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123,
  565. EVRInitError_VRInitError_Init_Internal = 124,
  566. EVRInitError_VRInitError_Driver_Failed = 200,
  567. EVRInitError_VRInitError_Driver_Unknown = 201,
  568. EVRInitError_VRInitError_Driver_HmdUnknown = 202,
  569. EVRInitError_VRInitError_Driver_NotLoaded = 203,
  570. EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204,
  571. EVRInitError_VRInitError_Driver_HmdInUse = 205,
  572. EVRInitError_VRInitError_Driver_NotCalibrated = 206,
  573. EVRInitError_VRInitError_Driver_CalibrationInvalid = 207,
  574. EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208,
  575. EVRInitError_VRInitError_IPC_ServerInitFailed = 300,
  576. EVRInitError_VRInitError_IPC_ConnectFailed = 301,
  577. EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302,
  578. EVRInitError_VRInitError_IPC_CompositorInitFailed = 303,
  579. EVRInitError_VRInitError_IPC_MutexInitFailed = 304,
  580. EVRInitError_VRInitError_IPC_Failed = 305,
  581. EVRInitError_VRInitError_Compositor_Failed = 400,
  582. EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401,
  583. EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402,
  584. EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
  585. EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
  586. EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
  587. EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103,
  588. EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104,
  589. EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105,
  590. EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106,
  591. EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107,
  592. EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108,
  593. EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109,
  594. EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110,
  595. EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
  596. EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
  597. EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
  598. EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000,
  599. } EVRInitError;
  600. typedef enum EVRScreenshotType
  601. {
  602. EVRScreenshotType_VRScreenshotType_None = 0,
  603. EVRScreenshotType_VRScreenshotType_Mono = 1,
  604. EVRScreenshotType_VRScreenshotType_Stereo = 2,
  605. EVRScreenshotType_VRScreenshotType_Cubemap = 3,
  606. EVRScreenshotType_VRScreenshotType_StereoPanorama = 4,
  607. } EVRScreenshotType;
  608. typedef enum EVRTrackedCameraError
  609. {
  610. EVRTrackedCameraError_VRTrackedCameraError_None = 0,
  611. EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100,
  612. EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101,
  613. EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102,
  614. EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103,
  615. EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104,
  616. EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105,
  617. EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106,
  618. EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107,
  619. EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108,
  620. EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109,
  621. EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110,
  622. EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111,
  623. EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112,
  624. EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113,
  625. EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114,
  626. EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115,
  627. } EVRTrackedCameraError;
  628. typedef enum EVRTrackedCameraFrameType
  629. {
  630. EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0,
  631. EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1,
  632. EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2,
  633. EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3,
  634. } EVRTrackedCameraFrameType;
  635. typedef enum EVRApplicationError
  636. {
  637. EVRApplicationError_VRApplicationError_None = 0,
  638. EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100,
  639. EVRApplicationError_VRApplicationError_NoManifest = 101,
  640. EVRApplicationError_VRApplicationError_NoApplication = 102,
  641. EVRApplicationError_VRApplicationError_InvalidIndex = 103,
  642. EVRApplicationError_VRApplicationError_UnknownApplication = 104,
  643. EVRApplicationError_VRApplicationError_IPCFailed = 105,
  644. EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106,
  645. EVRApplicationError_VRApplicationError_InvalidManifest = 107,
  646. EVRApplicationError_VRApplicationError_InvalidApplication = 108,
  647. EVRApplicationError_VRApplicationError_LaunchFailed = 109,
  648. EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110,
  649. EVRApplicationError_VRApplicationError_LaunchInProgress = 111,
  650. EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
  651. EVRApplicationError_VRApplicationError_TransitionAborted = 113,
  652. EVRApplicationError_VRApplicationError_IsTemplate = 114,
  653. EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
  654. EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
  655. EVRApplicationError_VRApplicationError_UnknownProperty = 202,
  656. EVRApplicationError_VRApplicationError_InvalidParameter = 203,
  657. } EVRApplicationError;
  658. typedef enum EVRApplicationProperty
  659. {
  660. EVRApplicationProperty_VRApplicationProperty_Name_String = 0,
  661. EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11,
  662. EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12,
  663. EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13,
  664. EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14,
  665. EVRApplicationProperty_VRApplicationProperty_URL_String = 15,
  666. EVRApplicationProperty_VRApplicationProperty_Description_String = 50,
  667. EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51,
  668. EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52,
  669. EVRApplicationProperty_VRApplicationProperty_Source_String = 53,
  670. EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60,
  671. EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
  672. EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
  673. EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
  674. } EVRApplicationProperty;
  675. typedef enum EVRApplicationTransitionState
  676. {
  677. EVRApplicationTransitionState_VRApplicationTransition_None = 0,
  678. EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10,
  679. EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11,
  680. EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20,
  681. } EVRApplicationTransitionState;
  682. typedef enum ChaperoneCalibrationState
  683. {
  684. ChaperoneCalibrationState_OK = 1,
  685. ChaperoneCalibrationState_Warning = 100,
  686. ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101,
  687. ChaperoneCalibrationState_Warning_BaseStationRemoved = 102,
  688. ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103,
  689. ChaperoneCalibrationState_Error = 200,
  690. ChaperoneCalibrationState_Error_BaseStationUninitalized = 201,
  691. ChaperoneCalibrationState_Error_BaseStationConflict = 202,
  692. ChaperoneCalibrationState_Error_PlayAreaInvalid = 203,
  693. ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204,
  694. } ChaperoneCalibrationState;
  695. typedef enum EChaperoneConfigFile
  696. {
  697. EChaperoneConfigFile_Live = 1,
  698. EChaperoneConfigFile_Temp = 2,
  699. } EChaperoneConfigFile;
  700. typedef enum EChaperoneImportFlags
  701. {
  702. EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1,
  703. } EChaperoneImportFlags;
  704. typedef enum EVRCompositorError
  705. {
  706. EVRCompositorError_VRCompositorError_None = 0,
  707. EVRCompositorError_VRCompositorError_RequestFailed = 1,
  708. EVRCompositorError_VRCompositorError_IncompatibleVersion = 100,
  709. EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101,
  710. EVRCompositorError_VRCompositorError_InvalidTexture = 102,
  711. EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103,
  712. EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104,
  713. EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105,
  714. EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
  715. EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
  716. EVRCompositorError_VRCompositorError_ScreenshotAlreadyInProgress = 108,
  717. } EVRCompositorError;
  718. typedef enum VROverlayInputMethod
  719. {
  720. VROverlayInputMethod_None = 0,
  721. VROverlayInputMethod_Mouse = 1,
  722. } VROverlayInputMethod;
  723. typedef enum VROverlayTransformType
  724. {
  725. VROverlayTransformType_VROverlayTransform_Absolute = 0,
  726. VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1,
  727. VROverlayTransformType_VROverlayTransform_SystemOverlay = 2,
  728. VROverlayTransformType_VROverlayTransform_TrackedComponent = 3,
  729. } VROverlayTransformType;
  730. typedef enum VROverlayFlags
  731. {
  732. VROverlayFlags_None = 0,
  733. VROverlayFlags_Curved = 1,
  734. VROverlayFlags_RGSS4X = 2,
  735. VROverlayFlags_NoDashboardTab = 3,
  736. VROverlayFlags_AcceptsGamepadEvents = 4,
  737. VROverlayFlags_ShowGamepadFocus = 5,
  738. VROverlayFlags_SendVRScrollEvents = 6,
  739. VROverlayFlags_SendVRTouchpadEvents = 7,
  740. VROverlayFlags_ShowTouchPadScrollWheel = 8,
  741. VROverlayFlags_TransferOwnershipToInternalProcess = 9,
  742. VROverlayFlags_SideBySide_Parallel = 10,
  743. VROverlayFlags_SideBySide_Crossed = 11,
  744. VROverlayFlags_Panorama = 12,
  745. VROverlayFlags_StereoPanorama = 13,
  746. } VROverlayFlags;
  747. typedef enum EGamepadTextInputMode
  748. {
  749. EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0,
  750. EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1,
  751. EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2,
  752. } EGamepadTextInputMode;
  753. typedef enum EGamepadTextInputLineMode
  754. {
  755. EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0,
  756. EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1,
  757. } EGamepadTextInputLineMode;
  758. typedef enum EOverlayDirection
  759. {
  760. EOverlayDirection_OverlayDirection_Up = 0,
  761. EOverlayDirection_OverlayDirection_Down = 1,
  762. EOverlayDirection_OverlayDirection_Left = 2,
  763. EOverlayDirection_OverlayDirection_Right = 3,
  764. EOverlayDirection_OverlayDirection_Count = 4,
  765. } EOverlayDirection;
  766. typedef enum EVRRenderModelError
  767. {
  768. EVRRenderModelError_VRRenderModelError_None = 0,
  769. EVRRenderModelError_VRRenderModelError_Loading = 100,
  770. EVRRenderModelError_VRRenderModelError_NotSupported = 200,
  771. EVRRenderModelError_VRRenderModelError_InvalidArg = 300,
  772. EVRRenderModelError_VRRenderModelError_InvalidModel = 301,
  773. EVRRenderModelError_VRRenderModelError_NoShapes = 302,
  774. EVRRenderModelError_VRRenderModelError_MultipleShapes = 303,
  775. EVRRenderModelError_VRRenderModelError_TooManyVertices = 304,
  776. EVRRenderModelError_VRRenderModelError_MultipleTextures = 305,
  777. EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306,
  778. EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307,
  779. EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308,
  780. EVRRenderModelError_VRRenderModelError_InvalidTexture = 400,
  781. } EVRRenderModelError;
  782. typedef enum EVRComponentProperty
  783. {
  784. EVRComponentProperty_VRComponentProperty_IsStatic = 1,
  785. EVRComponentProperty_VRComponentProperty_IsVisible = 2,
  786. EVRComponentProperty_VRComponentProperty_IsTouched = 4,
  787. EVRComponentProperty_VRComponentProperty_IsPressed = 8,
  788. EVRComponentProperty_VRComponentProperty_IsScrolled = 16,
  789. } EVRComponentProperty;
  790. typedef enum EVRNotificationType
  791. {
  792. EVRNotificationType_Transient = 0,
  793. EVRNotificationType_Persistent = 1,
  794. EVRNotificationType_Transient_SystemWithUserValue = 2,
  795. } EVRNotificationType;
  796. typedef enum EVRNotificationStyle
  797. {
  798. EVRNotificationStyle_None = 0,
  799. EVRNotificationStyle_Application = 100,
  800. EVRNotificationStyle_Contact_Disabled = 200,
  801. EVRNotificationStyle_Contact_Enabled = 201,
  802. EVRNotificationStyle_Contact_Active = 202,
  803. } EVRNotificationStyle;
  804. typedef enum EVRSettingsError
  805. {
  806. EVRSettingsError_VRSettingsError_None = 0,
  807. EVRSettingsError_VRSettingsError_IPCFailed = 1,
  808. EVRSettingsError_VRSettingsError_WriteFailed = 2,
  809. EVRSettingsError_VRSettingsError_ReadFailed = 3,
  810. } EVRSettingsError;
  811. // OpenVR typedefs
  812. typedef uint32_t TrackedDeviceIndex_t;
  813. typedef uint32_t VRNotificationId;
  814. typedef uint64_t VROverlayHandle_t;
  815. typedef void * glSharedTextureHandle_t;
  816. typedef int32_t glInt_t;
  817. typedef uint32_t glUInt_t;
  818. typedef uint32_t TrackedDeviceIndex_t;
  819. typedef uint64_t VROverlayHandle_t;
  820. typedef void * TrackedCameraHandle_t;
  821. typedef uint32_t VRComponentProperties;
  822. typedef int32_t TextureID_t;
  823. typedef uint32_t VRNotificationId;
  824. typedef EVRInitError HmdError;
  825. typedef EVREye Hmd_Eye;
  826. typedef EGraphicsAPIConvention GraphicsAPIConvention;
  827. typedef EColorSpace ColorSpace;
  828. typedef ETrackingResult HmdTrackingResult;
  829. typedef ETrackedDeviceClass TrackedDeviceClass;
  830. typedef ETrackingUniverseOrigin TrackingUniverseOrigin;
  831. typedef ETrackedDeviceProperty TrackedDeviceProperty;
  832. typedef ETrackedPropertyError TrackedPropertyError;
  833. typedef EVRSubmitFlags VRSubmitFlags_t;
  834. typedef EVRState VRState_t;
  835. typedef ECollisionBoundsStyle CollisionBoundsStyle_t;
  836. typedef EVROverlayError VROverlayError;
  837. typedef EVRFirmwareError VRFirmwareError;
  838. typedef EVRCompositorError VRCompositorError;
  839. // OpenVR Structs
  840. typedef struct HmdMatrix34_t
  841. {
  842. float m[3][4]; //float[3][4]
  843. } HmdMatrix34_t;
  844. typedef struct HmdMatrix44_t
  845. {
  846. float m[4][4]; //float[4][4]
  847. } HmdMatrix44_t;
  848. typedef struct HmdVector3_t
  849. {
  850. float v[3]; //float[3]
  851. } HmdVector3_t;
  852. typedef struct HmdVector4_t
  853. {
  854. float v[4]; //float[4]
  855. } HmdVector4_t;
  856. typedef struct HmdVector3d_t
  857. {
  858. double v[3]; //double[3]
  859. } HmdVector3d_t;
  860. typedef struct HmdVector2_t
  861. {
  862. float v[2]; //float[2]
  863. } HmdVector2_t;
  864. typedef struct HmdQuaternion_t
  865. {
  866. double w;
  867. double x;
  868. double y;
  869. double z;
  870. } HmdQuaternion_t;
  871. typedef struct HmdColor_t
  872. {
  873. float r;
  874. float g;
  875. float b;
  876. float a;
  877. } HmdColor_t;
  878. typedef struct HmdQuad_t
  879. {
  880. struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4]
  881. } HmdQuad_t;
  882. typedef struct HmdRect2_t
  883. {
  884. struct HmdVector2_t vTopLeft;
  885. struct HmdVector2_t vBottomRight;
  886. } HmdRect2_t;
  887. typedef struct DistortionCoordinates_t
  888. {
  889. float rfRed[2]; //float[2]
  890. float rfGreen[2]; //float[2]
  891. float rfBlue[2]; //float[2]
  892. } DistortionCoordinates_t;
  893. typedef struct Texture_t
  894. {
  895. void * handle; // void *
  896. enum EGraphicsAPIConvention eType;
  897. enum EColorSpace eColorSpace;
  898. } Texture_t;
  899. typedef struct TrackedDevicePose_t
  900. {
  901. struct HmdMatrix34_t mDeviceToAbsoluteTracking;
  902. struct HmdVector3_t vVelocity;
  903. struct HmdVector3_t vAngularVelocity;
  904. enum ETrackingResult eTrackingResult;
  905. bool bPoseIsValid;
  906. bool bDeviceIsConnected;
  907. } TrackedDevicePose_t;
  908. typedef struct VRTextureBounds_t
  909. {
  910. float uMin;
  911. float vMin;
  912. float uMax;
  913. float vMax;
  914. } VRTextureBounds_t;
  915. typedef struct VREvent_Controller_t
  916. {
  917. uint32_t button;
  918. } VREvent_Controller_t;
  919. typedef struct VREvent_Mouse_t
  920. {
  921. float x;
  922. float y;
  923. uint32_t button;
  924. } VREvent_Mouse_t;
  925. typedef struct VREvent_Scroll_t
  926. {
  927. float xdelta;
  928. float ydelta;
  929. uint32_t repeatCount;
  930. } VREvent_Scroll_t;
  931. typedef struct VREvent_TouchPadMove_t
  932. {
  933. bool bFingerDown;
  934. float flSecondsFingerDown;
  935. float fValueXFirst;
  936. float fValueYFirst;
  937. float fValueXRaw;
  938. float fValueYRaw;
  939. } VREvent_TouchPadMove_t;
  940. typedef struct VREvent_Notification_t
  941. {
  942. uint64_t ulUserValue;
  943. uint32_t notificationId;
  944. } VREvent_Notification_t;
  945. typedef struct VREvent_Process_t
  946. {
  947. uint32_t pid;
  948. uint32_t oldPid;
  949. bool bForced;
  950. } VREvent_Process_t;
  951. typedef struct VREvent_Overlay_t
  952. {
  953. uint64_t overlayHandle;
  954. } VREvent_Overlay_t;
  955. typedef struct VREvent_Status_t
  956. {
  957. uint32_t statusState;
  958. } VREvent_Status_t;
  959. typedef struct VREvent_Keyboard_t
  960. {
  961. char * cNewInput[8]; //char[8]
  962. uint64_t uUserValue;
  963. } VREvent_Keyboard_t;
  964. typedef struct VREvent_Ipd_t
  965. {
  966. float ipdMeters;
  967. } VREvent_Ipd_t;
  968. typedef struct VREvent_Chaperone_t
  969. {
  970. uint64_t m_nPreviousUniverse;
  971. uint64_t m_nCurrentUniverse;
  972. } VREvent_Chaperone_t;
  973. typedef struct VREvent_Reserved_t
  974. {
  975. uint64_t reserved0;
  976. uint64_t reserved1;
  977. } VREvent_Reserved_t;
  978. typedef struct VREvent_PerformanceTest_t
  979. {
  980. uint32_t m_nFidelityLevel;
  981. } VREvent_PerformanceTest_t;
  982. typedef struct VREvent_SeatedZeroPoseReset_t
  983. {
  984. bool bResetBySystemMenu;
  985. } VREvent_SeatedZeroPoseReset_t;
  986. typedef struct HiddenAreaMesh_t
  987. {
  988. struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t *
  989. uint32_t unTriangleCount;
  990. } HiddenAreaMesh_t;
  991. typedef struct VRControllerAxis_t
  992. {
  993. float x;
  994. float y;
  995. } VRControllerAxis_t;
  996. typedef struct VRControllerState_t
  997. {
  998. uint32_t unPacketNum;
  999. uint64_t ulButtonPressed;
  1000. uint64_t ulButtonTouched;
  1001. struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5]
  1002. } VRControllerState_t;
  1003. typedef struct Compositor_OverlaySettings
  1004. {
  1005. uint32_t size;
  1006. bool curved;
  1007. bool antialias;
  1008. float scale;
  1009. float distance;
  1010. float alpha;
  1011. float uOffset;
  1012. float vOffset;
  1013. float uScale;
  1014. float vScale;
  1015. float gridDivs;
  1016. float gridWidth;
  1017. float gridScale;
  1018. struct HmdMatrix44_t transform;
  1019. } Compositor_OverlaySettings;
  1020. typedef struct CameraVideoStreamFrameHeader_t
  1021. {
  1022. enum EVRTrackedCameraFrameType eFrameType;
  1023. uint32_t nWidth;
  1024. uint32_t nHeight;
  1025. uint32_t nBytesPerPixel;
  1026. uint32_t nFrameSequence;
  1027. struct TrackedDevicePose_t standingTrackedDevicePose;
  1028. } CameraVideoStreamFrameHeader_t;
  1029. typedef struct AppOverrideKeys_t
  1030. {
  1031. char * pchKey; // const char *
  1032. char * pchValue; // const char *
  1033. } AppOverrideKeys_t;
  1034. typedef struct Compositor_FrameTiming
  1035. {
  1036. uint32_t m_nSize;
  1037. uint32_t m_nFrameIndex;
  1038. uint32_t m_nNumFramePresents;
  1039. uint32_t m_nNumDroppedFrames;
  1040. double m_flSystemTimeInSeconds;
  1041. float m_flSceneRenderGpuMs;
  1042. float m_flTotalRenderGpuMs;
  1043. float m_flCompositorRenderGpuMs;
  1044. float m_flCompositorRenderCpuMs;
  1045. float m_flCompositorIdleCpuMs;
  1046. float m_flClientFrameIntervalMs;
  1047. float m_flPresentCallCpuMs;
  1048. float m_flWaitForPresentCpuMs;
  1049. float m_flSubmitFrameMs;
  1050. float m_flWaitGetPosesCalledMs;
  1051. float m_flNewPosesReadyMs;
  1052. float m_flNewFrameReadyMs;
  1053. float m_flCompositorUpdateStartMs;
  1054. float m_flCompositorUpdateEndMs;
  1055. float m_flCompositorRenderStartMs;
  1056. TrackedDevicePose_t m_HmdPose;
  1057. int32_t m_nFidelityLevel;
  1058. uint32_t m_nReprojectionFlags;
  1059. } Compositor_FrameTiming;
  1060. typedef struct Compositor_CumulativeStats
  1061. {
  1062. uint32_t m_nPid;
  1063. uint32_t m_nNumFramePresents;
  1064. uint32_t m_nNumDroppedFrames;
  1065. uint32_t m_nNumReprojectedFrames;
  1066. uint32_t m_nNumFramePresentsOnStartup;
  1067. uint32_t m_nNumDroppedFramesOnStartup;
  1068. uint32_t m_nNumReprojectedFramesOnStartup;
  1069. uint32_t m_nNumLoading;
  1070. uint32_t m_nNumFramePresentsLoading;
  1071. uint32_t m_nNumDroppedFramesLoading;
  1072. uint32_t m_nNumReprojectedFramesLoading;
  1073. uint32_t m_nNumTimedOut;
  1074. uint32_t m_nNumFramePresentsTimedOut;
  1075. uint32_t m_nNumDroppedFramesTimedOut;
  1076. uint32_t m_nNumReprojectedFramesTimedOut;
  1077. } Compositor_CumulativeStats;
  1078. typedef struct VROverlayIntersectionParams_t
  1079. {
  1080. struct HmdVector3_t vSource;
  1081. struct HmdVector3_t vDirection;
  1082. enum ETrackingUniverseOrigin eOrigin;
  1083. } VROverlayIntersectionParams_t;
  1084. typedef struct VROverlayIntersectionResults_t
  1085. {
  1086. struct HmdVector3_t vPoint;
  1087. struct HmdVector3_t vNormal;
  1088. struct HmdVector2_t vUVs;
  1089. float fDistance;
  1090. } VROverlayIntersectionResults_t;
  1091. typedef struct RenderModel_ComponentState_t
  1092. {
  1093. struct HmdMatrix34_t mTrackingToComponentRenderModel;
  1094. struct HmdMatrix34_t mTrackingToComponentLocal;
  1095. VRComponentProperties uProperties;
  1096. } RenderModel_ComponentState_t;
  1097. typedef struct RenderModel_Vertex_t
  1098. {
  1099. struct HmdVector3_t vPosition;
  1100. struct HmdVector3_t vNormal;
  1101. float rfTextureCoord[2]; //float[2]
  1102. } RenderModel_Vertex_t;
  1103. typedef struct RenderModel_TextureMap_t
  1104. {
  1105. uint16_t unWidth;
  1106. uint16_t unHeight;
  1107. uint8_t * rubTextureMapData; // const uint8_t *
  1108. } RenderModel_TextureMap_t;
  1109. typedef struct RenderModel_t
  1110. {
  1111. struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t *
  1112. uint32_t unVertexCount;
  1113. uint16_t * rIndexData; // const uint16_t *
  1114. uint32_t unTriangleCount;
  1115. TextureID_t diffuseTextureId;
  1116. } RenderModel_t;
  1117. typedef struct RenderModel_ControllerMode_State_t
  1118. {
  1119. bool bScrollWheelVisible;
  1120. } RenderModel_ControllerMode_State_t;
  1121. typedef struct NotificationBitmap_t
  1122. {
  1123. void * m_pImageData; // void *
  1124. int32_t m_nWidth;
  1125. int32_t m_nHeight;
  1126. int32_t m_nBytesPerPixel;
  1127. } NotificationBitmap_t;
  1128. typedef struct COpenVRContext
  1129. {
  1130. intptr_t m_pVRSystem; // class vr::IVRSystem *
  1131. intptr_t m_pVRChaperone; // class vr::IVRChaperone *
  1132. intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
  1133. intptr_t m_pVRCompositor; // class vr::IVRCompositor *
  1134. intptr_t m_pVROverlay; // class vr::IVROverlay *
  1135. intptr_t m_pVRRenderModels; // class vr::IVRRenderModels *
  1136. intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
  1137. intptr_t m_pVRSettings; // class vr::IVRSettings *
  1138. intptr_t m_pVRApplications; // class vr::IVRApplications *
  1139. intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera *
  1140. } COpenVRContext;
  1141. typedef union
  1142. {
  1143. VREvent_Reserved_t reserved;
  1144. VREvent_Controller_t controller;
  1145. VREvent_Mouse_t mouse;
  1146. VREvent_Scroll_t scroll;
  1147. VREvent_Process_t process;
  1148. VREvent_Notification_t notification;
  1149. VREvent_Overlay_t overlay;
  1150. VREvent_Status_t status;
  1151. VREvent_Keyboard_t keyboard;
  1152. VREvent_Ipd_t ipd;
  1153. VREvent_Chaperone_t chaperone;
  1154. VREvent_PerformanceTest_t performanceTest;
  1155. VREvent_TouchPadMove_t touchPadMove;
  1156. VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
  1157. } VREvent_Data_t;
  1158. /** An event posted by the server to all running applications */
  1159. struct VREvent_t
  1160. {
  1161. uint32_t eventType; // EVREventType enum
  1162. TrackedDeviceIndex_t trackedDeviceIndex;
  1163. float eventAgeSeconds;
  1164. // event data must be the end of the struct as its size is variable
  1165. VREvent_Data_t data;
  1166. };
  1167. // OpenVR Function Pointer Tables
  1168. struct VR_IVRSystem_FnTable
  1169. {
  1170. void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight);
  1171. struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType);
  1172. void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom);
  1173. struct DistortionCoordinates_t (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV);
  1174. struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye);
  1175. bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
  1176. int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
  1177. void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
  1178. bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
  1179. bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
  1180. void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
  1181. void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)();
  1182. struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)();
  1183. struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)();
  1184. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex);
  1185. EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId);
  1186. void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform);
  1187. TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType);
  1188. ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex);
  1189. ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex);
  1190. bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex);
  1191. bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
  1192. float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
  1193. int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
  1194. uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
  1195. struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
  1196. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError);
  1197. char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error);
  1198. bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent);
  1199. bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose);
  1200. char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType);
  1201. struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye);
  1202. bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState);
  1203. bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, struct TrackedDevicePose_t * pTrackedDevicePose);
  1204. void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec);
  1205. char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId);
  1206. char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType);
  1207. bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)();
  1208. void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)();
  1209. bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)();
  1210. uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
  1211. EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex);
  1212. void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
  1213. void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)();
  1214. };
  1215. struct VR_IVRExtendedDisplay_FnTable
  1216. {
  1217. void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
  1218. void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
  1219. void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex);
  1220. };
  1221. struct VR_IVRTrackedCamera_FnTable
  1222. {
  1223. char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError);
  1224. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera);
  1225. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize);
  1226. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinisics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter);
  1227. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection);
  1228. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle);
  1229. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera);
  1230. EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
  1231. };
  1232. struct VR_IVRApplications_FnTable
  1233. {
  1234. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary);
  1235. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath);
  1236. bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey);
  1237. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)();
  1238. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
  1239. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
  1240. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey);
  1241. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys);
  1242. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey);
  1243. bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey);
  1244. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey);
  1245. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey);
  1246. char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error);
  1247. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError);
  1248. bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
  1249. uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
  1250. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch);
  1251. bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey);
  1252. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
  1253. EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)();
  1254. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey);
  1255. char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state);
  1256. bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)();
  1257. EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory);
  1258. };
  1259. struct VR_IVRChaperone_FnTable
  1260. {
  1261. ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)();
  1262. bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ);
  1263. bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect);
  1264. void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)();
  1265. void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color);
  1266. void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor);
  1267. bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)();
  1268. void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce);
  1269. };
  1270. struct VR_IVRChaperoneSetup_FnTable
  1271. {
  1272. bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile);
  1273. void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)();
  1274. bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ);
  1275. bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect);
  1276. bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
  1277. bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
  1278. bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
  1279. bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose);
  1280. void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ);
  1281. void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount);
  1282. void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose);
  1283. void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose);
  1284. void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile);
  1285. bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
  1286. void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount);
  1287. bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount);
  1288. bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount);
  1289. bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount);
  1290. bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength);
  1291. bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags);
  1292. };
  1293. struct VR_IVRCompositor_FnTable
  1294. {
  1295. void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin);
  1296. ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)();
  1297. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
  1298. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
  1299. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose);
  1300. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags);
  1301. void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)();
  1302. void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)();
  1303. bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo);
  1304. float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)();
  1305. void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes);
  1306. void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
  1307. void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn);
  1308. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount);
  1309. void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)();
  1310. void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)();
  1311. void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)();
  1312. void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)();
  1313. bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)();
  1314. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)();
  1315. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)();
  1316. bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)();
  1317. void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)();
  1318. void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)();
  1319. bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)();
  1320. void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)();
  1321. bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)();
  1322. void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride);
  1323. void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)();
  1324. void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend);
  1325. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(EVRScreenshotType type, char * pchDestinationFileName, char * pchVRDestinationFileName);
  1326. EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetCurrentScreenshotType)();
  1327. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView);
  1328. EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle);
  1329. bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle);
  1330. void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
  1331. void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
  1332. };
  1333. struct VR_IVROverlay_FnTable
  1334. {
  1335. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle);
  1336. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle);
  1337. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle);
  1338. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle);
  1339. VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)();
  1340. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
  1341. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
  1342. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight);
  1343. char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error);
  1344. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID);
  1345. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle);
  1346. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled);
  1347. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled);
  1348. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue);
  1349. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue);
  1350. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha);
  1351. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha);
  1352. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters);
  1353. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters);
  1354. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
  1355. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters);
  1356. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace);
  1357. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace);
  1358. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
  1359. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
  1360. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType);
  1361. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
  1362. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
  1363. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
  1364. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
  1365. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName);
  1366. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize);
  1367. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle);
  1368. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle);
  1369. bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle);
  1370. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform);
  1371. bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent);
  1372. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod);
  1373. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod);
  1374. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
  1375. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
  1376. bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults);
  1377. bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex);
  1378. bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle);
  1379. VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)();
  1380. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay);
  1381. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo);
  1382. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom);
  1383. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture);
  1384. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle);
  1385. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth);
  1386. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath);
  1387. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, EGraphicsAPIConvention * pAPI, EColorSpace * pColorSpace);
  1388. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle);
  1389. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight);
  1390. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle);
  1391. bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)();
  1392. bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle);
  1393. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId);
  1394. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId);
  1395. void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow);
  1396. TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)();
  1397. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue);
  1398. EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue);
  1399. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText);
  1400. void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)();
  1401. void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform);
  1402. void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect);
  1403. };
  1404. struct VR_IVRRenderModels_FnTable
  1405. {
  1406. EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel);
  1407. void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel);
  1408. EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture);
  1409. void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture);
  1410. EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D);
  1411. EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture);
  1412. void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D);
  1413. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen);
  1414. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)();
  1415. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName);
  1416. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen);
  1417. uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName);
  1418. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen);
  1419. bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState);
  1420. bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName);
  1421. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError);
  1422. uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError);
  1423. char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error);
  1424. };
  1425. struct VR_IVRNotifications_FnTable
  1426. {
  1427. EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId);
  1428. EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId);
  1429. };
  1430. struct VR_IVRSettings_FnTable
  1431. {
  1432. char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError);
  1433. bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError);
  1434. bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, bool bDefaultValue, EVRSettingsError * peError);
  1435. void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError);
  1436. int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, int32_t nDefaultValue, EVRSettingsError * peError);
  1437. void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError);
  1438. float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, float flDefaultValue, EVRSettingsError * peError);
  1439. void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError);
  1440. void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, char * pchDefaultValue, EVRSettingsError * peError);
  1441. void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError);
  1442. void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError);
  1443. void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
  1444. };
  1445. #if 0
  1446. // Global entry points
  1447. S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType );
  1448. S_API void VR_ShutdownInternal();
  1449. S_API bool VR_IsHmdPresent();
  1450. S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError );
  1451. S_API bool VR_IsRuntimeInstalled();
  1452. S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error );
  1453. S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error );
  1454. #endif
  1455. #endif // __OPENVR_API_FLAT_H__