diff --git a/ovr-utils/addons/godot-openvr/bin/osx/.gitignore b/ovr-utils/addons/godot-openvr/bin/osx/.gitignore deleted file mode 100644 index 85d61cd..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -!*.* -.DS_Store diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR deleted file mode 120000 index 6eef4e3..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OpenVR \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h deleted file mode 100644 index f945dbc..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h +++ /dev/null @@ -1,3777 +0,0 @@ -#pragma once - -// openvr.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_API -#define _OPENVR_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -// Forward declarations to avoid requiring vulkan.h -struct VkDevice_T; -struct VkPhysicalDevice_T; -struct VkInstance_T; -struct VkQueue_T; - -// Forward declarations to avoid requiring d3d12.h -struct ID3D12Resource; -struct ID3D12CommandQueue; - -namespace vr -{ -#pragma pack( push, 8 ) - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum ETextureType -{ - TextureType_DirectX = 0, // Handle is an ID3D11Texture - TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags - TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure - TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef - TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // See ETextureType definition above - ETextureType eType; - EColorSpace eColorSpace; -}; - -// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). -typedef uint64_t SharedTextureHandle_t; -#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -typedef uint32_t DriverId_t; -static const uint32_t k_nDriverNone = 0xFFFFFFFF; - -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. -}; - -// Refers to a single container of properties -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; - -static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; -static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; - -// Use these tags to set/get common types as struct properties -static const PropertyTypeTag_t k_unFloatPropertyTag = 1; -static const PropertyTypeTag_t k_unInt32PropertyTag = 2; -static const PropertyTypeTag_t k_unUint64PropertyTag = 3; -static const PropertyTypeTag_t k_unBoolPropertyTag = 4; -static const PropertyTypeTag_t k_unStringPropertyTag = 5; - -static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; -static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; -static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; -static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; - -static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; - -static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; -static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Properties that are used for user interface like icons names - Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. - Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - - // Properties that are used by helpers, but are opaque to applications - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - - // Properties that are unique to drivers - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - -/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ -struct VRTextureWithPose_t : public Texture_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. -}; - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, - - // Do not use - Submit_Reserved = 0x04, - - // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. - Submit_TextureWithPose = 0x08, -}; - -/** Data required for passing Vulkan textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct VRVulkanTextureData_t -{ - uint64_t m_nImage; // VkImage - VkDevice_T *m_pDevice; - VkPhysicalDevice_T *m_pPhysicalDevice; - VkInstance_T *m_pInstance; - VkQueue_T *m_pQueue; - uint32_t m_nQueueFamilyIndex; - uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; -}; - -/** Data required for passing D3D12 textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct D3D12TextureData_t -{ - ID3D12Resource *m_pResource; - ID3D12CommandQueue *m_pCommandQueue; - uint32_t m_nNodeMask; -}; - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, - VRState_Ready_Alert_Low = 7, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - VREvent_OverlayFocusChanged = 307, // data is overlay, global event - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - VREvent_DashboardOverlayCreated = 518, - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_PrimaryDashboardDeviceChanged = 525, - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -// UserInteraction_Timeout means the device is in the process of timing out. -// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) -// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. -// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds - k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds - k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_ProximitySensor = 31, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -struct VREvent_ScreenshotProgress_t -{ - float progress; -}; - -struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -}; - -struct VREvent_EditingCameraSurface_t -{ - uint64_t overlayHandle; - uint32_t nVisualMode; -}; - -struct VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum -}; - -struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - ETrackedDeviceProperty prop; -}; - -/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; - VREvent_ScreenshotProgress_t screenshotProgress; - VREvent_ApplicationLaunch_t applicationLaunch; - VREvent_EditingCameraSurface_t cameraSurface; - VREvent_MessageOverlay_t messageOverlay; - VREvent_Property_t property; -} VREvent_Data_t; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - - k_eHiddenAreaMesh_Max = 3, -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROverlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, - VROverlayError_TooManyMaskPrimitives = 29, - VROverlayError_BadMaskPrimitive = 30, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor - VRApplication_SteamWatchdog = 6,// Reserved for Steam - VRApplication_Bootstrapper = 7, // Start up SteamVR - - VRApplication_Max -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - VRInitError_Init_HmdDriverIdIsNone = 125, - VRInitError_Init_HmdNotFoundPresenceFailed = 126, - VRInitError_Init_VRMonitorNotFound = 127, - VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, - VRInitError_Init_InvalidApplicationType = 130, - VRInitError_Init_NotAvailableToWatchdogApps = 131, - VRInitError_Init_WatchdogDisabledInSettings = 132, - VRInitError_Init_VRDashboardNotFound = 133, - VRInitError_Init_VRDashboardStartupFailed = 134, - VRInitError_Init_VRHomeNotFound = 135, - VRInitError_Init_VRHomeStartupFailed = 136, - VRInitError_Init_RebootingBusy = 137, - VRInitError_Init_FirmwareUpdateBusy = 138, - VRInitError_Init_FirmwareRecoveryBusy = 139, - - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons - VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - VRInitError_Driver_HmdDisplayMirrored = 212, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - VRInitError_IPC_CompositorConnectFailed = 306, - VRInitError_IPC_CompositorInvalidConnectResponse = 307, - VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - VRInitError_Compositor_UnableToCreateDevice = 405, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// ivrsystem.h -namespace vr -{ - -class IVRSystem -{ -public: - - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The projection matrix for the specified eye */ - virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. - * Returns true for success. Otherwise, returns false, and distortion coordinates are not suitable. */ - virtual bool ComputeDistortion( EVREye eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates ) = 0; - - /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head - * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. - * Normally View and Eye^-1 will be multiplied together and treated as View in your application. - */ - virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; - - /** Returns the number of elapsed seconds since the last recorded vsync event. This - * will come from a vsync timer event in the timer if possible or from the application-reported - * time if that is not available. If no vsync times are available the function will - * return zero for vsync time and frame counter and return false from the method. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - - /** [D3D9 Only] - * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such - * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. - */ - virtual int32_t GetD3D9AdapterIndex() = 0; - - /** [D3D10/11 Only] - * Returns the adapter index that the user should pass into EnumAdapters to create the device - * and swap chain in DX10 and DX11. If an error occurs the index will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; - - /** - * Returns platform- and texture-type specific adapter identification so that applications and the - * compositor are creating textures and swap chains on the same GPU. If an error occurs the device - * will be set to 0. - * pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan. - * [D3D10/11/12 Only (D3D9 Not Supported)] - * Returns the adapter LUID that identifies the GPU attached to the HMD. The user should - * enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find - * the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid. - * The discovered IDXGIAdapter should be used to create the device and swap chain. - * [Vulkan Only] - * Returns the VkPhysicalDevice that should be used by the application. - * pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application - * must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled. - * [macOS Only] - * Returns an id that should be used by the application. - */ - virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0; - - // ------------------------------------ - // Display Mode methods - // ------------------------------------ - - /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ - virtual bool IsDisplayOnDesktop() = 0; - - /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ - virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - - /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the - * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should - * calculate the time until the photons will be emitted from the display and pass that time into the method. - * - * This is roughly analogous to the inverse of the view matrix in most applications, though - * many games will need to do some additional rotation or translation on top of the rotation - * and translation provided by the head pose. - * - * For devices where bPoseIsValid is true the application can use the pose to position the device - * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. - * - * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative - * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding - * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should - * probably not be used unless the application is the Chaperone calibration tool itself, but will provide - * poses relative to the hardware-specific coordinate system in the driver. - */ - virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After - * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin - * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis - * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to - * ResetSeatedZeroPose may not be exactly an identity matrix. - * - * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. - * Users are also able to set their seated zero pose via the OpenVR Dashboard. - **/ - virtual void ResetSeatedZeroPose() = 0; - - /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows - * applications to represent the seated origin to used or transform object positions from one coordinate - * system to the other. - * - * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position - * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ - virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows - * applications to convert from raw tracking space to the calibrated standing coordinate system. */ - virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left - * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices - * in the list, or the size of the array needed if not large enough. */ - virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; - - /** Returns the level of activity on the device. */ - virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; - - /** Convenience utility to apply the specified transform to the specified pose. - * This properly transforms all pose components, including velocity and angular velocity - */ - virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; - - /** Returns the device index associated with a specific role, for example the left hand or the right hand. */ - virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; - - /** Returns the controller type associated with a device index. */ - virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Property methods - // ------------------------------------ - - /** Returns the device class of a tracked device. If there has not been a device connected in this slot - * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. - * - * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an - * actual tracked device. */ - virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns true if there is a device connected in this slot. */ - virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ - virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - // ------------------------------------ - // Event methods - // ------------------------------------ - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. - * This pose will always be older than the call to this function and should not be used to render the device. - uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** returns the name of an EVREvent enum value */ - virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; - - // ------------------------------------ - // Rendering helper methods - // ------------------------------------ - - /** Returns the hidden area mesh for the current HMD. The pixels covered by this mesh will never be seen by the user after the lens distortion is - * applied based on visibility to the panels. If this HMD does not have a hidden area mesh, the vertex data and count will be NULL and 0 respectively. - * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. - * This will improve performance by letting the GPU early-reject pixels the user will never see before running the pixel shader. - * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. - * Setting the bInverse argument to true will produce the visible area mesh that is commonly used in place of full-screen quads. The visible area mesh covers all of the pixels the hidden area mesh does not cover. - * Setting the bLineLoop argument will return a line loop of vertices in HiddenAreaMesh_t->pVertexData with HiddenAreaMesh_t->unTriangleCount set to the number of vertices. - */ - virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye, EHiddenAreaMeshType type = k_eHiddenAreaMesh_Standard ) = 0; - - // ------------------------------------ - // Controller methods - // ------------------------------------ - - /** Fills the supplied struct with the current state of the controller. Returns false if the controller index - * is invalid. */ - virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize ) = 0; - - /** fills the supplied struct with the current state of the controller and the provided pose with the pose of - * the controller when the controller state was updated most recently. Use this form if you need a precise controller - * pose as input to your application when the user presses or releases a button. */ - virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller - * and axis combination for 5ms. */ - virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; - - /** returns the name of an EVRButtonId enum value */ - virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; - - /** returns the name of an EVRControllerAxisType enum value */ - virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; - - /** Tells OpenVR that this process wants exclusive access to controller button states and button events. Other apps will be notified that - * they have lost input focus with a VREvent_InputFocusCaptured event. Returns false if input focus could not be captured for - * some reason. */ - virtual bool CaptureInputFocus() = 0; - - /** Tells OpenVR that this process no longer wants exclusive access to button states and button events. Other apps will be notified - * that input focus has been released with a VREvent_InputFocusReleased event. */ - virtual void ReleaseInputFocus() = 0; - - /** Returns true if input focus is captured by another process. */ - virtual bool IsInputFocusCapturedByAnotherProcess() = 0; - - // ------------------------------------ - // Debug Methods - // ------------------------------------ - - /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, - * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. - * The size of the response including its terminating null is returned. */ - virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - // ------------------------------------ - // Firmware methods - // ------------------------------------ - - /** Performs the actual firmware update if applicable. - * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished - * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String - * to figure our whether a firmware update is available, and to figure out whether its a manual update - * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ - virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Application life cycle methods - // ------------------------------------ - - /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. - * This extends the timeout until the process is killed. */ - virtual void AcknowledgeQuit_Exiting() = 0; - - /** Call this to tell the system that the user is being prompted to save data. This - * halts the timeout and dismisses the dashboard (if it was up). Applications should be sure to actually - * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ - virtual void AcknowledgeQuit_UserPrompt() = 0; - -}; - -static const char * const IVRSystem_Version = "IVRSystem_017"; - -} - - -// ivrapplications.h -namespace vr -{ - - /** Used for all errors reported by the IVRApplications interface */ - enum EVRApplicationError - { - VRApplicationError_None = 0, - - VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key - VRApplicationError_NoManifest = 101, // the running application does not have a manifest - VRApplicationError_NoApplication = 102, // No application is running - VRApplicationError_InvalidIndex = 103, - VRApplicationError_UnknownApplication = 104, // the application could not be found - VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail - VRApplicationError_ApplicationAlreadyRunning = 106, - VRApplicationError_InvalidManifest = 107, - VRApplicationError_InvalidApplication = 108, - VRApplicationError_LaunchFailed = 109, // the process didn't start - VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application - VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application - VRApplicationError_OldApplicationQuitting = 112, - VRApplicationError_TransitionAborted = 113, - VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) - VRApplicationError_SteamVRIsExiting = 115, - - VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data - VRApplicationError_PropertyNotSet = 201, // The requested property was not set - VRApplicationError_UnknownProperty = 202, - VRApplicationError_InvalidParameter = 203, - }; - - /** The maximum length of an application key */ - static const uint32_t k_unMaxApplicationKeyLength = 128; - - /** these are the properties available on applications. */ - enum EVRApplicationProperty - { - VRApplicationProperty_Name_String = 0, - - VRApplicationProperty_LaunchType_String = 11, - VRApplicationProperty_WorkingDirectory_String = 12, - VRApplicationProperty_BinaryPath_String = 13, - VRApplicationProperty_Arguments_String = 14, - VRApplicationProperty_URL_String = 15, - - VRApplicationProperty_Description_String = 50, - VRApplicationProperty_NewsURL_String = 51, - VRApplicationProperty_ImagePath_String = 52, - VRApplicationProperty_Source_String = 53, - - VRApplicationProperty_IsDashboardOverlay_Bool = 60, - VRApplicationProperty_IsTemplate_Bool = 61, - VRApplicationProperty_IsInstanced_Bool = 62, - VRApplicationProperty_IsInternal_Bool = 63, - VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, - - VRApplicationProperty_LastLaunchTime_Uint64 = 70, - }; - - /** These are states the scene application startup process will go through. */ - enum EVRApplicationTransitionState - { - VRApplicationTransition_None = 0, - - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - - VRApplicationTransition_NewAppLaunched = 20, - }; - - struct AppOverrideKeys_t - { - const char *pchKey; - const char *pchValue; - }; - - /** Currently recognized mime types */ - static const char * const k_pch_MimeType_HomeApp = "vr/home"; - static const char * const k_pch_MimeType_GameTheater = "vr/game_theater"; - - class IVRApplications - { - public: - - // --------------- Application management --------------- // - - /** Adds an application manifest to the list to load when building the list of installed applications. - * Temporary manifests are not automatically loaded */ - virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; - - /** Removes an application manifest from the list to load when building the list of installed applications. */ - virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; - - /** Returns true if an application is installed */ - virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; - - /** Returns the number of applications available in the list */ - virtual uint32_t GetApplicationCount() = 0; - - /** Returns the key of the specified application. The index is at least 0 and is less than the return - * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to - * fit the key. */ - virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the key of the application for the specified Process Id. The buffer should be at least - * k_unMaxApplicationKeyLength in order to fit the key. */ - virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Launches the application. The existing scene application will exit and then the new application will start. - * This call is not valid for dashboard overlay applications. */ - virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; - - /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections - * from the manifest file via AppOverrideKeys_t - */ - virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; - - /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ - virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; - - /** Launches the dashboard overlay application if it is not already running. This call is only valid for - * dashboard overlay applications. */ - virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; - - /** Cancel a pending launch for an application */ - virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; - - /** Identifies a running application. OpenVR can't always tell which process started in response - * to a URL. This function allows a URL handler (or the process itself) to identify the app key - * for the now running application. Passing a process ID of 0 identifies the calling process. - * The application must be one that's known to the system via a call to AddApplicationManifest. */ - virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; - - /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ - virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; - - /** Returns a string for an applications error */ - virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; - - // --------------- Application properties --------------- // - - /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ - virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, VR_OUT_STRING() char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a bool value for an application property. Returns false in all error cases. */ - virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ - virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; - - /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; - - /** Adds this mime-type to the list of supported mime types for this application*/ - virtual EVRApplicationError SetDefaultApplicationForMimeType( const char *pchAppKey, const char *pchMimeType ) = 0; - - /** return the app key that will open this mime type */ - virtual bool GetDefaultApplicationForMimeType( const char *pchMimeType, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Get the list of supported mime types for this application, comma-delimited */ - virtual bool GetApplicationSupportedMimeTypes( const char *pchAppKey, char *pchMimeTypesBuffer, uint32_t unMimeTypesBuffer ) = 0; - - /** Get the list of app-keys that support this mime type, comma-delimited, the return value is number of bytes you need to return the full string */ - virtual uint32_t GetApplicationsThatSupportMimeType( const char *pchMimeType, char *pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer ) = 0; - - /** Get the args list from an app launch that had the process already running, you call this when you get a VREvent_ApplicationMimeTypeLoad */ - virtual uint32_t GetApplicationLaunchArguments( uint32_t unHandle, char *pchArgs, uint32_t unArgs ) = 0; - - // --------------- Transition methods --------------- // - - /** Returns the app key for the application that is starting up */ - virtual EVRApplicationError GetStartingApplication( char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the application transition state */ - virtual EVRApplicationTransitionState GetTransitionState() = 0; - - /** Returns errors that would prevent the specified application from launching immediately. Calling this function will - * cause the current scene application to quit, so only call it when you are actually about to launch something else. - * What the caller should do about these failures depends on the failure: - * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit - * and try again. - * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. - * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. - * VRApplicationError_None - Go ahead and launch. Everything is clear. - */ - virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; - - /** Returns a string for an application transition state */ - virtual const char *GetApplicationsTransitionStateNameFromEnum( EVRApplicationTransitionState state ) = 0; - - /** Returns true if the outgoing scene app has requested a save prompt before exiting */ - virtual bool IsQuitUserPromptRequested() = 0; - - /** Starts a subprocess within the calling application. This - * suppresses all application transition UI and automatically identifies the new executable - * as part of the same application. On success the calling process should exit immediately. - * If working directory is NULL or "" the directory portion of the binary path will be - * the working directory. */ - virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; - - /** Returns the current scene process ID according to the application system. A scene process will get scene - * focus once it starts rendering, but it will appear here once it calls VR_Init with the Scene application - * type. */ - virtual uint32_t GetCurrentSceneProcessId() = 0; - }; - - static const char * const IVRApplications_Version = "IVRApplications_006"; - -} // namespace vr - -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - VRSettingsError_JsonParseFailed = 4, - VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory - // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_002"; - - //----------------------------------------------------------------------------- - // steamvr keys - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - static const char * const k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - - //----------------------------------------------------------------------------- - // lighthouse keys - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; - static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - static const char * const k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // power management keys - static const char * const k_pch_Power_Section = "power"; - static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - - //----------------------------------------------------------------------------- - // dashboard keys - static const char * const k_pch_Dashboard_Section = "dashboard"; - static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - - //----------------------------------------------------------------------------- - // driver keys - These could be checked in any driver_ section - static const char * const k_pch_Driver_Enable_Bool = "enable"; - -} // namespace vr - -// ivrchaperone.h -namespace vr -{ - -#pragma pack( push, 8 ) - -enum ChaperoneCalibrationState -{ - // OK! - ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly - - // Warnings - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center - - // Errors - ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid - ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, // Tracking center hasn't be calibrated for at least one of the base stations - ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center -}; - - -/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: -* 0,0,0 is the preferred standing area center. -* 0Y is the floor height. -* -Z is the preferred forward facing direction. */ -class IVRChaperone -{ -public: - - /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ - virtual ChaperoneCalibrationState GetCalibrationState() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. - * Tracking space center (0,0,0) is the center of the Play Area. **/ - virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds). - * Corners are in counter-clockwise order. - * Standing center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Reload Chaperone data from the .vrchap file on disk. */ - virtual void ReloadInfo( void ) = 0; - - /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ - virtual void SetSceneColor( HmdColor_t color ) = 0; - - /** Get the current chaperone bounds draw color and brightness **/ - virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; - - /** Determine whether the bounds are showing right now **/ - virtual bool AreBoundsVisible() = 0; - - /** Force the bounds to show, mostly for utilities **/ - virtual void ForceBoundsVisible( bool bForce ) = 0; -}; - -static const char * const IVRChaperone_Version = "IVRChaperone_003"; - -#pragma pack( pop ) - -} - -// ivrchaperonesetup.h -namespace vr -{ - -enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games - EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup -}; - -enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 0x0001, -}; - -/** Manages the working copy of the chaperone info. By default this will be the same as the -* live copy. Any changes made with this interface will stay in the working copy until -* CommitWorkingCopy() is called, at which point the working copy and the live copy will be -* the same again. */ -class IVRChaperoneSetup -{ -public: - - /** Saves the current working copy to disk */ - virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; - - /** Reverts the working copy to match the live chaperone calibration. - * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. - * Only after this should you do gets and sets on the existing data. */ - virtual void RevertWorkingCopy() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. - * Tracking space center (0,0,0) is the center of the Play Area. */ - virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. - * Corners are in clockwise order. - * Tracking space center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified from the working copy. */ - virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified. */ - virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the preferred seated position from the working copy. */ - virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Returns the standing origin from the working copy. */ - virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Sets the Play Area in the working copy. */ - virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; - - /** Sets the Collision Bounds in the working copy. */ - virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - - /** Sets the preferred seated position in the working copy. */ - virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Sets the preferred standing position in the working copy. */ - virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Tear everything down and reload it from the file on disk */ - virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; - - /** Returns the preferred seated position. */ - virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - virtual void SetWorkingCollisionBoundsTagsInfo( VR_ARRAY_COUNT(unTagCount) uint8_t *pTagsBuffer, uint32_t unTagCount ) = 0; - virtual bool GetLiveCollisionBoundsTagsInfo( VR_OUT_ARRAY_COUNT(punTagCount) uint8_t *pTagsBuffer, uint32_t *punTagCount ) = 0; - - virtual bool SetWorkingPhysicalBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - virtual bool GetLivePhysicalBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; - virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; -}; - -static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - - -} - -// ivrcompositor.h -namespace vr -{ - -#pragma pack( push, 8 ) - -/** Errors that can occur with the VR compositor */ -enum EVRCompositorError -{ - VRCompositorError_None = 0, - VRCompositorError_RequestFailed = 1, - VRCompositorError_IncompatibleVersion = 100, - VRCompositorError_DoNotHaveFocus = 101, - VRCompositorError_InvalidTexture = 102, - VRCompositorError_IsNotSceneApplication = 103, - VRCompositorError_TextureIsOnWrongDevice = 104, - VRCompositorError_TextureUsesUnsupportedFormat = 105, - VRCompositorError_SharedTexturesNotSupported = 106, - VRCompositorError_IndexOutOfRange = 107, - VRCompositorError_AlreadySubmitted = 108, - VRCompositorError_InvalidBounds = 109, -}; - -const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; -const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; -const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the async reprojection mode is active, - // but does not indicate if reprojection actually happened or not. - // Use the ReprojectionReason flags above to check if reprojection - // was actually applied (i.e. scene texture was reused). - // NumFramePresents > 1 also indicates the scene texture was reused, - // and also the number of times that it was presented in total. - -/** Provides a single frame's timing information to the app */ -struct Compositor_FrameTiming -{ - uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; // number of times this frame was presented - uint32_t m_nNumMisPresented; // number of times this frame was presented on a vsync other than it was originally predicted to - uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out - uint32_t m_nReprojectionFlags; - - /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ - double m_flSystemTimeInSeconds; - - /** These times may include work from other processes due to OS scheduling. - * The fewer packets of work these are broken up into, the less likely this will happen. - * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started - * processing that work earlier in the frame. */ - float m_flPreSubmitGpuMs; // time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit) - float m_flPostSubmitGpuMs; // additional time spent rendering by application (e.g. companion window) - float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work - float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. - float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame - float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) - - /** Miscellaneous measured intervals. */ - float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses - float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) - float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) - float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) - - /** The following are all relative to this frame's SystemTimeInSeconds */ - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - - vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame -}; - -/** Cumulative stats for current application. These are not cleared until a new app connects, -* but they do stop accumulating once the associated app disconnects. */ -struct Compositor_CumulativeStats -{ - uint32_t m_nPid; // Process id associated with these stats (may no longer be running). - uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) - uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) - uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time (with reprojection) - - /** Values recorded at startup before application has fully faded in the first time. */ - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - - /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes - * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - - /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start - * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. - * Does not include values recorded during start up or loading. */ - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -}; - -#pragma pack( pop ) - -/** Allows the application to interact with the compositor */ -class IVRCompositor -{ -public: - /** Sets tracking space returned by WaitGetPoses */ - virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; - - /** Gets current tracking space returned by WaitGetPoses */ - virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; - - /** Scene applications should call this function to get poses to render with (and optionally poses predicted an additional frame out to use for gameplay). - * This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to - * start rendering. - * - * Return codes: - * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) - * - DoNotHaveFocus (some other app has taken focus - this will throttle the call to 10hz to reduce the impact on that app) - */ - virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT(unRenderPoseArrayCount) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT(unGamePoseArrayCount) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Get the last set of poses returned by WaitGetPoses. */ - virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. - * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. - * It is okay to pass NULL for either pose if you only want one of the values. */ - virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; - - /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after - * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. - * - * OpenGL dirty state: - * glBindTexture - * - * Return codes: - * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) - * - DoNotHaveFocus (some other app has taken focus) - * - TextureIsOnWrongDevice (application did not use proper AdapterIndex - see IVRSystem.GetDXGIOutputInfo) - * - SharedTexturesNotSupported (application needs to call CreateDXGIFactory1 or later before creating DX device) - * - TextureUsesUnsupportedFormat (scene textures must be compatible with DXGI sharing rules - e.g. uncompressed, no mips, etc.) - * - InvalidTexture (usually means bad arguments passed in) - * - AlreadySubmitted (app has submitted two left textures or two right textures in a single frame - i.e. before calling WaitGetPoses again) - */ - virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; - - /** Clears the frame that was sent with the last call to Submit. This will cause the - * compositor to show the grid until Submit is called again. */ - virtual void ClearLastSubmittedFrame() = 0; - - /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. - * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. - * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would - * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both - * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ - virtual void PostPresentHandoff() = 0; - - /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. - * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ - virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; - - /** Interface for copying a range of timing data. Frames are returned in ascending order (oldest to newest) with the last being the most recent frame. - * Only the first entry's m_nSize needs to be set, as the rest will be inferred from that. Returns total number of entries filled out. */ - virtual uint32_t GetFrameTimings( Compositor_FrameTiming *pTiming, uint32_t nFrames ) = 0; - - /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. - * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ - virtual float GetFrameTimeRemaining() = 0; - - /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ - virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; - - /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between - * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly - * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ - virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; - - /** Get current fade color value. */ - virtual HmdColor_t GetCurrentFadeColor( bool bBackground = false ) = 0; - - /** Fading the Grid in or out in fSeconds */ - virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; - - /** Get current alpha value of grid. */ - virtual float GetCurrentGridAlpha() = 0; - - /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) - * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. - * If two are passed, it is assumed a lat-long stereo pair. */ - virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; - - /** Resets compositor skybox back to defaults. */ - virtual void ClearSkyboxOverride() = 0; - - /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD - * and is obscuring the compositor window. */ - virtual void CompositorBringToFront() = 0; - - /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ - virtual void CompositorGoToBack() = 0; - - /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal - * circumstances the compositor will manage its own life cycle based on what applications are running. */ - virtual void CompositorQuit() = 0; - - /** Return whether the compositor is fullscreen */ - virtual bool IsFullscreen() = 0; - - /** Returns the process ID of the process that is currently rendering the scene */ - virtual uint32_t GetCurrentSceneFocusProcess() = 0; - - /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) - * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ - virtual uint32_t GetLastFrameRenderer() = 0; - - /** Returns true if the current process has the scene focus */ - virtual bool CanRenderScene() = 0; - - /** Creates a window on the primary monitor to display what is being shown in the headset. */ - virtual void ShowMirrorWindow() = 0; - - /** Closes the mirror window. */ - virtual void HideMirrorWindow() = 0; - - /** Returns true if the mirror window is shown. */ - virtual bool IsMirrorWindowVisible() = 0; - - /** Writes all images that the compositor knows about (including overlays) to a 'screenshots' folder in the SteamVR runtime root. */ - virtual void CompositorDumpImages() = 0; - - /** Let an app know it should be rendering with low resources. */ - virtual bool ShouldAppRenderWithLowResources() = 0; - - /** Override interleaved reprojection logic to force on. */ - virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; - - /** Force reconnecting to the compositor process. */ - virtual void ForceReconnectProcess() = 0; - - /** Temporarily suspends rendering (useful for finer control over scene transitions). */ - virtual void SuspendRendering( bool bSuspend ) = 0; - - /** Opens a shared D3D11 texture with the undistorted composited image for each eye. Use ReleaseMirrorTextureD3D11 when finished - * instead of calling Release on the resource itself. */ - virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; - virtual void ReleaseMirrorTextureD3D11( void *pD3D11ShaderResourceView ) = 0; - - /** Access to mirror textures from OpenGL. */ - virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; - virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - - /** [Vulkan Only] - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. The string will be a space separated list of-required instance extensions to enable in VkCreateInstance */ - virtual uint32_t GetVulkanInstanceExtensionsRequired( VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; - - /** [Vulkan only] - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */ - virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; - - /** [ Vulkan/D3D12 Only ] - * There are two purposes for SetExplicitTimingMode: - * 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications. - * 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from - * another thread while WaitGetPoses is executing. - * - * More accurate GPU timestamp for the start of the frame is achieved by the application calling - * SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue. - * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, - * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the - * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for - * Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame. - * - * Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired, - * the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the - * application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff - * and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another - * thread. */ - virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0; - - /** [ Vulkan/D3D12 Only ] - * Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before - * the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame. - * This function will insert a GPU timestamp write just before the application starts its rendering. This function - * will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread. - * Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */ - virtual EVRCompositorError SubmitExplicitTimingData() = 0; -}; - -static const char * const IVRCompositor_Version = "IVRCompositor_021"; - -} // namespace vr - - - -// ivrnotifications.h -namespace vr -{ - -#pragma pack( push, 8 ) - -// Used for passing graphic data -struct NotificationBitmap_t -{ - NotificationBitmap_t() - : m_pImageData( nullptr ) - , m_nWidth( 0 ) - , m_nHeight( 0 ) - , m_nBytesPerPixel( 0 ) - { - }; - - void *m_pImageData; - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -}; - - -/** Be aware that the notification type is used as 'priority' to pick the next notification */ -enum EVRNotificationType -{ - /** Transient notifications are automatically hidden after a period of time set by the user. - * They are used for things like information and chat messages that do not require user interaction. */ - EVRNotificationType_Transient = 0, - - /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). - * They are used for things like phone calls and alarms that require user interaction. */ - EVRNotificationType_Persistent = 1, - - /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. - * If there is already a system notification in the queue with that ID it is not accepted into the queue - * to prevent spamming with system notification */ - EVRNotificationType_Transient_SystemWithUserValue = 2, -}; - -enum EVRNotificationStyle -{ - /** Creates a notification with minimal external styling. */ - EVRNotificationStyle_None = 0, - - /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ - EVRNotificationStyle_Application = 100, - - /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ - EVRNotificationStyle_Contact_Disabled = 200, - - /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ - EVRNotificationStyle_Contact_Enabled = 201, - - /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ - EVRNotificationStyle_Contact_Active = 202, -}; - -static const uint32_t k_unNotificationTextMaxSize = 256; - -typedef uint32_t VRNotificationId; - - - -#pragma pack( pop ) - -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ -class IVRNotifications -{ -public: - /** Create a notification and enqueue it to be shown to the user. - * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. - * To create a two-line notification, use a line break ('\n') to split the text into two lines. - * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ - virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; - - /** Destroy a notification, hiding it first if it currently shown to the user. */ - virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; - -}; - -static const char * const IVRNotifications_Version = "IVRNotifications_002"; - -} // namespace vr - - - -// ivroverlay.h -namespace vr -{ - - /** The maximum length of an overlay key in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxKeyLength = 128; - - /** The maximum length of an overlay name in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxNameLength = 128; - - /** The maximum number of overlays that can exist in the system at one time. */ - static const uint32_t k_unMaxOverlayCount = 64; - - /** The maximum number of overlay intersection mask primitives per overlay */ - static const uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - - /** Types of input supported by VR Overlays */ - enum VROverlayInputMethod - { - VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay - VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically - }; - - /** Allows the caller to figure out which overlay transform getter to call. */ - enum VROverlayTransformType - { - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, - }; - - /** Overlay control settings */ - enum VROverlayFlags - { - VROverlayFlags_None = 0, - - // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay). - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - - // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay - VROverlayFlags_NoDashboardTab = 3, - - // Set this flag on a dashboard that is able to deal with gamepad focus events - VROverlayFlags_AcceptsGamepadEvents = 4, - - // Indicates that the overlay should dim/brighten to show gamepad focus - VROverlayFlags_ShowGamepadFocus = 5, - - // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - - // If set this will render a vertical scroll wheel on the primary controller, - // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel - VROverlayFlags_ShowTouchPadScrollWheel = 8, - - // If this is set ownership and render access to the overlay are transferred - // to the new scene process on a call to IVRApplications::LaunchInternalProcess - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - - // If set, renders 50% of the texture in each eye, side by side - VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right - VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left - - VROverlayFlags_Panorama = 12, // Texture is a panorama - VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama - - // If this is set on an overlay owned by the scene application that overlay - // will be sorted with the "Other" overlays on top of all other scene overlays - VROverlayFlags_SortWithNonSceneOverlays = 14, - - // If set, the overlay will be shown in the dashboard, otherwise it will be hidden. - VROverlayFlags_VisibleInDashboard = 15, - }; - - enum VRMessageOverlayResponse - { - VRMessageOverlayResponse_ButtonPress_0 = 0, - VRMessageOverlayResponse_ButtonPress_1 = 1, - VRMessageOverlayResponse_ButtonPress_2 = 2, - VRMessageOverlayResponse_ButtonPress_3 = 3, - VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, - VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay= 5, - VRMessageOverlayResponse_ApplicationQuit = 6 - }; - - struct VROverlayIntersectionParams_t - { - HmdVector3_t vSource; - HmdVector3_t vDirection; - ETrackingUniverseOrigin eOrigin; - }; - - struct VROverlayIntersectionResults_t - { - HmdVector3_t vPoint; - HmdVector3_t vNormal; - HmdVector2_t vUVs; - float fDistance; - }; - - // Input modes for the Big Picture gamepad text entry - enum EGamepadTextInputMode - { - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, - }; - - // Controls number of allowed lines for the Big Picture gamepad text entry - enum EGamepadTextInputLineMode - { - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1 - }; - - /** Directions for changing focus between overlays with the gamepad */ - enum EOverlayDirection - { - OverlayDirection_Up = 0, - OverlayDirection_Down = 1, - OverlayDirection_Left = 2, - OverlayDirection_Right = 3, - - OverlayDirection_Count = 4, - }; - - enum EVROverlayIntersectionMaskPrimitiveType - { - OverlayIntersectionPrimitiveType_Rectangle, - OverlayIntersectionPrimitiveType_Circle, - }; - - struct IntersectionMaskRectangle_t - { - float m_flTopLeftX; - float m_flTopLeftY; - float m_flWidth; - float m_flHeight; - }; - - struct IntersectionMaskCircle_t - { - float m_flCenterX; - float m_flCenterY; - float m_flRadius; - }; - - /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ - typedef union - { - IntersectionMaskRectangle_t m_Rectangle; - IntersectionMaskCircle_t m_Circle; - } VROverlayIntersectionMaskPrimitive_Data_t; - - struct VROverlayIntersectionMaskPrimitive_t - { - EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; - }; - - class IVROverlay - { - public: - - // --------------------------------------------- - // Overlay management methods - // --------------------------------------------- - - /** Finds an existing overlay with the specified key. */ - virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Creates a new named overlay. All overlays start hidden and with default settings. */ - virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayName, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are - * automatically destroyed. */ - virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify which overlay to use the high quality render path. This overlay will be composited in during the distortion pass which - * results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than - * rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful - * for overlays that are expected to take up most of the user's view (e.g. streaming video). - * This mode does not support mouse input to your overlay. */ - virtual EVROverlayError SetHighQualityOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. - * Otherwise it will return k_ulOverlayHandleInvalid. */ - virtual vr::VROverlayHandle_t GetHighQualityOverlay() = 0; - - /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** set the name to use for this overlay */ - virtual EVROverlayError SetOverlayName( VROverlayHandle_t ulOverlayHandle, const char *pchName ) = 0; - - /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height - * will be set and VROverlayError_ArrayTooSmall is returned. */ - virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; - - /** returns a string that corresponds with the specified overlay error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; - - // --------------------------------------------- - // Overlay rendering methods - // --------------------------------------------- - - /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), - * by default this is the pid of the process that made the overlay */ - virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; - - /** Gets the pid that is allowed to render to this overlay */ - virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify flag setting for a given overlay */ - virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; - - /** Sets flag setting for a given overlay */ - virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; - - /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ - virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; - - /** Gets the color tint of the overlay quad. */ - virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; - - /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ - virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; - - /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ - virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; - - /** Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels - * are twice as wide as they are tall. Defaults to 1.0. */ - virtual EVROverlayError SetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float fTexelAspect ) = 0; - - /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0 */ - virtual EVROverlayError GetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect ) = 0; - - /** Sets the rendering sort order for the overlay. Overlays are rendered this order: - * Overlays owned by the scene application - * Overlays owned by some other application - * - * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same - * sort order are rendered back to front base on distance from the HMD. - * - * Sort order defaults to 0. */ - virtual EVROverlayError SetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0; - - /** Gets the sort order of the overlay. See SetOverlaySortOrder for how this works. */ - virtual EVROverlayError GetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t *punSortOrder ) = 0; - - /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; - - /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; - - /** For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters ) = 0; - - /** For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters ) = 0; - - /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. - * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ - virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; - - /** Gets the overlay's current colorspace setting. */ - virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; - - /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets render model to draw behind this overlay */ - virtual uint32_t GetOverlayRenderModel( vr::VROverlayHandle_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, vr::EVROverlayError *pError ) = 0; - - /** Sets render model to draw behind this overlay and the vertex color to use, pass null for pColor to match the overlays vertex color. - The model is scaled by the same amount as the overlay, with a default of 1m. */ - virtual vr::EVROverlayError SetOverlayRenderModel( vr::VROverlayHandle_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor ) = 0; - - /** Returns the transform type of this overlay. */ - virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; - - /** Sets the transform to absolute tracking origin. */ - virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified tracked device. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is - * drawing the device. Overlays with this transform type cannot receive mouse events. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; - - /** Gets the transform information when the overlay is rendering on a component. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize ) = 0; - - /** Gets the transform if it is relative to another overlay. Returns an error if the transform is some other type. */ - virtual vr::EVROverlayError GetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility */ - virtual vr::EVROverlayError SetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; - - /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns true if the overlay is visible. */ - virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ - virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. - * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns the current input settings for the specified overlay. */ - virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; - - /** Sets the input settings for the specified overlay. */ - virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; - - /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels. */ - virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; - - /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; - - /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the - * specified settings. Returns false if there is no intersection. */ - virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; - - /** Processes mouse input from the specified controller as though it were a mouse pointed at a compositor overlay with the - * specified settings. The controller is treated like a laser pointer on the -z axis. The point where the laser pointer would - * intersect with the overlay is the mouse position, the trigger is left mouse, and the track pad is right mouse. - * - * Return true if the controller is pointed at the overlay and an event was generated. */ - virtual bool HandleControllerOverlayInteractionAsMouse( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex ) = 0; - - /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" - * by the virtual mouse pointer */ - virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the current Gamepad focus overlay */ - virtual vr::VROverlayHandle_t GetGamepadFocusOverlay() = 0; - - /** Sets the current Gamepad focus overlay */ - virtual EVROverlayError SetGamepadFocusOverlay( VROverlayHandle_t ulNewFocusOverlay ) = 0; - - /** Sets an overlay's neighbor. This will also set the neighbor of the "to" overlay - * to point back to the "from" overlay. If an overlay's neighbor is set to invalid both - * ends will be cleared */ - virtual EVROverlayError SetOverlayNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo ) = 0; - - /** Changes the Gamepad focus from one overlay to one of its neighbors. Returns VROverlayError_NoNeighbor if there is no - * neighbor in that direction */ - virtual EVROverlayError MoveGamepadFocusToNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom ) = 0; - - // --------------------------------------------- - // Overlay texture methods - // --------------------------------------------- - - /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; - - /** Use this to tell the overlay system to release the texture set for this overlay. */ - virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data - * that can be sent. This function can only be called by the overlay's renderer process. */ - virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth ) = 0; - - /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. - * This function can only be called by the overlay's renderer process */ - virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; - - /** Get the native texture handle/device for an overlay you have created. - * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. - * - * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. - * - * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. - * - * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. - * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. - */ - virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds ) = 0; - - /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, - * so only do it once you stop rendering this texture. - */ - virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; - - /** Get the size of the overlay texture */ - virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; - - // ---------------------------------------------- - // Dashboard Overlay Methods - // ---------------------------------------------- - - /** Creates a dashboard overlay and returns its handle */ - virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; - - /** Returns true if the dashboard is visible */ - virtual bool IsDashboardVisible() = 0; - - /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ - virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ - virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; - - /** Gets the process ID that this dashboard overlay requires to have scene focus */ - virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; - - /** Shows the dashboard. */ - virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; - - /** Returns the tracked device that has the laser pointer in the dashboard */ - virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; - - // --------------------------------------------- - // Keyboard methods - // --------------------------------------------- - - /** Show the virtual keyboard to accept input **/ - virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - /** Get the text that was entered into the text input **/ - virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; - - /** Hide the virtual keyboard **/ - virtual void HideKeyboard() = 0; - - /** Set the position of the keyboard in world space **/ - virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; - - /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ - virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Sets a list of primitives to be used for controller ray intersection - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayIntersectionMask( VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize = sizeof( VROverlayIntersectionMaskPrimitive_t ) ) = 0; - - virtual EVROverlayError GetOverlayFlags( VROverlayHandle_t ulOverlayHandle, uint32_t *pFlags ) = 0; - - // --------------------------------------------- - // Message box methods - // --------------------------------------------- - - /** Show the message overlay. This will block and return you a result. **/ - virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0; - - /** If the calling process owns the overlay and it's open, this will close it. **/ - virtual void CloseMessageOverlay() = 0; - }; - - static const char * const IVROverlay_Version = "IVROverlay_016"; - -} // namespace vr - -// ivrrendermodels.h -namespace vr -{ - -static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility -static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. -static const char * const k_pch_Controller_Component_Tip = "tip"; // For controllers with an unambiguous 'tip' (used for 'laser-pointing') -static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb -static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping - -#pragma pack( push, 8 ) - -/** Errors that can occur with the VR compositor */ -enum EVRRenderModelError -{ - VRRenderModelError_None = 0, - VRRenderModelError_Loading = 100, - VRRenderModelError_NotSupported = 200, - VRRenderModelError_InvalidArg = 300, - VRRenderModelError_InvalidModel = 301, - VRRenderModelError_NoShapes = 302, - VRRenderModelError_MultipleShapes = 303, - VRRenderModelError_TooManyVertices = 304, - VRRenderModelError_MultipleTextures = 305, - VRRenderModelError_BufferTooSmall = 306, - VRRenderModelError_NotEnoughNormals = 307, - VRRenderModelError_NotEnoughTexCoords = 308, - - VRRenderModelError_InvalidTexture = 400, -}; - -typedef uint32_t VRComponentProperties; - -enum EVRComponentProperty -{ - VRComponentProperty_IsStatic = (1 << 0), - VRComponentProperty_IsVisible = (1 << 1), - VRComponentProperty_IsTouched = (1 << 2), - VRComponentProperty_IsPressed = (1 << 3), - VRComponentProperty_IsScrolled = (1 << 4), -}; - -/** Describes state information about a render-model component, including transforms and other dynamic properties */ -struct RenderModel_ComponentState_t -{ - HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model - HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) - VRComponentProperties uProperties; -}; - -/** A single vertex in a render model */ -struct RenderModel_Vertex_t -{ - HmdVector3_t vPosition; // position in meters in device space - HmdVector3_t vNormal; - float rfTextureCoord[2]; -}; - -/** A texture map for use on a render model */ -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -struct RenderModel_TextureMap_t -{ - uint16_t unWidth, unHeight; // width and height of the texture map in pixels - const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. -IDs <0 denote the texture is not present */ - -typedef int32_t TextureID_t; - -const TextureID_t INVALID_TEXTURE_ID = -1; - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -struct RenderModel_t -{ - const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh - uint32_t unVertexCount; // Number of vertices in the vertex data - const uint16_t *rIndexData; // Indices into the vertex data for each triangle - uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount - TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode -}; - -#pragma pack( pop ) - -class IVRRenderModels -{ -public: - - /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name - * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. - * - * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the - * application is finished with the render model it should call FreeRenderModel() to free the memory associated - * with the model. - * - * The method returns VRRenderModelError_Loading while the render model is still being loaded. - * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ - virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; - - /** Frees a previously returned render model - * It is safe to call this on a null ptr. */ - virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; - - /** Loads and returns a texture for use in the application. */ - virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; - - /** Frees a previously returned texture - * It is safe to call this on a null ptr. */ - virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; - - /** Creates a D3D11 texture and loads data into it. */ - virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; - - /** Helper function to copy the bits into an existing texture. */ - virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; - - /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ - virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; - - /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but - * is only used for iterating over all available render models. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; - - /** Returns the number of available render models. */ - virtual uint32_t GetRenderModelCount() = 0; - - - /** Returns the number of components of the specified render model. - * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. - * Examples controller components: - * renderable things such as triggers, buttons - * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose - * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model - * Returns 0 if components not supported, >0 otherwise */ - virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; - - /** Use this to get the names of available components. Index does not correlate to a tracked device index, but - * is only used for iterating over all available components. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; - - /** Get the button mask for all buttons associated with this component - * If no buttons (or axes) are associated with this component, return 0 - * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. - * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ - virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. - * If the component name is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; - - /** Use this to query information about the component, as a function of the controller state. - * - * For dynamic controller components (ex: trigger) values will reflect component motions - * For static components this will return a consistent value independent of the VRControllerState_t - * - * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). - * Otherwise, return true - * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ - virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; - - /** Returns true if the render model has a component with the specified name */ - virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Returns the URL of the thumbnail image for this rendermodel */ - virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; - - /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model - * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the - * model. */ - virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; - - /** Returns a string for a render model error */ - virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; -}; - -static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; - -} - - -// ivrextendeddisplay.h -namespace vr -{ - - /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use - * direct-to-display mode. Creating our own window is also incompatible with the VR compositor and is not available when the compositor is running. */ - class IVRExtendedDisplay - { - public: - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; - - }; - - static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - -} - - -// ivrtrackedcamera.h -namespace vr -{ - -class IVRTrackedCamera -{ -public: - /** Returns a string for an error */ - virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; - - /** For convenience, same as tracked property request Prop_HasCamera_Bool */ - virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraIntrinsics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - - /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. - * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. - * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. - * The camera may go inactive due to lack of active consumers or headset idleness. */ - virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; - - /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. - * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows - * the caller to determine if the frame as advanced per the frame header sequence. - * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. - * Ideally a caller should be polling at ~16ms intervals */ - virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Access a shared D3D11 texture for the specified tracked camera stream. - * The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted. - * Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with - * VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded - * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted - * guarantees a rectangle where all pixels are valid. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Access a shared GL texture for the specified tracked camera stream */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, vr::glUInt_t *pglTextureId, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::glUInt_t glTextureId ) = 0; -}; - -static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - -} // namespace vr - - -// ivrscreenshots.h -namespace vr -{ - -/** Errors that can occur with the VR compositor */ -enum EVRScreenshotError -{ - VRScreenshotError_None = 0, - VRScreenshotError_RequestFailed = 1, - VRScreenshotError_IncompatibleVersion = 100, - VRScreenshotError_NotFound = 101, - VRScreenshotError_BufferTooSmall = 102, - VRScreenshotError_ScreenshotAlreadyInProgress = 108, -}; - -/** Allows the application to generate screenshots */ -class IVRScreenshots -{ -public: - /** Request a screenshot of the requested type. - * A request of the VRScreenshotType_Stereo type will always - * work. Other types will depend on the underlying application - * support. - * The first file name is for the preview image and should be a - * regular screenshot (ideally from the left eye). The second - * is the VR screenshot in the correct format. They should be - * in the same aspect ratio. Formats per type: - * VRScreenshotType_Mono: the VR filename is ignored (can be - * nullptr), this is a normal flat single shot. - * VRScreenshotType_Stereo: The VR image should be a - * side-by-side with the left eye image on the left. - * VRScreenshotType_Cubemap: The VR image should be six square - * images composited horizontally. - * VRScreenshotType_StereoPanorama: above/below with left eye - * panorama being the above image. Image is typically square - * with the panorama being 2x horizontal. - * - * Note that the VR dashboard will call this function when - * the user presses the screenshot binding (currently System - * Button + Trigger). If Steam is running, the destination - * file names will be in %TEMP% and will be copied into - * Steam's screenshot library for the running application - * once SubmitScreenshot() is called. - * If Steam is not running, the paths will be in the user's - * documents folder under Documents\SteamVR\Screenshots. - * Other VR applications can call this to initiate a - * screenshot outside of user control. - * The destination file names do not need an extension, - * will be replaced with the correct one for the format - * which is currently .png. */ - virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Called by the running VR application to indicate that it - * wishes to be in charge of screenshots. If the - * application does not call this, the Compositor will only - * support VRScreenshotType_Stereo screenshots that will be - * captured without notification to the running app. - * Once hooked your application will receive a - * VREvent_RequestScreenshot event when the user presses the - * buttons to take a screenshot. */ - virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; - - /** When your application receives a - * VREvent_RequestScreenshot event, call these functions to get - * the details of the screenshot request. */ - virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; - - /** Get the filename for the preview or vr image (see - * vr::EScreenshotPropertyFilenames). The return value is - * the size of the string. */ - virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; - - /** Call this if the application is taking the screen shot - * will take more than a few ms processing. This will result - * in an overlay being presented that shows a completion - * bar. */ - virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; - - /** Tells the compositor to take an internal screenshot of - * type VRScreenshotType_Stereo. It will take the current - * submitted scene textures of the running application and - * write them into the preview image and a side-by-side file - * for the VR image. - * This is similar to request screenshot, but doesn't ever - * talk to the application, just takes the shot and submits. */ - virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Submit the completed screenshot. If Steam is running - * this will call into the Steam client and upload the - * screenshot to the screenshots section of the library for - * the running application. If Steam is not running, this - * function will display a notification to the user that the - * screenshot was taken. The paths should be full paths with - * extensions. - * File paths should be absolute including extensions. - * screenshotHandle can be k_unScreenshotHandleInvalid if this - * was a new shot taking by the app to be saved and not - * initiated by a user (achievement earned or something) */ - virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; -}; - -static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; - -} // namespace vr - - - -// ivrresources.h -namespace vr -{ - -class IVRResources -{ -public: - - // ------------------------------------ - // Shared Resource Methods - // ------------------------------------ - - /** Loads the specified resource into the provided buffer if large enough. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; - - /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. - * pchResourceTypeDirectory is the subdirectory of resources to look in. */ - virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, char *pchPathBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char * const IVRResources_Version = "IVRResources_001"; - - -} -// ivrdrivermanager.h -namespace vr -{ - -class IVRDriverManager -{ -public: - virtual uint32_t GetDriverCount() const = 0; - - /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ - virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; -}; - -static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; - -} // namespace vr - - -// End - -#endif // _OPENVR_API - - -namespace vr -{ - /** Finds the active installation of the VR API and initializes it. The provided path must be absolute - * or relative to the current working directory. These are the local install versions of the equivalent - * functions in steamvr.h and will work without a local Steam install. - * - * This path is to the "root" of the VR API install. That's the directory with - * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. - * - * pStartupInfo is reserved for future use. - */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr ); - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown(); - - /** Returns true if there is an HMD attached. This check is as lightweight as possible and - * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants - * to know if initializing VR is a possibility but isn't ready to take that step yet. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); - - /** Returns true if the OpenVR runtime is installed. */ - VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); - - /** Returns where the OpenVR runtime is installed. */ - VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath(); - - /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); - - /** Returns an English string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and - * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); - - /** Returns the interface of the specified version. This method must be called after VR_Init. The - * pointer returned is valid until VR_Shutdown is called. - */ - VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); - - /** Returns whether the interface of the specified version exists. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); - - /** Returns a token that represents whether the VR interface handles need to be reloaded */ - VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); - - // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. - // They will go away in the future. - typedef EVRInitError HmdError; - typedef EVREye Hmd_Eye; - typedef EColorSpace ColorSpace; - typedef ETrackingResult HmdTrackingResult; - typedef ETrackedDeviceClass TrackedDeviceClass; - typedef ETrackingUniverseOrigin TrackingUniverseOrigin; - typedef ETrackedDeviceProperty TrackedDeviceProperty; - typedef ETrackedPropertyError TrackedPropertyError; - typedef EVRSubmitFlags VRSubmitFlags_t; - typedef EVRState VRState_t; - typedef ECollisionBoundsStyle CollisionBoundsStyle_t; - typedef EVROverlayError VROverlayError; - typedef EVRFirmwareError VRFirmwareError; - typedef EVRCompositorError VRCompositorError; - typedef EVRScreenshotError VRScreenshotsError; - - inline uint32_t &VRToken() - { - static uint32_t token; - return token; - } - - class COpenVRContext - { - public: - COpenVRContext() { Clear(); } - void Clear(); - - inline void CheckClear() - { - if ( VRToken() != VR_GetInitToken() ) - { - Clear(); - VRToken() = VR_GetInitToken(); - } - } - - IVRSystem *VRSystem() - { - CheckClear(); - if ( m_pVRSystem == nullptr ) - { - EVRInitError eError; - m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); - } - return m_pVRSystem; - } - IVRChaperone *VRChaperone() - { - CheckClear(); - if ( m_pVRChaperone == nullptr ) - { - EVRInitError eError; - m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); - } - return m_pVRChaperone; - } - - IVRChaperoneSetup *VRChaperoneSetup() - { - CheckClear(); - if ( m_pVRChaperoneSetup == nullptr ) - { - EVRInitError eError; - m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); - } - return m_pVRChaperoneSetup; - } - - IVRCompositor *VRCompositor() - { - CheckClear(); - if ( m_pVRCompositor == nullptr ) - { - EVRInitError eError; - m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); - } - return m_pVRCompositor; - } - - IVROverlay *VROverlay() - { - CheckClear(); - if ( m_pVROverlay == nullptr ) - { - EVRInitError eError; - m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); - } - return m_pVROverlay; - } - - IVRResources *VRResources() - { - CheckClear(); - if ( m_pVRResources == nullptr ) - { - EVRInitError eError; - m_pVRResources = (IVRResources *)VR_GetGenericInterface( IVRResources_Version, &eError ); - } - return m_pVRResources; - } - - IVRScreenshots *VRScreenshots() - { - CheckClear(); - if ( m_pVRScreenshots == nullptr ) - { - EVRInitError eError; - m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); - } - return m_pVRScreenshots; - } - - IVRRenderModels *VRRenderModels() - { - CheckClear(); - if ( m_pVRRenderModels == nullptr ) - { - EVRInitError eError; - m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); - } - return m_pVRRenderModels; - } - - IVRExtendedDisplay *VRExtendedDisplay() - { - CheckClear(); - if ( m_pVRExtendedDisplay == nullptr ) - { - EVRInitError eError; - m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); - } - return m_pVRExtendedDisplay; - } - - IVRSettings *VRSettings() - { - CheckClear(); - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRApplications *VRApplications() - { - CheckClear(); - if ( m_pVRApplications == nullptr ) - { - EVRInitError eError; - m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); - } - return m_pVRApplications; - } - - IVRTrackedCamera *VRTrackedCamera() - { - CheckClear(); - if ( m_pVRTrackedCamera == nullptr ) - { - EVRInitError eError; - m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); - } - return m_pVRTrackedCamera; - } - - IVRDriverManager *VRDriverManager() - { - CheckClear(); - if ( !m_pVRDriverManager ) - { - EVRInitError eError; - m_pVRDriverManager = ( IVRDriverManager * )VR_GetGenericInterface( IVRDriverManager_Version, &eError ); - } - return m_pVRDriverManager; - } - - private: - IVRSystem *m_pVRSystem; - IVRChaperone *m_pVRChaperone; - IVRChaperoneSetup *m_pVRChaperoneSetup; - IVRCompositor *m_pVRCompositor; - IVROverlay *m_pVROverlay; - IVRResources *m_pVRResources; - IVRRenderModels *m_pVRRenderModels; - IVRExtendedDisplay *m_pVRExtendedDisplay; - IVRSettings *m_pVRSettings; - IVRApplications *m_pVRApplications; - IVRTrackedCamera *m_pVRTrackedCamera; - IVRScreenshots *m_pVRScreenshots; - IVRDriverManager *m_pVRDriverManager; - }; - - inline COpenVRContext &OpenVRInternal_ModuleContext() - { - static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; - return *( COpenVRContext * )ctx; // bypass zero-init constructor - } - - inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } - inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } - inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } - inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } - inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } - inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } - inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } - inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } - inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleContext().VRResources(); } - inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } - inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } - inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleContext().VRDriverManager(); } - - inline void COpenVRContext::Clear() - { - m_pVRSystem = nullptr; - m_pVRChaperone = nullptr; - m_pVRChaperoneSetup = nullptr; - m_pVRCompositor = nullptr; - m_pVROverlay = nullptr; - m_pVRRenderModels = nullptr; - m_pVRExtendedDisplay = nullptr; - m_pVRSettings = nullptr; - m_pVRApplications = nullptr; - m_pVRTrackedCamera = nullptr; - m_pVRResources = nullptr; - m_pVRScreenshots = nullptr; - m_pVRDriverManager = nullptr; - } - - VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ); - VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); - - /** Finds the active installation of vrclient.dll and initializes it */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ) - { - IVRSystem *pVRSystem = nullptr; - - EVRInitError eError; - VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo ); - COpenVRContext &ctx = OpenVRInternal_ModuleContext(); - ctx.Clear(); - - if ( eError == VRInitError_None ) - { - if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) - { - pVRSystem = VRSystem(); - } - else - { - VR_ShutdownInternal(); - eError = VRInitError_Init_InterfaceNotFound; - } - } - - if ( peError ) - *peError = eError; - return pVRSystem; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown() - { - VR_ShutdownInternal(); - } -} diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs deleted file mode 100644 index 393a917..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs +++ /dev/null @@ -1,5052 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces -// This file is auto-generated, do not edit it. -// -//============================================================================= - -using System; -using System.Runtime.InteropServices; -using Valve.VR; - -namespace Valve.VR -{ - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSystem -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionMatrix GetProjectionMatrix; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionRaw GetProjectionRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ComputeDistortion(EVREye eEye, float fU, float fV, ref DistortionCoordinates_t pDistortionCoordinates); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeDistortion ComputeDistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeToHeadTransform GetEyeToHeadTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTimeSinceLastVsync GetTimeSinceLastVsync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetD3D9AdapterIndex(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetD3D9AdapterIndex GetD3D9AdapterIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOutputDevice GetOutputDevice; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDisplayOnDesktop(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDisplayOnDesktop IsDisplayOnDesktop; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDisplayVisibility SetDisplayVisibility; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In, Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ResetSeatedZeroPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ResetSeatedZeroPose ResetSeatedZeroPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In, Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ApplyTransform ApplyTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceClass GetTrackedDeviceClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsTrackedDeviceConnected IsTrackedDeviceConnected; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEvent PollNextEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEventWithPose PollNextEventWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye, EHiddenAreaMeshType type); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHiddenAreaMesh GetHiddenAreaMesh; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerState GetControllerState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerStateWithPose GetControllerStateWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TriggerHapticPulse TriggerHapticPulse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CaptureInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CaptureInputFocus CaptureInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseInputFocus ReleaseInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsInputFocusCapturedByAnotherProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsInputFocusCapturedByAnotherProcess IsInputFocusCapturedByAnotherProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, string pchResponseBuffer, uint unResponseBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DriverDebugRequest DriverDebugRequest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformFirmwareUpdate PerformFirmwareUpdate; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_Exiting(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_UserPrompt(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRExtendedDisplay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetWindowBounds(ref int pnX, ref int pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWindowBounds GetWindowBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetEyeOutputViewport(EVREye eEye, ref uint pnX, ref uint pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeOutputViewport GetEyeOutputViewport; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex, ref int pnAdapterOutputIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRTrackedCamera -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HasCamera HasCamera; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraFrameSize GetCameraFrameSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraIntrinsics GetCameraIntrinsics; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraProjection GetCameraProjection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireVideoStreamingService AcquireVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamingService ReleaseVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref VRTextureBounds_t pTextureBounds, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureSize GetVideoStreamTextureSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureD3D11(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureD3D11 GetVideoStreamTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureGL(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, ref uint pglTextureId, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureGL GetVideoStreamTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _ReleaseVideoStreamTextureGL(ulong hTrackedCamera, uint glTextureId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamTextureGL ReleaseVideoStreamTextureGL; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRApplications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AddApplicationManifest AddApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _RemoveApplicationManifest(string pchApplicationManifestFullPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveApplicationManifest RemoveApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsApplicationInstalled(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsApplicationInstalled IsApplicationInstalled; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationCount GetApplicationCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByIndex GetApplicationKeyByIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplication(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplication LaunchApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchTemplateApplication LaunchTemplateApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplicationFromMimeType(string pchMimeType, string pchArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplicationFromMimeType LaunchApplicationFromMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchDashboardOverlay LaunchDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CancelApplicationLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CancelApplicationLaunch CancelApplicationLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IdentifyApplication IdentifyApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationProcessId(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationProcessId GetApplicationProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsErrorNameFromEnum(EVRApplicationError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, System.Text.StringBuilder pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyString GetApplicationPropertyString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyBool GetApplicationPropertyBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetApplicationAutoLaunch SetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationAutoLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationAutoLaunch GetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDefaultApplicationForMimeType SetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDefaultApplicationForMimeType GetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationSupportedMimeTypes GetApplicationSupportedMimeTypes; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsThatSupportMimeType GetApplicationsThatSupportMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationLaunchArguments GetApplicationLaunchArguments; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStartingApplication GetStartingApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationTransitionState _GetTransitionState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransitionState GetTransitionState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsTransitionStateNameFromEnum GetApplicationsTransitionStateNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsQuitUserPromptRequested(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsQuitUserPromptRequested IsQuitUserPromptRequested; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchInternalProcess LaunchInternalProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetCurrentSceneProcessId(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentSceneProcessId GetCurrentSceneProcessId; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperone -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ChaperoneCalibrationState _GetCalibrationState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCalibrationState GetCalibrationState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaSize GetPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaRect GetPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadInfo(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadInfo ReloadInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetSceneColor(HmdColor_t color); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSceneColor SetSceneColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoundsColor GetBoundsColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _AreBoundsVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AreBoundsVisible AreBoundsVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceBoundsVisible(bool bForce); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceBoundsVisible ForceBoundsVisible; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperoneSetup -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CommitWorkingCopy(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CommitWorkingCopy CommitWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RevertWorkingCopy(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RevertWorkingCopy RevertWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaSize GetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaRect GetWorkingPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingCollisionBoundsInfo GetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsInfo GetLiveCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingSeatedZeroPoseToRawTrackingPose GetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingStandingZeroPoseToRawTrackingPose GetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingPlayAreaSize(float sizeX, float sizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPlayAreaSize SetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsInfo SetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingSeatedZeroPoseToRawTrackingPose SetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingStandingZeroPoseToRawTrackingPose SetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadFromDisk(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadFromDisk ReloadFromDisk; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveSeatedZeroPoseToRawTrackingPose GetLiveSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, uint unTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsTagsInfo SetWorkingCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, ref uint punTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsTagsInfo GetLiveCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetWorkingPhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPhysicalBoundsInfo SetWorkingPhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLivePhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLivePhysicalBoundsInfo GetLivePhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ExportLiveToBuffer ExportLiveToBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ImportFromBufferToWorking(string pBuffer, uint nImportFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ImportFromBufferToWorking ImportFromBufferToWorking; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRCompositor -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetTrackingSpace SetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackingUniverseOrigin _GetTrackingSpace(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackingSpace GetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _WaitGetPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WaitGetPoses WaitGetPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoses GetLastPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Submit Submit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearLastSubmittedFrame(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearLastSubmittedFrame ClearLastSubmittedFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PostPresentHandoff(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PostPresentHandoff PostPresentHandoff; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTiming GetFrameTiming; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetFrameTimings(ref Compositor_FrameTiming pTiming, uint nFrames); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTimings GetFrameTimings; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFrameTimeRemaining(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTimeRemaining GetFrameTimeRemaining; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCumulativeStats GetCumulativeStats; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeToColor FadeToColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdColor_t _GetCurrentFadeColor(bool bBackground); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentFadeColor GetCurrentFadeColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeGrid(float fSeconds, bool bFadeIn); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeGrid FadeGrid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetCurrentGridAlpha(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentGridAlpha GetCurrentGridAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSkyboxOverride SetSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearSkyboxOverride(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearSkyboxOverride ClearSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorBringToFront(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorBringToFront CompositorBringToFront; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorGoToBack(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorGoToBack CompositorGoToBack; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorQuit(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorQuit CompositorQuit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsFullscreen(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsFullscreen IsFullscreen; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetCurrentSceneFocusProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetLastFrameRenderer(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastFrameRenderer GetLastFrameRenderer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CanRenderScene(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CanRenderScene CanRenderScene; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowMirrorWindow ShowMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideMirrorWindow HideMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsMirrorWindowVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsMirrorWindowVisible IsMirrorWindowVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorDumpImages(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorDumpImages CompositorDumpImages; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ShouldAppRenderWithLowResources(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceInterleavedReprojectionOn(bool bOverride); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceReconnectProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceReconnectProcess ForceReconnectProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SuspendRendering(bool bSuspend); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SuspendRendering SuspendRendering; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseMirrorTextureD3D11 ReleaseMirrorTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureGL GetMirrorTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseSharedGLTexture ReleaseSharedGLTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetExplicitTimingMode SetExplicitTimingMode; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SubmitExplicitTimingData(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitExplicitTimingData SubmitExplicitTimingData; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVROverlay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FindOverlay FindOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateOverlay(string pchOverlayKey, string pchOverlayName, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateOverlay CreateOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _DestroyOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DestroyOverlay DestroyOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetHighQualityOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHighQualityOverlay SetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetHighQualityOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHighQualityOverlay GetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayKey(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayKey GetOverlayKey; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayName(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayName GetOverlayName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayName(ulong ulOverlayHandle, string pchName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayName SetOverlayName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayImageData GetOverlayImageData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetOverlayErrorNameFromEnum(EVROverlayError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRenderingPid SetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayRenderingPid(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayRenderingPid GetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFlag SetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlag GetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayColor SetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayColor GetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAlpha SetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAlpha GetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTexelAspect(ulong ulOverlayHandle, float fTexelAspect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTexelAspect SetOverlayTexelAspect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTexelAspect(ulong ulOverlayHandle, ref float pfTexelAspect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTexelAspect GetOverlayTexelAspect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlaySortOrder(ulong ulOverlayHandle, uint unSortOrder); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlaySortOrder SetOverlaySortOrder; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlaySortOrder(ulong ulOverlayHandle, ref uint punSortOrder); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlaySortOrder GetOverlaySortOrder; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayWidthInMeters SetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayWidthInMeters GetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAutoCurveDistanceRangeInMeters SetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAutoCurveDistanceRangeInMeters GetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureColorSpace GetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureBounds SetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureBounds GetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayRenderModel(ulong ulOverlayHandle, string pchValue, uint unBufferSize, ref HmdColor_t pColor, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayRenderModel GetOverlayRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRenderModel(ulong ulOverlayHandle, string pchRenderModel, ref HmdColor_t pColor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRenderModel SetOverlayRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformType GetOverlayTransformType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformAbsolute SetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformAbsolute GetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ref ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformOverlayRelative GetOverlayTransformOverlayRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformOverlayRelative SetOverlayTransformOverlayRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowOverlay ShowOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _HideOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideOverlay HideOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsOverlayVisible(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsOverlayVisible IsOverlayVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextOverlayEvent PollNextOverlayEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayInputMethod GetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayInputMethod SetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayMouseScale GetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayMouseScale SetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeOverlayIntersection ComputeOverlayIntersection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HandleControllerOverlayInteractionAsMouse HandleControllerOverlayInteractionAsMouse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsHoverTargetOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsHoverTargetOverlay IsHoverTargetOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetGamepadFocusOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetGamepadFocusOverlay GetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetGamepadFocusOverlay(ulong ulNewFocusOverlay); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetGamepadFocusOverlay SetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayNeighbor SetOverlayNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _MoveGamepadFocusToNeighbor MoveGamepadFocusToNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTexture SetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ClearOverlayTexture(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearOverlayTexture ClearOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRaw SetOverlayRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFromFile SetOverlayFromFile; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTexture GetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureSize GetOverlayTextureSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateDashboardOverlay CreateDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDashboardVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDashboardVisible IsDashboardVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsActiveDashboardOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsActiveDashboardOverlay IsActiveDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDashboardOverlaySceneProcess SetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowDashboard(string pchOverlayToShow); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowDashboard ShowDashboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetPrimaryDashboardDevice(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPrimaryDashboardDevice GetPrimaryDashboardDevice; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboard ShowKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboardForOverlay ShowKeyboardForOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetKeyboardText(System.Text.StringBuilder pchText, uint cchText); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetKeyboardText GetKeyboardText; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideKeyboard(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideKeyboard HideKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayIntersectionMask(ulong ulOverlayHandle, ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, uint unNumMaskPrimitives, uint unPrimitiveSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayIntersectionMask SetOverlayIntersectionMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlags GetOverlayFlags; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate VRMessageOverlayResponse _ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowMessageOverlay ShowMessageOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CloseMessageOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CloseMessageOverlay CloseMessageOverlay; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRRenderModels -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadRenderModel_Async LoadRenderModel_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeRenderModel(IntPtr pRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeRenderModel FreeRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTexture_Async(int textureId, ref IntPtr ppTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTexture_Async LoadTexture_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTexture(IntPtr pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTexture FreeTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTextureD3D11_Async LoadTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadIntoTextureD3D11_Async LoadIntoTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTextureD3D11(IntPtr pD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTextureD3D11 FreeTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelName(uint unRenderModelIndex, System.Text.StringBuilder pchRenderModelName, uint unRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelName GetRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelCount GetRenderModelCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentCount(string pchRenderModelName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentCount GetComponentCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentName(string pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentName GetComponentName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetComponentButtonMask(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentButtonMask GetComponentButtonMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentRenderModelName GetComponentRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentState GetComponentState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _RenderModelHasComponent(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RenderModelHasComponent RenderModelHasComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelOriginalPath GetRenderModelOriginalPath; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRNotifications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _CreateNotification(ulong ulOverlayHandle, ulong ulUserValue, EVRNotificationType type, string pchText, EVRNotificationStyle style, ref NotificationBitmap_t pImage, ref uint pNotificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateNotification CreateNotification; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _RemoveNotification(uint notificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveNotification RemoveNotification; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSettings -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetSettingsErrorNameFromEnum(EVRSettingsError eError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSettingsErrorNameFromEnum GetSettingsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _Sync(bool bForce, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Sync Sync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetBool SetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetInt32 SetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetFloat SetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetString SetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBool(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBool GetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32 GetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloat(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloat GetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetString(string pchSection, string pchSettingsKey, System.Text.StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetString GetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveSection RemoveSection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveKeyInSection RemoveKeyInSection; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRScreenshots -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RequestScreenshot RequestScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HookScreenshot HookScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyType GetScreenshotPropertyType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UpdateScreenshotProgress UpdateScreenshotProgress; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TakeStereoScreenshot TakeStereoScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitScreenshot SubmitScreenshot; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRResources -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _LoadSharedResource(string pchResourceName, string pchBuffer, uint unBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadSharedResource LoadSharedResource; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetResourceFullPath(string pchResourceName, string pchResourceTypeDirectory, string pchPathBuffer, uint unBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetResourceFullPath GetResourceFullPath; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRDriverManager -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetDriverCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDriverCount GetDriverCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetDriverName(uint nDriver, System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDriverName GetDriverName; - -} - - -public class CVRSystem -{ - IVRSystem FnTable; - internal CVRSystem(IntPtr pInterface) - { - FnTable = (IVRSystem)Marshal.PtrToStructure(pInterface, typeof(IVRSystem)); - } - public void GetRecommendedRenderTargetSize(ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight); - } - public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ) - { - HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ); - return result; - } - public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom) - { - pfLeft = 0; - pfRight = 0; - pfTop = 0; - pfBottom = 0; - FnTable.GetProjectionRaw(eEye,ref pfLeft,ref pfRight,ref pfTop,ref pfBottom); - } - public bool ComputeDistortion(EVREye eEye,float fU,float fV,ref DistortionCoordinates_t pDistortionCoordinates) - { - bool result = FnTable.ComputeDistortion(eEye,fU,fV,ref pDistortionCoordinates); - return result; - } - public HmdMatrix34_t GetEyeToHeadTransform(EVREye eEye) - { - HmdMatrix34_t result = FnTable.GetEyeToHeadTransform(eEye); - return result; - } - public bool GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync,ref ulong pulFrameCounter) - { - pfSecondsSinceLastVsync = 0; - pulFrameCounter = 0; - bool result = FnTable.GetTimeSinceLastVsync(ref pfSecondsSinceLastVsync,ref pulFrameCounter); - return result; - } - public int GetD3D9AdapterIndex() - { - int result = FnTable.GetD3D9AdapterIndex(); - return result; - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex) - { - pnAdapterIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex); - } - public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance) - { - pnDevice = 0; - FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance); - } - public bool IsDisplayOnDesktop() - { - bool result = FnTable.IsDisplayOnDesktop(); - return result; - } - public bool SetDisplayVisibility(bool bIsVisibleOnDesktop) - { - bool result = FnTable.SetDisplayVisibility(bIsVisibleOnDesktop); - return result; - } - public void GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin,float fPredictedSecondsToPhotonsFromNow,TrackedDevicePose_t [] pTrackedDevicePoseArray) - { - FnTable.GetDeviceToAbsoluteTrackingPose(eOrigin,fPredictedSecondsToPhotonsFromNow,pTrackedDevicePoseArray,(uint) pTrackedDevicePoseArray.Length); - } - public void ResetSeatedZeroPose() - { - FnTable.ResetSeatedZeroPose(); - } - public HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetRawZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public uint GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass,uint [] punTrackedDeviceIndexArray,uint unRelativeToTrackedDeviceIndex) - { - uint result = FnTable.GetSortedTrackedDeviceIndicesOfClass(eTrackedDeviceClass,punTrackedDeviceIndexArray,(uint) punTrackedDeviceIndexArray.Length,unRelativeToTrackedDeviceIndex); - return result; - } - public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId) - { - EDeviceActivityLevel result = FnTable.GetTrackedDeviceActivityLevel(unDeviceId); - return result; - } - public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform) - { - FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform); - } - public uint GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType) - { - uint result = FnTable.GetTrackedDeviceIndexForControllerRole(unDeviceType); - return result; - } - public ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex) - { - ETrackedControllerRole result = FnTable.GetControllerRoleForTrackedDeviceIndex(unDeviceIndex); - return result; - } - public ETrackedDeviceClass GetTrackedDeviceClass(uint unDeviceIndex) - { - ETrackedDeviceClass result = FnTable.GetTrackedDeviceClass(unDeviceIndex); - return result; - } - public bool IsTrackedDeviceConnected(uint unDeviceIndex) - { - bool result = FnTable.IsTrackedDeviceConnected(unDeviceIndex); - return result; - } - public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError) - { - uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError); - return result; - } - public string GetPropErrorNameFromEnum(ETrackedPropertyError error) - { - IntPtr result = FnTable.GetPropErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEventPacked(ref VREvent_t_Packed pEvent,uint uncbVREvent); - [StructLayout(LayoutKind.Explicit)] - struct PollNextEventUnion - { - [FieldOffset(0)] - public IVRSystem._PollNextEvent pPollNextEvent; - [FieldOffset(0)] - public _PollNextEventPacked pPollNextEventPacked; - } - public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - PollNextEventUnion u; - VREvent_t_Packed event_packed = new VREvent_t_Packed(); - u.pPollNextEventPacked = null; - u.pPollNextEvent = FnTable.PollNextEvent; - bool packed_result = u.pPollNextEventPacked(ref event_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VREvent_t_Packed))); - - event_packed.Unpack(ref pEvent); - return packed_result; - } -#endif - bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent); - return result; - } - public bool PollNextEventWithPose(ETrackingUniverseOrigin eOrigin,ref VREvent_t pEvent,uint uncbVREvent,ref TrackedDevicePose_t pTrackedDevicePose) - { - bool result = FnTable.PollNextEventWithPose(eOrigin,ref pEvent,uncbVREvent,ref pTrackedDevicePose); - return result; - } - public string GetEventTypeNameFromEnum(EVREventType eType) - { - IntPtr result = FnTable.GetEventTypeNameFromEnum(eType); - return Marshal.PtrToStringAnsi(result); - } - public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye,EHiddenAreaMeshType type) - { - HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye,type); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStatePacked(uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize); - [StructLayout(LayoutKind.Explicit)] - struct GetControllerStateUnion - { - [FieldOffset(0)] - public IVRSystem._GetControllerState pGetControllerState; - [FieldOffset(0)] - public _GetControllerStatePacked pGetControllerStatePacked; - } - public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetControllerStateUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetControllerStatePacked = null; - u.pGetControllerState = FnTable.GetControllerState; - bool packed_result = u.pGetControllerStatePacked(unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed))); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStateWithPosePacked(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose); - [StructLayout(LayoutKind.Explicit)] - struct GetControllerStateWithPoseUnion - { - [FieldOffset(0)] - public IVRSystem._GetControllerStateWithPose pGetControllerStateWithPose; - [FieldOffset(0)] - public _GetControllerStateWithPosePacked pGetControllerStateWithPosePacked; - } - public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetControllerStateWithPoseUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetControllerStateWithPosePacked = null; - u.pGetControllerStateWithPose = FnTable.GetControllerStateWithPose; - bool packed_result = u.pGetControllerStateWithPosePacked(eOrigin,unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed)),ref pTrackedDevicePose); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose); - return result; - } - public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec) - { - FnTable.TriggerHapticPulse(unControllerDeviceIndex,unAxisId,usDurationMicroSec); - } - public string GetButtonIdNameFromEnum(EVRButtonId eButtonId) - { - IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId); - return Marshal.PtrToStringAnsi(result); - } - public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) - { - IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); - return Marshal.PtrToStringAnsi(result); - } - public bool CaptureInputFocus() - { - bool result = FnTable.CaptureInputFocus(); - return result; - } - public void ReleaseInputFocus() - { - FnTable.ReleaseInputFocus(); - } - public bool IsInputFocusCapturedByAnotherProcess() - { - bool result = FnTable.IsInputFocusCapturedByAnotherProcess(); - return result; - } - public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,string pchResponseBuffer,uint unResponseBufferSize) - { - uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize); - return result; - } - public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex) - { - EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex); - return result; - } - public void AcknowledgeQuit_Exiting() - { - FnTable.AcknowledgeQuit_Exiting(); - } - public void AcknowledgeQuit_UserPrompt() - { - FnTable.AcknowledgeQuit_UserPrompt(); - } -} - - -public class CVRExtendedDisplay -{ - IVRExtendedDisplay FnTable; - internal CVRExtendedDisplay(IntPtr pInterface) - { - FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay)); - } - public void GetWindowBounds(ref int pnX,ref int pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetWindowBounds(ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetEyeOutputViewport(EVREye eEye,ref uint pnX,ref uint pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetEyeOutputViewport(eEye,ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputIndex) - { - pnAdapterIndex = 0; - pnAdapterOutputIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex,ref pnAdapterOutputIndex); - } -} - - -public class CVRTrackedCamera -{ - IVRTrackedCamera FnTable; - internal CVRTrackedCamera(IntPtr pInterface) - { - FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera)); - } - public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError) - { - IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError); - return Marshal.PtrToStringAnsi(result); - } - public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera) - { - pHasCamera = false; - EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera); - return result; - } - public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize) - { - pnWidth = 0; - pnHeight = 0; - pnFrameBufferSize = 0; - EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize); - return result; - } - public EVRTrackedCameraError GetCameraIntrinsics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter) - { - EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter); - return result; - } - public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) - { - EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection); - return result; - } - public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle) - { - pHandle = 0; - EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle); - return result; - } - public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera) - { - EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera); - return result; - } - public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref VRTextureBounds_t pTextureBounds,ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureSize(nDeviceIndex,eFrameType,ref pTextureBounds,ref pnWidth,ref pnHeight); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureD3D11(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureD3D11(hTrackedCamera,eFrameType,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureGL(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,ref uint pglTextureId,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - pglTextureId = 0; - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureGL(hTrackedCamera,eFrameType,ref pglTextureId,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError ReleaseVideoStreamTextureGL(ulong hTrackedCamera,uint glTextureId) - { - EVRTrackedCameraError result = FnTable.ReleaseVideoStreamTextureGL(hTrackedCamera,glTextureId); - return result; - } -} - - -public class CVRApplications -{ - IVRApplications FnTable; - internal CVRApplications(IntPtr pInterface) - { - FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications)); - } - public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath,bool bTemporary) - { - EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPath,bTemporary); - return result; - } - public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath) - { - EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath); - return result; - } - public bool IsApplicationInstalled(string pchAppKey) - { - bool result = FnTable.IsApplicationInstalled(pchAppKey); - return result; - } - public uint GetApplicationCount() - { - uint result = FnTable.GetApplicationCount(); - return result; - } - public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError LaunchApplication(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchApplication(pchAppKey); - return result; - } - public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys) - { - EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length); - return result; - } - public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType,string pchArgs) - { - EVRApplicationError result = FnTable.LaunchApplicationFromMimeType(pchMimeType,pchArgs); - return result; - } - public EVRApplicationError LaunchDashboardOverlay(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey); - return result; - } - public bool CancelApplicationLaunch(string pchAppKey) - { - bool result = FnTable.CancelApplicationLaunch(pchAppKey); - return result; - } - public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey) - { - EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKey); - return result; - } - public uint GetApplicationProcessId(string pchAppKey) - { - uint result = FnTable.GetApplicationProcessId(pchAppKey); - return result; - } - public string GetApplicationsErrorNameFromEnum(EVRApplicationError error) - { - IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,System.Text.StringBuilder pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError) - { - uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError); - return result; - } - public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - bool result = FnTable.GetApplicationPropertyBool(pchAppKey,eProperty,ref peError); - return result; - } - public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - ulong result = FnTable.GetApplicationPropertyUint64(pchAppKey,eProperty,ref peError); - return result; - } - public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch) - { - EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKey,bAutoLaunch); - return result; - } - public bool GetApplicationAutoLaunch(string pchAppKey) - { - bool result = FnTable.GetApplicationAutoLaunch(pchAppKey); - return result; - } - public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey,string pchMimeType) - { - EVRApplicationError result = FnTable.SetDefaultApplicationForMimeType(pchAppKey,pchMimeType); - return result; - } - public bool GetDefaultApplicationForMimeType(string pchMimeType,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - bool result = FnTable.GetDefaultApplicationForMimeType(pchMimeType,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public bool GetApplicationSupportedMimeTypes(string pchAppKey,string pchMimeTypesBuffer,uint unMimeTypesBuffer) - { - bool result = FnTable.GetApplicationSupportedMimeTypes(pchAppKey,pchMimeTypesBuffer,unMimeTypesBuffer); - return result; - } - public uint GetApplicationsThatSupportMimeType(string pchMimeType,string pchAppKeysThatSupportBuffer,uint unAppKeysThatSupportBuffer) - { - uint result = FnTable.GetApplicationsThatSupportMimeType(pchMimeType,pchAppKeysThatSupportBuffer,unAppKeysThatSupportBuffer); - return result; - } - public uint GetApplicationLaunchArguments(uint unHandle,string pchArgs,uint unArgs) - { - uint result = FnTable.GetApplicationLaunchArguments(unHandle,pchArgs,unArgs); - return result; - } - public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationTransitionState GetTransitionState() - { - EVRApplicationTransitionState result = FnTable.GetTransitionState(); - return result; - } - public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey) - { - EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKey); - return result; - } - public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state) - { - IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state); - return Marshal.PtrToStringAnsi(result); - } - public bool IsQuitUserPromptRequested() - { - bool result = FnTable.IsQuitUserPromptRequested(); - return result; - } - public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory) - { - EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory); - return result; - } - public uint GetCurrentSceneProcessId() - { - uint result = FnTable.GetCurrentSceneProcessId(); - return result; - } -} - - -public class CVRChaperone -{ - IVRChaperone FnTable; - internal CVRChaperone(IntPtr pInterface) - { - FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone)); - } - public ChaperoneCalibrationState GetCalibrationState() - { - ChaperoneCalibrationState result = FnTable.GetCalibrationState(); - return result; - } - public bool GetPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetPlayAreaRect(ref rect); - return result; - } - public void ReloadInfo() - { - FnTable.ReloadInfo(); - } - public void SetSceneColor(HmdColor_t color) - { - FnTable.SetSceneColor(color); - } - public void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor) - { - FnTable.GetBoundsColor(ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor); - } - public bool AreBoundsVisible() - { - bool result = FnTable.AreBoundsVisible(); - return result; - } - public void ForceBoundsVisible(bool bForce) - { - FnTable.ForceBoundsVisible(bForce); - } -} - - -public class CVRChaperoneSetup -{ - IVRChaperoneSetup FnTable; - internal CVRChaperoneSetup(IntPtr pInterface) - { - FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup)); - } - public bool CommitWorkingCopy(EChaperoneConfigFile configFile) - { - bool result = FnTable.CommitWorkingCopy(configFile); - return result; - } - public void RevertWorkingCopy() - { - FnTable.RevertWorkingCopy(); - } - public bool GetWorkingPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetWorkingPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetWorkingPlayAreaRect(ref rect); - return result; - } - public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetWorkingCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetLiveCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLiveCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingPlayAreaSize(float sizeX,float sizeZ) - { - FnTable.SetWorkingPlayAreaSize(sizeX,sizeZ); - } - public void SetWorkingCollisionBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - } - public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose); - } - public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); - } - public void ReloadFromDisk(EChaperoneConfigFile configFile) - { - FnTable.ReloadFromDisk(configFile); - } - public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingCollisionBoundsTagsInfo(byte [] pTagsBuffer) - { - FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer,(uint) pTagsBuffer.Length); - } - public bool GetLiveCollisionBoundsTagsInfo(out byte [] pTagsBuffer) - { - uint punTagCount = 0; - bool result = FnTable.GetLiveCollisionBoundsTagsInfo(null,ref punTagCount); - pTagsBuffer= new byte[punTagCount]; - result = FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer,ref punTagCount); - return result; - } - public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - bool result = FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - return result; - } - public bool GetLivePhysicalBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLivePhysicalBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool ExportLiveToBuffer(System.Text.StringBuilder pBuffer,ref uint pnBufferLength) - { - pnBufferLength = 0; - bool result = FnTable.ExportLiveToBuffer(pBuffer,ref pnBufferLength); - return result; - } - public bool ImportFromBufferToWorking(string pBuffer,uint nImportFlags) - { - bool result = FnTable.ImportFromBufferToWorking(pBuffer,nImportFlags); - return result; - } -} - - -public class CVRCompositor -{ - IVRCompositor FnTable; - internal CVRCompositor(IntPtr pInterface) - { - FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor)); - } - public void SetTrackingSpace(ETrackingUniverseOrigin eOrigin) - { - FnTable.SetTrackingSpace(eOrigin); - } - public ETrackingUniverseOrigin GetTrackingSpace() - { - ETrackingUniverseOrigin result = FnTable.GetTrackingSpace(); - return result; - } - public EVRCompositorError WaitGetPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.WaitGetPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.GetLastPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex,ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pOutputGamePose) - { - EVRCompositorError result = FnTable.GetLastPoseForTrackedDeviceIndex(unDeviceIndex,ref pOutputPose,ref pOutputGamePose); - return result; - } - public EVRCompositorError Submit(EVREye eEye,ref Texture_t pTexture,ref VRTextureBounds_t pBounds,EVRSubmitFlags nSubmitFlags) - { - EVRCompositorError result = FnTable.Submit(eEye,ref pTexture,ref pBounds,nSubmitFlags); - return result; - } - public void ClearLastSubmittedFrame() - { - FnTable.ClearLastSubmittedFrame(); - } - public void PostPresentHandoff() - { - FnTable.PostPresentHandoff(); - } - public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo) - { - bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo); - return result; - } - public uint GetFrameTimings(ref Compositor_FrameTiming pTiming,uint nFrames) - { - uint result = FnTable.GetFrameTimings(ref pTiming,nFrames); - return result; - } - public float GetFrameTimeRemaining() - { - float result = FnTable.GetFrameTimeRemaining(); - return result; - } - public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes) - { - FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes); - } - public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground) - { - FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground); - } - public HmdColor_t GetCurrentFadeColor(bool bBackground) - { - HmdColor_t result = FnTable.GetCurrentFadeColor(bBackground); - return result; - } - public void FadeGrid(float fSeconds,bool bFadeIn) - { - FnTable.FadeGrid(fSeconds,bFadeIn); - } - public float GetCurrentGridAlpha() - { - float result = FnTable.GetCurrentGridAlpha(); - return result; - } - public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures) - { - EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length); - return result; - } - public void ClearSkyboxOverride() - { - FnTable.ClearSkyboxOverride(); - } - public void CompositorBringToFront() - { - FnTable.CompositorBringToFront(); - } - public void CompositorGoToBack() - { - FnTable.CompositorGoToBack(); - } - public void CompositorQuit() - { - FnTable.CompositorQuit(); - } - public bool IsFullscreen() - { - bool result = FnTable.IsFullscreen(); - return result; - } - public uint GetCurrentSceneFocusProcess() - { - uint result = FnTable.GetCurrentSceneFocusProcess(); - return result; - } - public uint GetLastFrameRenderer() - { - uint result = FnTable.GetLastFrameRenderer(); - return result; - } - public bool CanRenderScene() - { - bool result = FnTable.CanRenderScene(); - return result; - } - public void ShowMirrorWindow() - { - FnTable.ShowMirrorWindow(); - } - public void HideMirrorWindow() - { - FnTable.HideMirrorWindow(); - } - public bool IsMirrorWindowVisible() - { - bool result = FnTable.IsMirrorWindowVisible(); - return result; - } - public void CompositorDumpImages() - { - FnTable.CompositorDumpImages(); - } - public bool ShouldAppRenderWithLowResources() - { - bool result = FnTable.ShouldAppRenderWithLowResources(); - return result; - } - public void ForceInterleavedReprojectionOn(bool bOverride) - { - FnTable.ForceInterleavedReprojectionOn(bOverride); - } - public void ForceReconnectProcess() - { - FnTable.ForceReconnectProcess(); - } - public void SuspendRendering(bool bSuspend) - { - FnTable.SuspendRendering(bSuspend); - } - public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView) - { - EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView); - return result; - } - public void ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView) - { - FnTable.ReleaseMirrorTextureD3D11(pD3D11ShaderResourceView); - } - public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle) - { - pglTextureId = 0; - EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle); - return result; - } - public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle) - { - bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle); - return result; - } - public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle); - } - public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle); - } - public uint GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetVulkanInstanceExtensionsRequired(pchValue,unBufferSize); - return result; - } - public uint GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice,System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize); - return result; - } - public void SetExplicitTimingMode(bool bExplicitTimingMode) - { - FnTable.SetExplicitTimingMode(bExplicitTimingMode); - } - public EVRCompositorError SubmitExplicitTimingData() - { - EVRCompositorError result = FnTable.SubmitExplicitTimingData(); - return result; - } -} - - -public class CVROverlay -{ - IVROverlay FnTable; - internal CVROverlay(IntPtr pInterface) - { - FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay)); - } - public EVROverlayError FindOverlay(string pchOverlayKey,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.FindOverlay(pchOverlayKey,ref pOverlayHandle); - return result; - } - public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayName,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.CreateOverlay(pchOverlayKey,pchOverlayName,ref pOverlayHandle); - return result; - } - public EVROverlayError DestroyOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.SetHighQualityOverlay(ulOverlayHandle); - return result; - } - public ulong GetHighQualityOverlay() - { - ulong result = FnTable.GetHighQualityOverlay(); - return result; - } - public uint GetOverlayKey(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayKey(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public uint GetOverlayName(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayName(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public EVROverlayError SetOverlayName(ulong ulOverlayHandle,string pchName) - { - EVROverlayError result = FnTable.SetOverlayName(ulOverlayHandle,pchName); - return result; - } - public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer,uint unBufferSize,ref uint punWidth,ref uint punHeight) - { - punWidth = 0; - punHeight = 0; - EVROverlayError result = FnTable.GetOverlayImageData(ulOverlayHandle,pvBuffer,unBufferSize,ref punWidth,ref punHeight); - return result; - } - public string GetOverlayErrorNameFromEnum(EVROverlayError error) - { - IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID) - { - EVROverlayError result = FnTable.SetOverlayRenderingPid(ulOverlayHandle,unPID); - return result; - } - public uint GetOverlayRenderingPid(ulong ulOverlayHandle) - { - uint result = FnTable.GetOverlayRenderingPid(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,bool bEnabled) - { - EVROverlayError result = FnTable.SetOverlayFlag(ulOverlayHandle,eOverlayFlag,bEnabled); - return result; - } - public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,ref bool pbEnabled) - { - pbEnabled = false; - EVROverlayError result = FnTable.GetOverlayFlag(ulOverlayHandle,eOverlayFlag,ref pbEnabled); - return result; - } - public EVROverlayError SetOverlayColor(ulong ulOverlayHandle,float fRed,float fGreen,float fBlue) - { - EVROverlayError result = FnTable.SetOverlayColor(ulOverlayHandle,fRed,fGreen,fBlue); - return result; - } - public EVROverlayError GetOverlayColor(ulong ulOverlayHandle,ref float pfRed,ref float pfGreen,ref float pfBlue) - { - pfRed = 0; - pfGreen = 0; - pfBlue = 0; - EVROverlayError result = FnTable.GetOverlayColor(ulOverlayHandle,ref pfRed,ref pfGreen,ref pfBlue); - return result; - } - public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle,float fAlpha) - { - EVROverlayError result = FnTable.SetOverlayAlpha(ulOverlayHandle,fAlpha); - return result; - } - public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha) - { - pfAlpha = 0; - EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha); - return result; - } - public EVROverlayError SetOverlayTexelAspect(ulong ulOverlayHandle,float fTexelAspect) - { - EVROverlayError result = FnTable.SetOverlayTexelAspect(ulOverlayHandle,fTexelAspect); - return result; - } - public EVROverlayError GetOverlayTexelAspect(ulong ulOverlayHandle,ref float pfTexelAspect) - { - pfTexelAspect = 0; - EVROverlayError result = FnTable.GetOverlayTexelAspect(ulOverlayHandle,ref pfTexelAspect); - return result; - } - public EVROverlayError SetOverlaySortOrder(ulong ulOverlayHandle,uint unSortOrder) - { - EVROverlayError result = FnTable.SetOverlaySortOrder(ulOverlayHandle,unSortOrder); - return result; - } - public EVROverlayError GetOverlaySortOrder(ulong ulOverlayHandle,ref uint punSortOrder) - { - punSortOrder = 0; - EVROverlayError result = FnTable.GetOverlaySortOrder(ulOverlayHandle,ref punSortOrder); - return result; - } - public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters) - { - EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters); - return result; - } - public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle,ref float pfWidthInMeters) - { - pfWidthInMeters = 0; - EVROverlayError result = FnTable.GetOverlayWidthInMeters(ulOverlayHandle,ref pfWidthInMeters); - return result; - } - public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,float fMinDistanceInMeters,float fMaxDistanceInMeters) - { - EVROverlayError result = FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,fMinDistanceInMeters,fMaxDistanceInMeters); - return result; - } - public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,ref float pfMinDistanceInMeters,ref float pfMaxDistanceInMeters) - { - pfMinDistanceInMeters = 0; - pfMaxDistanceInMeters = 0; - EVROverlayError result = FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,ref pfMinDistanceInMeters,ref pfMaxDistanceInMeters); - return result; - } - public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) - { - EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); - return result; - } - public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace) - { - EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace); - return result; - } - public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.SetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.GetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public uint GetOverlayRenderModel(ulong ulOverlayHandle,string pchValue,uint unBufferSize,ref HmdColor_t pColor,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayRenderModel(ulOverlayHandle,pchValue,unBufferSize,ref pColor,ref pError); - return result; - } - public EVROverlayError SetOverlayRenderModel(ulong ulOverlayHandle,string pchRenderModel,ref HmdColor_t pColor) - { - EVROverlayError result = FnTable.SetOverlayRenderModel(ulOverlayHandle,pchRenderModel,ref pColor); - return result; - } - public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle,ref VROverlayTransformType peTransformType) - { - EVROverlayError result = FnTable.GetOverlayTransformType(ulOverlayHandle,ref peTransformType); - return result; - } - public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformAbsolute(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,uint unTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,unTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - punTrackedDevice = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,uint unDeviceIndex,string pchComponentName) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentName); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,string pchComponentName,uint unComponentNameSize) - { - punDeviceIndex = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize); - return result; - } - public EVROverlayError GetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ref ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - ulOverlayHandleParent = 0; - EVROverlayError result = FnTable.GetOverlayTransformOverlayRelative(ulOverlayHandle,ref ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformOverlayRelative(ulOverlayHandle,ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } - public EVROverlayError ShowOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ShowOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError HideOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.HideOverlay(ulOverlayHandle); - return result; - } - public bool IsOverlayVisible(ulong ulOverlayHandle) - { - bool result = FnTable.IsOverlayVisible(ulOverlayHandle); - return result; - } - public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,HmdVector2_t coordinatesInOverlay,ref HmdMatrix34_t pmatTransform) - { - EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextOverlayEventPacked(ulong ulOverlayHandle,ref VREvent_t_Packed pEvent,uint uncbVREvent); - [StructLayout(LayoutKind.Explicit)] - struct PollNextOverlayEventUnion - { - [FieldOffset(0)] - public IVROverlay._PollNextOverlayEvent pPollNextOverlayEvent; - [FieldOffset(0)] - public _PollNextOverlayEventPacked pPollNextOverlayEventPacked; - } - public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - PollNextOverlayEventUnion u; - VREvent_t_Packed event_packed = new VREvent_t_Packed(); - u.pPollNextOverlayEventPacked = null; - u.pPollNextOverlayEvent = FnTable.PollNextOverlayEvent; - bool packed_result = u.pPollNextOverlayEventPacked(ulOverlayHandle,ref event_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VREvent_t_Packed))); - - event_packed.Unpack(ref pEvent); - return packed_result; - } -#endif - bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent); - return result; - } - public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle,ref VROverlayInputMethod peInputMethod) - { - EVROverlayError result = FnTable.GetOverlayInputMethod(ulOverlayHandle,ref peInputMethod); - return result; - } - public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle,VROverlayInputMethod eInputMethod) - { - EVROverlayError result = FnTable.SetOverlayInputMethod(ulOverlayHandle,eInputMethod); - return result; - } - public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.GetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.SetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public bool ComputeOverlayIntersection(ulong ulOverlayHandle,ref VROverlayIntersectionParams_t pParams,ref VROverlayIntersectionResults_t pResults) - { - bool result = FnTable.ComputeOverlayIntersection(ulOverlayHandle,ref pParams,ref pResults); - return result; - } - public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle,uint unControllerDeviceIndex) - { - bool result = FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle,unControllerDeviceIndex); - return result; - } - public bool IsHoverTargetOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle); - return result; - } - public ulong GetGamepadFocusOverlay() - { - ulong result = FnTable.GetGamepadFocusOverlay(); - return result; - } - public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay) - { - EVROverlayError result = FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay); - return result; - } - public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection,ulong ulFrom,ulong ulTo) - { - EVROverlayError result = FnTable.SetOverlayNeighbor(eDirection,ulFrom,ulTo); - return result; - } - public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection,ulong ulFrom) - { - EVROverlayError result = FnTable.MoveGamepadFocusToNeighbor(eDirection,ulFrom); - return result; - } - public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle,ref Texture_t pTexture) - { - EVROverlayError result = FnTable.SetOverlayTexture(ulOverlayHandle,ref pTexture); - return result; - } - public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ClearOverlayTexture(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle,IntPtr pvBuffer,uint unWidth,uint unHeight,uint unDepth) - { - EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unDepth); - return result; - } - public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath) - { - EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath); - return result; - } - public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref ETextureType pAPIType,ref EColorSpace pColorSpace,ref VRTextureBounds_t pTextureBounds) - { - pWidth = 0; - pHeight = 0; - pNativeFormat = 0; - EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPIType,ref pColorSpace,ref pTextureBounds); - return result; - } - public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle) - { - EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle); - return result; - } - public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight) - { - pWidth = 0; - pHeight = 0; - EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight); - return result; - } - public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle) - { - pMainHandle = 0; - pThumbnailHandle = 0; - EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pMainHandle,ref pThumbnailHandle); - return result; - } - public bool IsDashboardVisible() - { - bool result = FnTable.IsDashboardVisible(); - return result; - } - public bool IsActiveDashboardOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsActiveDashboardOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle,uint unProcessId) - { - EVROverlayError result = FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle,unProcessId); - return result; - } - public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle,ref uint punProcessId) - { - punProcessId = 0; - EVROverlayError result = FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle,ref punProcessId); - return result; - } - public void ShowDashboard(string pchOverlayToShow) - { - FnTable.ShowDashboard(pchOverlayToShow); - } - public uint GetPrimaryDashboardDevice() - { - uint result = FnTable.GetPrimaryDashboardDevice(); - return result; - } - public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public uint GetKeyboardText(System.Text.StringBuilder pchText,uint cchText) - { - uint result = FnTable.GetKeyboardText(pchText,cchText); - return result; - } - public void HideKeyboard() - { - FnTable.HideKeyboard(); - } - public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) - { - FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform); - } - public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoidRect) - { - FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect); - } - public EVROverlayError SetOverlayIntersectionMask(ulong ulOverlayHandle,ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives,uint unNumMaskPrimitives,uint unPrimitiveSize) - { - EVROverlayError result = FnTable.SetOverlayIntersectionMask(ulOverlayHandle,ref pMaskPrimitives,unNumMaskPrimitives,unPrimitiveSize); - return result; - } - public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags) - { - pFlags = 0; - EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags); - return result; - } - public VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text) - { - VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text); - return result; - } - public void CloseMessageOverlay() - { - FnTable.CloseMessageOverlay(); - } -} - - -public class CVRRenderModels -{ - IVRRenderModels FnTable; - internal CVRRenderModels(IntPtr pInterface) - { - FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels)); - } - public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName,ref IntPtr ppRenderModel) - { - EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelName,ref ppRenderModel); - return result; - } - public void FreeRenderModel(IntPtr pRenderModel) - { - FnTable.FreeRenderModel(pRenderModel); - } - public EVRRenderModelError LoadTexture_Async(int textureId,ref IntPtr ppTexture) - { - EVRRenderModelError result = FnTable.LoadTexture_Async(textureId,ref ppTexture); - return result; - } - public void FreeTexture(IntPtr pTexture) - { - FnTable.FreeTexture(pTexture); - } - public EVRRenderModelError LoadTextureD3D11_Async(int textureId,IntPtr pD3D11Device,ref IntPtr ppD3D11Texture2D) - { - EVRRenderModelError result = FnTable.LoadTextureD3D11_Async(textureId,pD3D11Device,ref ppD3D11Texture2D); - return result; - } - public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId,IntPtr pDstTexture) - { - EVRRenderModelError result = FnTable.LoadIntoTextureD3D11_Async(textureId,pDstTexture); - return result; - } - public void FreeTextureD3D11(IntPtr pD3D11Texture2D) - { - FnTable.FreeTextureD3D11(pD3D11Texture2D); - } - public uint GetRenderModelName(uint unRenderModelIndex,System.Text.StringBuilder pchRenderModelName,uint unRenderModelNameLen) - { - uint result = FnTable.GetRenderModelName(unRenderModelIndex,pchRenderModelName,unRenderModelNameLen); - return result; - } - public uint GetRenderModelCount() - { - uint result = FnTable.GetRenderModelCount(); - return result; - } - public uint GetComponentCount(string pchRenderModelName) - { - uint result = FnTable.GetComponentCount(pchRenderModelName); - return result; - } - public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen) - { - uint result = FnTable.GetComponentName(pchRenderModelName,unComponentIndex,pchComponentName,unComponentNameLen); - return result; - } - public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName) - { - ulong result = FnTable.GetComponentButtonMask(pchRenderModelName,pchComponentName); - return result; - } - public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen) - { - uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentStatePacked(string pchRenderModelName,string pchComponentName,ref VRControllerState_t_Packed pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState); - [StructLayout(LayoutKind.Explicit)] - struct GetComponentStateUnion - { - [FieldOffset(0)] - public IVRRenderModels._GetComponentState pGetComponentState; - [FieldOffset(0)] - public _GetComponentStatePacked pGetComponentStatePacked; - } - public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetComponentStateUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetComponentStatePacked = null; - u.pGetComponentState = FnTable.GetComponentState; - bool packed_result = u.pGetComponentStatePacked(pchRenderModelName,pchComponentName,ref state_packed,ref pState,ref pComponentState); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState); - return result; - } - public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName) - { - bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName); - return result; - } - public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError); - return result; - } - public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError); - return result; - } - public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error) - { - IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } -} - - -public class CVRNotifications -{ - IVRNotifications FnTable; - internal CVRNotifications(IntPtr pInterface) - { - FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications)); - } - public EVRNotificationError CreateNotification(ulong ulOverlayHandle,ulong ulUserValue,EVRNotificationType type,string pchText,EVRNotificationStyle style,ref NotificationBitmap_t pImage,ref uint pNotificationId) - { - pNotificationId = 0; - EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchText,style,ref pImage,ref pNotificationId); - return result; - } - public EVRNotificationError RemoveNotification(uint notificationId) - { - EVRNotificationError result = FnTable.RemoveNotification(notificationId); - return result; - } -} - - -public class CVRSettings -{ - IVRSettings FnTable; - internal CVRSettings(IntPtr pInterface) - { - FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings)); - } - public string GetSettingsErrorNameFromEnum(EVRSettingsError eError) - { - IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError); - return Marshal.PtrToStringAnsi(result); - } - public bool Sync(bool bForce,ref EVRSettingsError peError) - { - bool result = FnTable.Sync(bForce,ref peError); - return result; - } - public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError) - { - FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError); - } - public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError) - { - FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError); - } - public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError) - { - FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError); - } - public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError) - { - FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError); - } - public bool GetBool(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - bool result = FnTable.GetBool(pchSection,pchSettingsKey,ref peError); - return result; - } - public int GetInt32(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - int result = FnTable.GetInt32(pchSection,pchSettingsKey,ref peError); - return result; - } - public float GetFloat(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - float result = FnTable.GetFloat(pchSection,pchSettingsKey,ref peError); - return result; - } - public void GetString(string pchSection,string pchSettingsKey,System.Text.StringBuilder pchValue,uint unValueLen,ref EVRSettingsError peError) - { - FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,ref peError); - } - public void RemoveSection(string pchSection,ref EVRSettingsError peError) - { - FnTable.RemoveSection(pchSection,ref peError); - } - public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - FnTable.RemoveKeyInSection(pchSection,pchSettingsKey,ref peError); - } -} - - -public class CVRScreenshots -{ - IVRScreenshots FnTable; - internal CVRScreenshots(IntPtr pInterface) - { - FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots)); - } - public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes) - { - EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length); - return result; - } - public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError) - { - EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError); - return result; - } - public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError) - { - uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError); - return result; - } - public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress) - { - EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress); - return result; - } - public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename) - { - EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename); - return result; - } -} - - -public class CVRResources -{ - IVRResources FnTable; - internal CVRResources(IntPtr pInterface) - { - FnTable = (IVRResources)Marshal.PtrToStructure(pInterface, typeof(IVRResources)); - } - public uint LoadSharedResource(string pchResourceName,string pchBuffer,uint unBufferLen) - { - uint result = FnTable.LoadSharedResource(pchResourceName,pchBuffer,unBufferLen); - return result; - } - public uint GetResourceFullPath(string pchResourceName,string pchResourceTypeDirectory,string pchPathBuffer,uint unBufferLen) - { - uint result = FnTable.GetResourceFullPath(pchResourceName,pchResourceTypeDirectory,pchPathBuffer,unBufferLen); - return result; - } -} - - -public class CVRDriverManager -{ - IVRDriverManager FnTable; - internal CVRDriverManager(IntPtr pInterface) - { - FnTable = (IVRDriverManager)Marshal.PtrToStructure(pInterface, typeof(IVRDriverManager)); - } - public uint GetDriverCount() - { - uint result = FnTable.GetDriverCount(); - return result; - } - public uint GetDriverName(uint nDriver,System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetDriverName(nDriver,pchValue,unBufferSize); - return result; - } -} - - -public class OpenVRInterop -{ - [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal", CallingConvention = CallingConvention.Cdecl)] - internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType); - [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal", CallingConvention = CallingConvention.Cdecl)] - internal static extern void ShutdownInternal(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsHmdPresent(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsRuntimeInstalled(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError", CallingConvention = CallingConvention.Cdecl)] - internal static extern IntPtr GetStringForHmdError(EVRInitError error); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface", CallingConvention = CallingConvention.Cdecl)] - internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken", CallingConvention = CallingConvention.Cdecl)] - internal static extern uint GetInitToken(); -} - - -public enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1, -} -public enum ETextureType -{ - DirectX = 0, - OpenGL = 1, - Vulkan = 2, - IOSurface = 3, - DirectX12 = 4, -} -public enum EColorSpace -{ - Auto = 0, - Gamma = 1, - Linear = 2, -} -public enum ETrackingResult -{ - Uninitialized = 1, - Calibrating_InProgress = 100, - Calibrating_OutOfRange = 101, - Running_OK = 200, - Running_OutOfRange = 201, -} -public enum ETrackedDeviceClass -{ - Invalid = 0, - HMD = 1, - Controller = 2, - GenericTracker = 3, - TrackingReference = 4, - DisplayRedirect = 5, -} -public enum ETrackedControllerRole -{ - Invalid = 0, - LeftHand = 1, - RightHand = 2, -} -public enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, - TrackingUniverseStanding = 1, - TrackingUniverseRawAndUncalibrated = 2, -} -public enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, - Prop_Axis1Type_Int32 = 3003, - Prop_Axis2Type_Int32 = 3004, - Prop_Axis3Type_Int32 = 3005, - Prop_Axis4Type_Int32 = 3006, - Prop_ControllerRoleHint_Int32 = 3007, - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - Prop_IconPathName_String = 5000, - Prop_NamedIconPathDeviceOff_String = 5001, - Prop_NamedIconPathDeviceSearching_String = 5002, - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, - Prop_NamedIconPathDeviceReady_String = 5004, - Prop_NamedIconPathDeviceReadyAlert_String = 5005, - Prop_NamedIconPathDeviceNotReady_String = 5006, - Prop_NamedIconPathDeviceStandby_String = 5007, - Prop_NamedIconPathDeviceAlertLow_String = 5008, - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -} -public enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -} -public enum EVRSubmitFlags -{ - Submit_Default = 0, - Submit_LensDistortionAlreadyApplied = 1, - Submit_GlRenderBuffer = 2, - Submit_Reserved = 4, - Submit_TextureWithPose = 8, -} -public enum EVRState -{ - Undefined = -1, - Off = 0, - Searching = 1, - Searching_Alert = 2, - Ready = 3, - Ready_Alert = 4, - NotReady = 5, - Standby = 6, - Ready_Alert_Low = 7, -} -public enum EVREventType -{ - VREvent_None = 0, - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - VREvent_ButtonPress = 200, - VREvent_ButtonUnpress = 201, - VREvent_ButtonTouch = 202, - VREvent_ButtonUntouch = 203, - VREvent_MouseMove = 300, - VREvent_MouseButtonDown = 301, - VREvent_MouseButtonUp = 302, - VREvent_FocusEnter = 303, - VREvent_FocusLeave = 304, - VREvent_Scroll = 305, - VREvent_TouchPadMove = 306, - VREvent_OverlayFocusChanged = 307, - VREvent_InputFocusCaptured = 400, - VREvent_InputFocusReleased = 401, - VREvent_SceneFocusLost = 402, - VREvent_SceneFocusGained = 403, - VREvent_SceneApplicationChanged = 404, - VREvent_SceneFocusChanged = 405, - VREvent_InputFocusChanged = 406, - VREvent_SceneApplicationSecondaryRenderingStarted = 407, - VREvent_HideRenderModels = 410, - VREvent_ShowRenderModels = 411, - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, - VREvent_DashboardRequested = 505, - VREvent_ResetDashboard = 506, - VREvent_RenderToast = 507, - VREvent_ImageLoaded = 508, - VREvent_ShowKeyboard = 509, - VREvent_HideKeyboard = 510, - VREvent_OverlayGamepadFocusGained = 511, - VREvent_OverlayGamepadFocusLost = 512, - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, - VREvent_ImageFailed = 517, - VREvent_DashboardOverlayCreated = 518, - VREvent_RequestScreenshot = 520, - VREvent_ScreenshotTaken = 521, - VREvent_ScreenshotFailed = 522, - VREvent_SubmitScreenshotToDashboard = 523, - VREvent_ScreenshotProgressToDashboard = 524, - VREvent_PrimaryDashboardDeviceChanged = 525, - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - VREvent_Quit = 700, - VREvent_ProcessQuit = 701, - VREvent_QuitAborted_UserPrompt = 702, - VREvent_QuitAcknowledged = 703, - VREvent_DriverRequestedQuit = 704, - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - VREvent_AudioSettingsHaveChanged = 820, - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - VREvent_StatusUpdate = 900, - VREvent_MCImageUpdated = 1000, - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -} -public enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -} -public enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - k_EButton_ProximitySensor = 31, - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - k_EButton_SteamVR_Touchpad = 32, - k_EButton_SteamVR_Trigger = 33, - k_EButton_Dashboard_Back = 2, - k_EButton_Max = 64, -} -public enum EVRMouseButton -{ - Left = 1, - Right = 2, - Middle = 4, -} -public enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - k_eHiddenAreaMesh_Max = 3, -} -public enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, -} -public enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -} -public enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - COLLISION_BOUNDS_STYLE_SQUARES = 2, - COLLISION_BOUNDS_STYLE_ADVANCED = 3, - COLLISION_BOUNDS_STYLE_NONE = 4, - COLLISION_BOUNDS_STYLE_COUNT = 5, -} -public enum EVROverlayError -{ - None = 0, - UnknownOverlay = 10, - InvalidHandle = 11, - PermissionDenied = 12, - OverlayLimitExceeded = 13, - WrongVisibilityType = 14, - KeyTooLong = 15, - NameTooLong = 16, - KeyInUse = 17, - WrongTransformType = 18, - InvalidTrackedDevice = 19, - InvalidParameter = 20, - ThumbnailCantBeDestroyed = 21, - ArrayTooSmall = 22, - RequestFailed = 23, - InvalidTexture = 24, - UnableToLoadFile = 25, - KeyboardAlreadyInUse = 26, - NoNeighbor = 27, - TooManyMaskPrimitives = 29, - BadMaskPrimitive = 30, -} -public enum EVRApplicationType -{ - VRApplication_Other = 0, - VRApplication_Scene = 1, - VRApplication_Overlay = 2, - VRApplication_Background = 3, - VRApplication_Utility = 4, - VRApplication_VRMonitor = 5, - VRApplication_SteamWatchdog = 6, - VRApplication_Bootstrapper = 7, - VRApplication_Max = 8, -} -public enum EVRFirmwareError -{ - None = 0, - Success = 1, - Fail = 2, -} -public enum EVRNotificationError -{ - OK = 0, - InvalidNotificationId = 100, - NotificationQueueFull = 101, - InvalidOverlayHandle = 102, - SystemWithUserValueAlreadyExists = 103, -} -public enum EVRInitError -{ - None = 0, - Unknown = 1, - Init_InstallationNotFound = 100, - Init_InstallationCorrupt = 101, - Init_VRClientDLLNotFound = 102, - Init_FileNotFound = 103, - Init_FactoryNotFound = 104, - Init_InterfaceNotFound = 105, - Init_InvalidInterface = 106, - Init_UserConfigDirectoryInvalid = 107, - Init_HmdNotFound = 108, - Init_NotInitialized = 109, - Init_PathRegistryNotFound = 110, - Init_NoConfigPath = 111, - Init_NoLogPath = 112, - Init_PathRegistryNotWritable = 113, - Init_AppInfoInitFailed = 114, - Init_Retry = 115, - Init_InitCanceledByUser = 116, - Init_AnotherAppLaunching = 117, - Init_SettingsInitFailed = 118, - Init_ShuttingDown = 119, - Init_TooManyObjects = 120, - Init_NoServerForBackgroundApp = 121, - Init_NotSupportedWithCompositor = 122, - Init_NotAvailableToUtilityApps = 123, - Init_Internal = 124, - Init_HmdDriverIdIsNone = 125, - Init_HmdNotFoundPresenceFailed = 126, - Init_VRMonitorNotFound = 127, - Init_VRMonitorStartupFailed = 128, - Init_LowPowerWatchdogNotSupported = 129, - Init_InvalidApplicationType = 130, - Init_NotAvailableToWatchdogApps = 131, - Init_WatchdogDisabledInSettings = 132, - Init_VRDashboardNotFound = 133, - Init_VRDashboardStartupFailed = 134, - Init_VRHomeNotFound = 135, - Init_VRHomeStartupFailed = 136, - Init_RebootingBusy = 137, - Init_FirmwareUpdateBusy = 138, - Init_FirmwareRecoveryBusy = 139, - Driver_Failed = 200, - Driver_Unknown = 201, - Driver_HmdUnknown = 202, - Driver_NotLoaded = 203, - Driver_RuntimeOutOfDate = 204, - Driver_HmdInUse = 205, - Driver_NotCalibrated = 206, - Driver_CalibrationInvalid = 207, - Driver_HmdDisplayNotFound = 208, - Driver_TrackedDeviceInterfaceUnknown = 209, - Driver_HmdDriverIdOutOfBounds = 211, - Driver_HmdDisplayMirrored = 212, - IPC_ServerInitFailed = 300, - IPC_ConnectFailed = 301, - IPC_SharedStateInitFailed = 302, - IPC_CompositorInitFailed = 303, - IPC_MutexInitFailed = 304, - IPC_Failed = 305, - IPC_CompositorConnectFailed = 306, - IPC_CompositorInvalidConnectResponse = 307, - IPC_ConnectFailedAfterMultipleAttempts = 308, - Compositor_Failed = 400, - Compositor_D3D11HardwareRequired = 401, - Compositor_FirmwareRequiresUpdate = 402, - Compositor_OverlayInitFailed = 403, - Compositor_ScreenshotsInitFailed = 404, - Compositor_UnableToCreateDevice = 405, - VendorSpecific_UnableToConnectToOculusRuntime = 1000, - VendorSpecific_HmdFound_CantOpenDevice = 1101, - VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VendorSpecific_HmdFound_NoStoredConfig = 1103, - VendorSpecific_HmdFound_ConfigTooBig = 1104, - VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VendorSpecific_HmdFound_UserDataError = 1112, - VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - Steam_SteamInstallationNotFound = 2000, -} -public enum EVRScreenshotType -{ - None = 0, - Mono = 1, - Stereo = 2, - Cubemap = 3, - MonoPanorama = 4, - StereoPanorama = 5, -} -public enum EVRScreenshotPropertyFilenames -{ - Preview = 0, - VR = 1, -} -public enum EVRTrackedCameraError -{ - None = 0, - OperationFailed = 100, - InvalidHandle = 101, - InvalidFrameHeaderVersion = 102, - OutOfHandles = 103, - IPCFailure = 104, - NotSupportedForThisDevice = 105, - SharedMemoryFailure = 106, - FrameBufferingFailure = 107, - StreamSetupFailure = 108, - InvalidGLTextureId = 109, - InvalidSharedTextureHandle = 110, - FailedToGetGLTextureId = 111, - SharedTextureFailure = 112, - NoFrameAvailable = 113, - InvalidArgument = 114, - InvalidFrameBufferSize = 115, -} -public enum EVRTrackedCameraFrameType -{ - Distorted = 0, - Undistorted = 1, - MaximumUndistorted = 2, - MAX_CAMERA_FRAME_TYPES = 3, -} -public enum EVRApplicationError -{ - None = 0, - AppKeyAlreadyExists = 100, - NoManifest = 101, - NoApplication = 102, - InvalidIndex = 103, - UnknownApplication = 104, - IPCFailed = 105, - ApplicationAlreadyRunning = 106, - InvalidManifest = 107, - InvalidApplication = 108, - LaunchFailed = 109, - ApplicationAlreadyStarting = 110, - LaunchInProgress = 111, - OldApplicationQuitting = 112, - TransitionAborted = 113, - IsTemplate = 114, - SteamVRIsExiting = 115, - BufferTooSmall = 200, - PropertyNotSet = 201, - UnknownProperty = 202, - InvalidParameter = 203, -} -public enum EVRApplicationProperty -{ - Name_String = 0, - LaunchType_String = 11, - WorkingDirectory_String = 12, - BinaryPath_String = 13, - Arguments_String = 14, - URL_String = 15, - Description_String = 50, - NewsURL_String = 51, - ImagePath_String = 52, - Source_String = 53, - IsDashboardOverlay_Bool = 60, - IsTemplate_Bool = 61, - IsInstanced_Bool = 62, - IsInternal_Bool = 63, - WantsCompositorPauseInStandby_Bool = 64, - LastLaunchTime_Uint64 = 70, -} -public enum EVRApplicationTransitionState -{ - VRApplicationTransition_None = 0, - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - VRApplicationTransition_NewAppLaunched = 20, -} -public enum ChaperoneCalibrationState -{ - OK = 1, - Warning = 100, - Warning_BaseStationMayHaveMoved = 101, - Warning_BaseStationRemoved = 102, - Warning_SeatedBoundsInvalid = 103, - Error = 200, - Error_BaseStationUninitialized = 201, - Error_BaseStationConflict = 202, - Error_PlayAreaInvalid = 203, - Error_CollisionBoundsInvalid = 204, -} -public enum EChaperoneConfigFile -{ - Live = 1, - Temp = 2, -} -public enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 1, -} -public enum EVRCompositorError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - DoNotHaveFocus = 101, - InvalidTexture = 102, - IsNotSceneApplication = 103, - TextureIsOnWrongDevice = 104, - TextureUsesUnsupportedFormat = 105, - SharedTexturesNotSupported = 106, - IndexOutOfRange = 107, - AlreadySubmitted = 108, - InvalidBounds = 109, -} -public enum VROverlayInputMethod -{ - None = 0, - Mouse = 1, -} -public enum VROverlayTransformType -{ - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, -} -public enum VROverlayFlags -{ - None = 0, - Curved = 1, - RGSS4X = 2, - NoDashboardTab = 3, - AcceptsGamepadEvents = 4, - ShowGamepadFocus = 5, - SendVRScrollEvents = 6, - SendVRTouchpadEvents = 7, - ShowTouchPadScrollWheel = 8, - TransferOwnershipToInternalProcess = 9, - SideBySide_Parallel = 10, - SideBySide_Crossed = 11, - Panorama = 12, - StereoPanorama = 13, - SortWithNonSceneOverlays = 14, - VisibleInDashboard = 15, -} -public enum VRMessageOverlayResponse -{ - ButtonPress_0 = 0, - ButtonPress_1 = 1, - ButtonPress_2 = 2, - ButtonPress_3 = 3, - CouldntFindSystemOverlay = 4, - CouldntFindOrCreateClientOverlay = 5, - ApplicationQuit = 6, -} -public enum EGamepadTextInputMode -{ - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, -} -public enum EGamepadTextInputLineMode -{ - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1, -} -public enum EOverlayDirection -{ - Up = 0, - Down = 1, - Left = 2, - Right = 3, - Count = 4, -} -public enum EVROverlayIntersectionMaskPrimitiveType -{ - OverlayIntersectionPrimitiveType_Rectangle = 0, - OverlayIntersectionPrimitiveType_Circle = 1, -} -public enum EVRRenderModelError -{ - None = 0, - Loading = 100, - NotSupported = 200, - InvalidArg = 300, - InvalidModel = 301, - NoShapes = 302, - MultipleShapes = 303, - TooManyVertices = 304, - MultipleTextures = 305, - BufferTooSmall = 306, - NotEnoughNormals = 307, - NotEnoughTexCoords = 308, - InvalidTexture = 400, -} -public enum EVRComponentProperty -{ - IsStatic = 1, - IsVisible = 2, - IsTouched = 4, - IsPressed = 8, - IsScrolled = 16, -} -public enum EVRNotificationType -{ - Transient = 0, - Persistent = 1, - Transient_SystemWithUserValue = 2, -} -public enum EVRNotificationStyle -{ - None = 0, - Application = 100, - Contact_Disabled = 200, - Contact_Enabled = 201, - Contact_Active = 202, -} -public enum EVRSettingsError -{ - None = 0, - IPCFailed = 1, - WriteFailed = 2, - ReadFailed = 3, - JsonParseFailed = 4, - UnsetSettingHasNoDefault = 5, -} -public enum EVRScreenshotError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - NotFound = 101, - BufferTooSmall = 102, - ScreenshotAlreadyInProgress = 108, -} - -[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t -{ - [FieldOffset(0)] public VREvent_Reserved_t reserved; - [FieldOffset(0)] public VREvent_Controller_t controller; - [FieldOffset(0)] public VREvent_Mouse_t mouse; - [FieldOffset(0)] public VREvent_Scroll_t scroll; - [FieldOffset(0)] public VREvent_Process_t process; - [FieldOffset(0)] public VREvent_Notification_t notification; - [FieldOffset(0)] public VREvent_Overlay_t overlay; - [FieldOffset(0)] public VREvent_Status_t status; - [FieldOffset(0)] public VREvent_Ipd_t ipd; - [FieldOffset(0)] public VREvent_Chaperone_t chaperone; - [FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest; - [FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove; - [FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - [FieldOffset(0)] public VREvent_Screenshot_t screenshot; - [FieldOffset(0)] public VREvent_ScreenshotProgress_t screenshotProgress; - [FieldOffset(0)] public VREvent_ApplicationLaunch_t applicationLaunch; - [FieldOffset(0)] public VREvent_EditingCameraSurface_t cameraSurface; - [FieldOffset(0)] public VREvent_MessageOverlay_t messageOverlay; - [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug -} - - -[StructLayout(LayoutKind.Explicit)] public struct VROverlayIntersectionMaskPrimitive_Data_t -{ - [FieldOffset(0)] public IntersectionMaskRectangle_t m_Rectangle; - [FieldOffset(0)] public IntersectionMaskCircle_t m_Circle; -} - -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t -{ - public float m0; //float[3][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix44_t -{ - public float m0; //float[4][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; - public float m12; - public float m13; - public float m14; - public float m15; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3_t -{ - public float v0; //float[3] - public float v1; - public float v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t -{ - public float v0; //float[4] - public float v1; - public float v2; - public float v3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t -{ - public double v0; //double[3] - public double v1; - public double v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t -{ - public float v0; //float[2] - public float v1; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t -{ - public double w; - public double x; - public double y; - public double z; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdColor_t -{ - public float r; - public float g; - public float b; - public float a; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t -{ - public HmdVector3_t vCorners0; //HmdVector3_t[4] - public HmdVector3_t vCorners1; - public HmdVector3_t vCorners2; - public HmdVector3_t vCorners3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdRect2_t -{ - public HmdVector2_t vTopLeft; - public HmdVector2_t vBottomRight; -} -[StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t -{ - public float rfRed0; //float[2] - public float rfRed1; - public float rfGreen0; //float[2] - public float rfGreen1; - public float rfBlue0; //float[2] - public float rfBlue1; -} -[StructLayout(LayoutKind.Sequential)] public struct Texture_t -{ - public IntPtr handle; // void * - public ETextureType eType; - public EColorSpace eColorSpace; -} -[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; - public HmdVector3_t vVelocity; - public HmdVector3_t vAngularVelocity; - public ETrackingResult eTrackingResult; - [MarshalAs(UnmanagedType.I1)] - public bool bPoseIsValid; - [MarshalAs(UnmanagedType.I1)] - public bool bDeviceIsConnected; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t -{ - public float uMin; - public float vMin; - public float uMax; - public float vMax; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; -} -[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t -{ - public ulong m_nImage; - public IntPtr m_pDevice; // struct VkDevice_T * - public IntPtr m_pPhysicalDevice; // struct VkPhysicalDevice_T * - public IntPtr m_pInstance; // struct VkInstance_T * - public IntPtr m_pQueue; // struct VkQueue_T * - public uint m_nQueueFamilyIndex; - public uint m_nWidth; - public uint m_nHeight; - public uint m_nFormat; - public uint m_nSampleCount; -} -[StructLayout(LayoutKind.Sequential)] public struct D3D12TextureData_t -{ - public IntPtr m_pResource; // struct ID3D12Resource * - public IntPtr m_pCommandQueue; // struct ID3D12CommandQueue * - public uint m_nNodeMask; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t -{ - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Mouse_t -{ - public float x; - public float y; - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Scroll_t -{ - public float xdelta; - public float ydelta; - public uint repeatCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_TouchPadMove_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bFingerDown; - public float flSecondsFingerDown; - public float fValueXFirst; - public float fValueYFirst; - public float fValueXRaw; - public float fValueYRaw; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Notification_t -{ - public ulong ulUserValue; - public uint notificationId; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Process_t -{ - public uint pid; - public uint oldPid; - [MarshalAs(UnmanagedType.I1)] - public bool bForced; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t -{ - public ulong overlayHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t -{ - public uint statusState; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Keyboard_t -{ - public byte cNewInput0,cNewInput1,cNewInput2,cNewInput3,cNewInput4,cNewInput5,cNewInput6,cNewInput7; - public ulong uUserValue; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Ipd_t -{ - public float ipdMeters; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Chaperone_t -{ - public ulong m_nPreviousUniverse; - public ulong m_nCurrentUniverse; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Reserved_t -{ - public ulong reserved0; - public ulong reserved1; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_PerformanceTest_t -{ - public uint m_nFidelityLevel; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_SeatedZeroPoseReset_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bResetBySystemMenu; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t -{ - public uint handle; - public uint type; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ScreenshotProgress_t -{ - public float progress; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ApplicationLaunch_t -{ - public uint pid; - public uint unArgsHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_EditingCameraSurface_t -{ - public ulong overlayHandle; - public uint nVisualMode; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_MessageOverlay_t -{ - public uint unVRMessageOverlayResponse; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Property_t -{ - public ulong container; - public ETrackedDeviceProperty prop; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_t -{ - public uint eventType; - public uint trackedDeviceIndex; - public float eventAgeSeconds; - public VREvent_Data_t data; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct VREvent_t_Packed -{ - public uint eventType; - public uint trackedDeviceIndex; - public float eventAgeSeconds; - public VREvent_Data_t data; - public VREvent_t_Packed(VREvent_t unpacked) - { - this.eventType = unpacked.eventType; - this.trackedDeviceIndex = unpacked.trackedDeviceIndex; - this.eventAgeSeconds = unpacked.eventAgeSeconds; - this.data = unpacked.data; - } - public void Unpack(ref VREvent_t unpacked) - { - unpacked.eventType = this.eventType; - unpacked.trackedDeviceIndex = this.trackedDeviceIndex; - unpacked.eventAgeSeconds = this.eventAgeSeconds; - unpacked.data = this.data; - } -} -[StructLayout(LayoutKind.Sequential)] public struct HiddenAreaMesh_t -{ - public IntPtr pVertexData; // const struct vr::HmdVector2_t * - public uint unTriangleCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerAxis_t -{ - public float x; - public float y; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerState_t -{ - public uint unPacketNum; - public ulong ulButtonPressed; - public ulong ulButtonTouched; - public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] - public VRControllerAxis_t rAxis1; - public VRControllerAxis_t rAxis2; - public VRControllerAxis_t rAxis3; - public VRControllerAxis_t rAxis4; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct VRControllerState_t_Packed -{ - public uint unPacketNum; - public ulong ulButtonPressed; - public ulong ulButtonTouched; - public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] - public VRControllerAxis_t rAxis1; - public VRControllerAxis_t rAxis2; - public VRControllerAxis_t rAxis3; - public VRControllerAxis_t rAxis4; - public VRControllerState_t_Packed(VRControllerState_t unpacked) - { - this.unPacketNum = unpacked.unPacketNum; - this.ulButtonPressed = unpacked.ulButtonPressed; - this.ulButtonTouched = unpacked.ulButtonTouched; - this.rAxis0 = unpacked.rAxis0; - this.rAxis1 = unpacked.rAxis1; - this.rAxis2 = unpacked.rAxis2; - this.rAxis3 = unpacked.rAxis3; - this.rAxis4 = unpacked.rAxis4; - } - public void Unpack(ref VRControllerState_t unpacked) - { - unpacked.unPacketNum = this.unPacketNum; - unpacked.ulButtonPressed = this.ulButtonPressed; - unpacked.ulButtonTouched = this.ulButtonTouched; - unpacked.rAxis0 = this.rAxis0; - unpacked.rAxis1 = this.rAxis1; - unpacked.rAxis2 = this.rAxis2; - unpacked.rAxis3 = this.rAxis3; - unpacked.rAxis4 = this.rAxis4; - } -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings -{ - public uint size; - [MarshalAs(UnmanagedType.I1)] - public bool curved; - [MarshalAs(UnmanagedType.I1)] - public bool antialias; - public float scale; - public float distance; - public float alpha; - public float uOffset; - public float vOffset; - public float uScale; - public float vScale; - public float gridDivs; - public float gridWidth; - public float gridScale; - public HmdMatrix44_t transform; -} -[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t -{ - public EVRTrackedCameraFrameType eFrameType; - public uint nWidth; - public uint nHeight; - public uint nBytesPerPixel; - public uint nFrameSequence; - public TrackedDevicePose_t standingTrackedDevicePose; -} -[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t -{ - public IntPtr pchKey; // const char * - public IntPtr pchValue; // const char * -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_FrameTiming -{ - public uint m_nSize; - public uint m_nFrameIndex; - public uint m_nNumFramePresents; - public uint m_nNumMisPresented; - public uint m_nNumDroppedFrames; - public uint m_nReprojectionFlags; - public double m_flSystemTimeInSeconds; - public float m_flPreSubmitGpuMs; - public float m_flPostSubmitGpuMs; - public float m_flTotalRenderGpuMs; - public float m_flCompositorRenderGpuMs; - public float m_flCompositorRenderCpuMs; - public float m_flCompositorIdleCpuMs; - public float m_flClientFrameIntervalMs; - public float m_flPresentCallCpuMs; - public float m_flWaitForPresentCpuMs; - public float m_flSubmitFrameMs; - public float m_flWaitGetPosesCalledMs; - public float m_flNewPosesReadyMs; - public float m_flNewFrameReadyMs; - public float m_flCompositorUpdateStartMs; - public float m_flCompositorUpdateEndMs; - public float m_flCompositorRenderStartMs; - public TrackedDevicePose_t m_HmdPose; -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats -{ - public uint m_nPid; - public uint m_nNumFramePresents; - public uint m_nNumDroppedFrames; - public uint m_nNumReprojectedFrames; - public uint m_nNumFramePresentsOnStartup; - public uint m_nNumDroppedFramesOnStartup; - public uint m_nNumReprojectedFramesOnStartup; - public uint m_nNumLoading; - public uint m_nNumFramePresentsLoading; - public uint m_nNumDroppedFramesLoading; - public uint m_nNumReprojectedFramesLoading; - public uint m_nNumTimedOut; - public uint m_nNumFramePresentsTimedOut; - public uint m_nNumDroppedFramesTimedOut; - public uint m_nNumReprojectedFramesTimedOut; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t -{ - public HmdVector3_t vSource; - public HmdVector3_t vDirection; - public ETrackingUniverseOrigin eOrigin; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionResults_t -{ - public HmdVector3_t vPoint; - public HmdVector3_t vNormal; - public HmdVector2_t vUVs; - public float fDistance; -} -[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskRectangle_t -{ - public float m_flTopLeftX; - public float m_flTopLeftY; - public float m_flWidth; - public float m_flHeight; -} -[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskCircle_t -{ - public float m_flCenterX; - public float m_flCenterY; - public float m_flRadius; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionMaskPrimitive_t -{ - public EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t -{ - public HmdMatrix34_t mTrackingToComponentRenderModel; - public HmdMatrix34_t mTrackingToComponentLocal; - public uint uProperties; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_Vertex_t -{ - public HmdVector3_t vPosition; - public HmdVector3_t vNormal; - public float rfTextureCoord0; //float[2] - public float rfTextureCoord1; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t -{ - public char unWidth; - public char unHeight; - public IntPtr rubTextureMapData; // const uint8_t * -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed -{ - public char unWidth; - public char unHeight; - public IntPtr rubTextureMapData; // const uint8_t * - public RenderModel_TextureMap_t_Packed(RenderModel_TextureMap_t unpacked) - { - this.unWidth = unpacked.unWidth; - this.unHeight = unpacked.unHeight; - this.rubTextureMapData = unpacked.rubTextureMapData; - } - public void Unpack(ref RenderModel_TextureMap_t unpacked) - { - unpacked.unWidth = this.unWidth; - unpacked.unHeight = this.unHeight; - unpacked.rubTextureMapData = this.rubTextureMapData; - } -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t -{ - public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * - public uint unVertexCount; - public IntPtr rIndexData; // const uint16_t * - public uint unTriangleCount; - public int diffuseTextureId; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_t_Packed -{ - public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * - public uint unVertexCount; - public IntPtr rIndexData; // const uint16_t * - public uint unTriangleCount; - public int diffuseTextureId; - public RenderModel_t_Packed(RenderModel_t unpacked) - { - this.rVertexData = unpacked.rVertexData; - this.unVertexCount = unpacked.unVertexCount; - this.rIndexData = unpacked.rIndexData; - this.unTriangleCount = unpacked.unTriangleCount; - this.diffuseTextureId = unpacked.diffuseTextureId; - } - public void Unpack(ref RenderModel_t unpacked) - { - unpacked.rVertexData = this.rVertexData; - unpacked.unVertexCount = this.unVertexCount; - unpacked.rIndexData = this.rIndexData; - unpacked.unTriangleCount = this.unTriangleCount; - unpacked.diffuseTextureId = this.diffuseTextureId; - } -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bScrollWheelVisible; -} -[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t -{ - public IntPtr m_pImageData; // void * - public int m_nWidth; - public int m_nHeight; - public int m_nBytesPerPixel; -} -[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext -{ - public IntPtr m_pVRSystem; // class vr::IVRSystem * - public IntPtr m_pVRChaperone; // class vr::IVRChaperone * - public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * - public IntPtr m_pVRCompositor; // class vr::IVRCompositor * - public IntPtr m_pVROverlay; // class vr::IVROverlay * - public IntPtr m_pVRResources; // class vr::IVRResources * - public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels * - public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * - public IntPtr m_pVRSettings; // class vr::IVRSettings * - public IntPtr m_pVRApplications; // class vr::IVRApplications * - public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots * - public IntPtr m_pVRDriverManager; // class vr::IVRDriverManager * -} - -public class OpenVR -{ - - public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType) - { - return OpenVRInterop.InitInternal(ref peError, eApplicationType); - } - - public static void ShutdownInternal() - { - OpenVRInterop.ShutdownInternal(); - } - - public static bool IsHmdPresent() - { - return OpenVRInterop.IsHmdPresent(); - } - - public static bool IsRuntimeInstalled() - { - return OpenVRInterop.IsRuntimeInstalled(); - } - - public static string GetStringForHmdError(EVRInitError error) - { - return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error)); - } - - public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError) - { - return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError); - } - - public static bool IsInterfaceVersionValid(string pchInterfaceVersion) - { - return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion); - } - - public static uint GetInitToken() - { - return OpenVRInterop.GetInitToken(); - } - - public const uint k_nDriverNone = 4294967295; - public const uint k_unMaxDriverDebugResponseSize = 32768; - public const uint k_unTrackedDeviceIndex_Hmd = 0; - public const uint k_unMaxTrackedDeviceCount = 16; - public const uint k_unTrackedDeviceIndexOther = 4294967294; - public const uint k_unTrackedDeviceIndexInvalid = 4294967295; - public const ulong k_ulInvalidPropertyContainer = 0; - public const uint k_unInvalidPropertyTag = 0; - public const uint k_unFloatPropertyTag = 1; - public const uint k_unInt32PropertyTag = 2; - public const uint k_unUint64PropertyTag = 3; - public const uint k_unBoolPropertyTag = 4; - public const uint k_unStringPropertyTag = 5; - public const uint k_unHmdMatrix34PropertyTag = 20; - public const uint k_unHmdMatrix44PropertyTag = 21; - public const uint k_unHmdVector3PropertyTag = 22; - public const uint k_unHmdVector4PropertyTag = 23; - public const uint k_unHiddenAreaPropertyTag = 30; - public const uint k_unOpenVRInternalReserved_Start = 1000; - public const uint k_unOpenVRInternalReserved_End = 10000; - public const uint k_unMaxPropertyStringSize = 32768; - public const uint k_unControllerStateAxisCount = 5; - public const ulong k_ulOverlayHandleInvalid = 0; - public const uint k_unScreenshotHandleInvalid = 0; - public const string IVRSystem_Version = "IVRSystem_017"; - public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - public const uint k_unMaxApplicationKeyLength = 128; - public const string k_pch_MimeType_HomeApp = "vr/home"; - public const string k_pch_MimeType_GameTheater = "vr/game_theater"; - public const string IVRApplications_Version = "IVRApplications_006"; - public const string IVRChaperone_Version = "IVRChaperone_003"; - public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - public const string IVRCompositor_Version = "IVRCompositor_021"; - public const uint k_unVROverlayMaxKeyLength = 128; - public const uint k_unVROverlayMaxNameLength = 128; - public const uint k_unMaxOverlayCount = 64; - public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_016"; - public const string k_pch_Controller_Component_GDC2015 = "gdc2015"; - public const string k_pch_Controller_Component_Base = "base"; - public const string k_pch_Controller_Component_Tip = "tip"; - public const string k_pch_Controller_Component_HandGrip = "handgrip"; - public const string k_pch_Controller_Component_Status = "status"; - public const string IVRRenderModels_Version = "IVRRenderModels_005"; - public const uint k_unNotificationTextMaxSize = 256; - public const string IVRNotifications_Version = "IVRNotifications_002"; - public const uint k_unMaxSettingsKeyLength = 128; - public const string IVRSettings_Version = "IVRSettings_002"; - public const string k_pch_SteamVR_Section = "steamvr"; - public const string k_pch_SteamVR_RequireHmd_String = "requireHmd"; - public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; - public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - public const string k_pch_SteamVR_IPD_Float = "ipd"; - public const string k_pch_SteamVR_Background_String = "background"; - public const string k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - public const string k_pch_SteamVR_GridColor_String = "gridColor"; - public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; - public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - public const string k_pch_SteamVR_DirectMode_Bool = "directMode"; - public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - public const string k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - public const string k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - public const string k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - public const string k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - public const string k_pch_Lighthouse_Section = "driver_lighthouse"; - public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - public const string k_pch_Null_Section = "driver_null"; - public const string k_pch_Null_SerialNumber_String = "serialNumber"; - public const string k_pch_Null_ModelNumber_String = "modelNumber"; - public const string k_pch_Null_WindowX_Int32 = "windowX"; - public const string k_pch_Null_WindowY_Int32 = "windowY"; - public const string k_pch_Null_WindowWidth_Int32 = "windowWidth"; - public const string k_pch_Null_WindowHeight_Int32 = "windowHeight"; - public const string k_pch_Null_RenderWidth_Int32 = "renderWidth"; - public const string k_pch_Null_RenderHeight_Int32 = "renderHeight"; - public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - public const string k_pch_UserInterface_Section = "userinterface"; - public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - public const string k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - public const string k_pch_UserInterface_Screenshots_Bool = "screenshots"; - public const string k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - public const string k_pch_Notifications_Section = "notifications"; - public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - public const string k_pch_Keyboard_Section = "keyboard"; - public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - public const string k_pch_Keyboard_ScaleX = "ScaleX"; - public const string k_pch_Keyboard_ScaleY = "ScaleY"; - public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - public const string k_pch_Keyboard_OffsetY = "OffsetY"; - public const string k_pch_Keyboard_Smoothing = "Smoothing"; - public const string k_pch_Perf_Section = "perfcheck"; - public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - public const string k_pch_Perf_TestData_Float = "perfTestData"; - public const string k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - public const string k_pch_CollisionBounds_Section = "collisionBounds"; - public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - public const string k_pch_Camera_Section = "camera"; - public const string k_pch_Camera_EnableCamera_Bool = "enableCamera"; - public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - public const string k_pch_audio_Section = "audio"; - public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - public const string k_pch_Power_Section = "power"; - public const string k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - public const string k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - public const string k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - public const string k_pch_Dashboard_Section = "dashboard"; - public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - public const string k_pch_modelskin_Section = "modelskins"; - public const string k_pch_Driver_Enable_Bool = "enable"; - public const string IVRScreenshots_Version = "IVRScreenshots_001"; - public const string IVRResources_Version = "IVRResources_001"; - public const string IVRDriverManager_Version = "IVRDriverManager_001"; - - static uint VRToken { get; set; } - - const string FnTable_Prefix = "FnTable:"; - - class COpenVRContext - { - public COpenVRContext() { Clear(); } - - public void Clear() - { - m_pVRSystem = null; - m_pVRChaperone = null; - m_pVRChaperoneSetup = null; - m_pVRCompositor = null; - m_pVROverlay = null; - m_pVRRenderModels = null; - m_pVRExtendedDisplay = null; - m_pVRSettings = null; - m_pVRApplications = null; - m_pVRScreenshots = null; - m_pVRTrackedCamera = null; - } - - void CheckClear() - { - if (VRToken != GetInitToken()) - { - Clear(); - VRToken = GetInitToken(); - } - } - - public CVRSystem VRSystem() - { - CheckClear(); - if (m_pVRSystem == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSystem_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSystem = new CVRSystem(pInterface); - } - return m_pVRSystem; - } - - public CVRChaperone VRChaperone() - { - CheckClear(); - if (m_pVRChaperone == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperone = new CVRChaperone(pInterface); - } - return m_pVRChaperone; - } - - public CVRChaperoneSetup VRChaperoneSetup() - { - CheckClear(); - if (m_pVRChaperoneSetup == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperoneSetup_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperoneSetup = new CVRChaperoneSetup(pInterface); - } - return m_pVRChaperoneSetup; - } - - public CVRCompositor VRCompositor() - { - CheckClear(); - if (m_pVRCompositor == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRCompositor_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRCompositor = new CVRCompositor(pInterface); - } - return m_pVRCompositor; - } - - public CVROverlay VROverlay() - { - CheckClear(); - if (m_pVROverlay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVROverlay = new CVROverlay(pInterface); - } - return m_pVROverlay; - } - - public CVRRenderModels VRRenderModels() - { - CheckClear(); - if (m_pVRRenderModels == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRRenderModels_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRRenderModels = new CVRRenderModels(pInterface); - } - return m_pVRRenderModels; - } - - public CVRExtendedDisplay VRExtendedDisplay() - { - CheckClear(); - if (m_pVRExtendedDisplay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRExtendedDisplay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRExtendedDisplay = new CVRExtendedDisplay(pInterface); - } - return m_pVRExtendedDisplay; - } - - public CVRSettings VRSettings() - { - CheckClear(); - if (m_pVRSettings == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSettings_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSettings = new CVRSettings(pInterface); - } - return m_pVRSettings; - } - - public CVRApplications VRApplications() - { - CheckClear(); - if (m_pVRApplications == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRApplications_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRApplications = new CVRApplications(pInterface); - } - return m_pVRApplications; - } - - public CVRScreenshots VRScreenshots() - { - CheckClear(); - if (m_pVRScreenshots == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRScreenshots = new CVRScreenshots(pInterface); - } - return m_pVRScreenshots; - } - - public CVRTrackedCamera VRTrackedCamera() - { - CheckClear(); - if (m_pVRTrackedCamera == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRTrackedCamera_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRTrackedCamera = new CVRTrackedCamera(pInterface); - } - return m_pVRTrackedCamera; - } - - private CVRSystem m_pVRSystem; - private CVRChaperone m_pVRChaperone; - private CVRChaperoneSetup m_pVRChaperoneSetup; - private CVRCompositor m_pVRCompositor; - private CVROverlay m_pVROverlay; - private CVRRenderModels m_pVRRenderModels; - private CVRExtendedDisplay m_pVRExtendedDisplay; - private CVRSettings m_pVRSettings; - private CVRApplications m_pVRApplications; - private CVRScreenshots m_pVRScreenshots; - private CVRTrackedCamera m_pVRTrackedCamera; - }; - - private static COpenVRContext _OpenVRInternal_ModuleContext = null; - static COpenVRContext OpenVRInternal_ModuleContext - { - get - { - if (_OpenVRInternal_ModuleContext == null) - _OpenVRInternal_ModuleContext = new COpenVRContext(); - return _OpenVRInternal_ModuleContext; - } - } - - public static CVRSystem System { get { return OpenVRInternal_ModuleContext.VRSystem(); } } - public static CVRChaperone Chaperone { get { return OpenVRInternal_ModuleContext.VRChaperone(); } } - public static CVRChaperoneSetup ChaperoneSetup { get { return OpenVRInternal_ModuleContext.VRChaperoneSetup(); } } - public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } } - public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } } - public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } } - public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } } - public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } } - public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } } - public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } } - public static CVRTrackedCamera TrackedCamera { get { return OpenVRInternal_ModuleContext.VRTrackedCamera(); } } - - /** Finds the active installation of vrclient.dll and initializes it */ - public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene) - { - VRToken = InitInternal(ref peError, eApplicationType); - OpenVRInternal_ModuleContext.Clear(); - - if (peError != EVRInitError.None) - return null; - - bool bInterfaceValid = IsInterfaceVersionValid(IVRSystem_Version); - if (!bInterfaceValid) - { - ShutdownInternal(); - peError = EVRInitError.Init_InterfaceNotFound; - return null; - } - - return OpenVR.System; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - public static void Shutdown() - { - ShutdownInternal(); - } - -} - - - -} - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json deleted file mode 100644 index 78f47c3..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json +++ /dev/null @@ -1,3923 +0,0 @@ -{"typedefs":[{"typedef": "vr::glSharedTextureHandle_t","type": "void *"} -,{"typedef": "vr::glInt_t","type": "int32_t"} -,{"typedef": "vr::glUInt_t","type": "uint32_t"} -,{"typedef": "vr::SharedTextureHandle_t","type": "uint64_t"} -,{"typedef": "vr::DriverId_t","type": "uint32_t"} -,{"typedef": "vr::TrackedDeviceIndex_t","type": "uint32_t"} -,{"typedef": "vr::PropertyContainerHandle_t","type": "uint64_t"} -,{"typedef": "vr::PropertyTypeTag_t","type": "uint32_t"} -,{"typedef": "vr::VREvent_Data_t","type": "union VREvent_Data_t"} -,{"typedef": "vr::VRControllerState_t","type": "struct vr::VRControllerState001_t"} -,{"typedef": "vr::VROverlayHandle_t","type": "uint64_t"} -,{"typedef": "vr::TrackedCameraHandle_t","type": "uint64_t"} -,{"typedef": "vr::ScreenshotHandle_t","type": "uint32_t"} -,{"typedef": "vr::VROverlayIntersectionMaskPrimitive_Data_t","type": "union VROverlayIntersectionMaskPrimitive_Data_t"} -,{"typedef": "vr::VRComponentProperties","type": "uint32_t"} -,{"typedef": "vr::TextureID_t","type": "int32_t"} -,{"typedef": "vr::VRNotificationId","type": "uint32_t"} -,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"} -,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"} -,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"} -,{"typedef": "vr::HmdTrackingResult","type": "enum vr::ETrackingResult"} -,{"typedef": "vr::TrackedDeviceClass","type": "enum vr::ETrackedDeviceClass"} -,{"typedef": "vr::TrackingUniverseOrigin","type": "enum vr::ETrackingUniverseOrigin"} -,{"typedef": "vr::TrackedDeviceProperty","type": "enum vr::ETrackedDeviceProperty"} -,{"typedef": "vr::TrackedPropertyError","type": "enum vr::ETrackedPropertyError"} -,{"typedef": "vr::VRSubmitFlags_t","type": "enum vr::EVRSubmitFlags"} -,{"typedef": "vr::VRState_t","type": "enum vr::EVRState"} -,{"typedef": "vr::CollisionBoundsStyle_t","type": "enum vr::ECollisionBoundsStyle"} -,{"typedef": "vr::VROverlayError","type": "enum vr::EVROverlayError"} -,{"typedef": "vr::VRFirmwareError","type": "enum vr::EVRFirmwareError"} -,{"typedef": "vr::VRCompositorError","type": "enum vr::EVRCompositorError"} -,{"typedef": "vr::VRScreenshotsError","type": "enum vr::EVRScreenshotError"} -], -"enums":[ - {"enumname": "vr::EVREye","values": [ - {"name": "Eye_Left","value": "0"} - ,{"name": "Eye_Right","value": "1"} -]} -, {"enumname": "vr::ETextureType","values": [ - {"name": "TextureType_DirectX","value": "0"} - ,{"name": "TextureType_OpenGL","value": "1"} - ,{"name": "TextureType_Vulkan","value": "2"} - ,{"name": "TextureType_IOSurface","value": "3"} - ,{"name": "TextureType_DirectX12","value": "4"} -]} -, {"enumname": "vr::EColorSpace","values": [ - {"name": "ColorSpace_Auto","value": "0"} - ,{"name": "ColorSpace_Gamma","value": "1"} - ,{"name": "ColorSpace_Linear","value": "2"} -]} -, {"enumname": "vr::ETrackingResult","values": [ - {"name": "TrackingResult_Uninitialized","value": "1"} - ,{"name": "TrackingResult_Calibrating_InProgress","value": "100"} - ,{"name": "TrackingResult_Calibrating_OutOfRange","value": "101"} - ,{"name": "TrackingResult_Running_OK","value": "200"} - ,{"name": "TrackingResult_Running_OutOfRange","value": "201"} -]} -, {"enumname": "vr::ETrackedDeviceClass","values": [ - {"name": "TrackedDeviceClass_Invalid","value": "0"} - ,{"name": "TrackedDeviceClass_HMD","value": "1"} - ,{"name": "TrackedDeviceClass_Controller","value": "2"} - ,{"name": "TrackedDeviceClass_GenericTracker","value": "3"} - ,{"name": "TrackedDeviceClass_TrackingReference","value": "4"} - ,{"name": "TrackedDeviceClass_DisplayRedirect","value": "5"} -]} -, {"enumname": "vr::ETrackedControllerRole","values": [ - {"name": "TrackedControllerRole_Invalid","value": "0"} - ,{"name": "TrackedControllerRole_LeftHand","value": "1"} - ,{"name": "TrackedControllerRole_RightHand","value": "2"} -]} -, {"enumname": "vr::ETrackingUniverseOrigin","values": [ - {"name": "TrackingUniverseSeated","value": "0"} - ,{"name": "TrackingUniverseStanding","value": "1"} - ,{"name": "TrackingUniverseRawAndUncalibrated","value": "2"} -]} -, {"enumname": "vr::ETrackedDeviceProperty","values": [ - {"name": "Prop_Invalid","value": "0"} - ,{"name": "Prop_TrackingSystemName_String","value": "1000"} - ,{"name": "Prop_ModelNumber_String","value": "1001"} - ,{"name": "Prop_SerialNumber_String","value": "1002"} - ,{"name": "Prop_RenderModelName_String","value": "1003"} - ,{"name": "Prop_WillDriftInYaw_Bool","value": "1004"} - ,{"name": "Prop_ManufacturerName_String","value": "1005"} - ,{"name": "Prop_TrackingFirmwareVersion_String","value": "1006"} - ,{"name": "Prop_HardwareRevision_String","value": "1007"} - ,{"name": "Prop_AllWirelessDongleDescriptions_String","value": "1008"} - ,{"name": "Prop_ConnectedWirelessDongle_String","value": "1009"} - ,{"name": "Prop_DeviceIsWireless_Bool","value": "1010"} - ,{"name": "Prop_DeviceIsCharging_Bool","value": "1011"} - ,{"name": "Prop_DeviceBatteryPercentage_Float","value": "1012"} - ,{"name": "Prop_StatusDisplayTransform_Matrix34","value": "1013"} - ,{"name": "Prop_Firmware_UpdateAvailable_Bool","value": "1014"} - ,{"name": "Prop_Firmware_ManualUpdate_Bool","value": "1015"} - ,{"name": "Prop_Firmware_ManualUpdateURL_String","value": "1016"} - ,{"name": "Prop_HardwareRevision_Uint64","value": "1017"} - ,{"name": "Prop_FirmwareVersion_Uint64","value": "1018"} - ,{"name": "Prop_FPGAVersion_Uint64","value": "1019"} - ,{"name": "Prop_VRCVersion_Uint64","value": "1020"} - ,{"name": "Prop_RadioVersion_Uint64","value": "1021"} - ,{"name": "Prop_DongleVersion_Uint64","value": "1022"} - ,{"name": "Prop_BlockServerShutdown_Bool","value": "1023"} - ,{"name": "Prop_CanUnifyCoordinateSystemWithHmd_Bool","value": "1024"} - ,{"name": "Prop_ContainsProximitySensor_Bool","value": "1025"} - ,{"name": "Prop_DeviceProvidesBatteryStatus_Bool","value": "1026"} - ,{"name": "Prop_DeviceCanPowerOff_Bool","value": "1027"} - ,{"name": "Prop_Firmware_ProgrammingTarget_String","value": "1028"} - ,{"name": "Prop_DeviceClass_Int32","value": "1029"} - ,{"name": "Prop_HasCamera_Bool","value": "1030"} - ,{"name": "Prop_DriverVersion_String","value": "1031"} - ,{"name": "Prop_Firmware_ForceUpdateRequired_Bool","value": "1032"} - ,{"name": "Prop_ViveSystemButtonFixRequired_Bool","value": "1033"} - ,{"name": "Prop_ParentDriver_Uint64","value": "1034"} - ,{"name": "Prop_ResourceRoot_String","value": "1035"} - ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} - ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} - ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} - ,{"name": "Prop_UserIpdMeters_Float","value": "2003"} - ,{"name": "Prop_CurrentUniverseId_Uint64","value": "2004"} - ,{"name": "Prop_PreviousUniverseId_Uint64","value": "2005"} - ,{"name": "Prop_DisplayFirmwareVersion_Uint64","value": "2006"} - ,{"name": "Prop_IsOnDesktop_Bool","value": "2007"} - ,{"name": "Prop_DisplayMCType_Int32","value": "2008"} - ,{"name": "Prop_DisplayMCOffset_Float","value": "2009"} - ,{"name": "Prop_DisplayMCScale_Float","value": "2010"} - ,{"name": "Prop_EdidVendorID_Int32","value": "2011"} - ,{"name": "Prop_DisplayMCImageLeft_String","value": "2012"} - ,{"name": "Prop_DisplayMCImageRight_String","value": "2013"} - ,{"name": "Prop_DisplayGCBlackClamp_Float","value": "2014"} - ,{"name": "Prop_EdidProductID_Int32","value": "2015"} - ,{"name": "Prop_CameraToHeadTransform_Matrix34","value": "2016"} - ,{"name": "Prop_DisplayGCType_Int32","value": "2017"} - ,{"name": "Prop_DisplayGCOffset_Float","value": "2018"} - ,{"name": "Prop_DisplayGCScale_Float","value": "2019"} - ,{"name": "Prop_DisplayGCPrescale_Float","value": "2020"} - ,{"name": "Prop_DisplayGCImage_String","value": "2021"} - ,{"name": "Prop_LensCenterLeftU_Float","value": "2022"} - ,{"name": "Prop_LensCenterLeftV_Float","value": "2023"} - ,{"name": "Prop_LensCenterRightU_Float","value": "2024"} - ,{"name": "Prop_LensCenterRightV_Float","value": "2025"} - ,{"name": "Prop_UserHeadToEyeDepthMeters_Float","value": "2026"} - ,{"name": "Prop_CameraFirmwareVersion_Uint64","value": "2027"} - ,{"name": "Prop_CameraFirmwareDescription_String","value": "2028"} - ,{"name": "Prop_DisplayFPGAVersion_Uint64","value": "2029"} - ,{"name": "Prop_DisplayBootloaderVersion_Uint64","value": "2030"} - ,{"name": "Prop_DisplayHardwareVersion_Uint64","value": "2031"} - ,{"name": "Prop_AudioFirmwareVersion_Uint64","value": "2032"} - ,{"name": "Prop_CameraCompatibilityMode_Int32","value": "2033"} - ,{"name": "Prop_ScreenshotHorizontalFieldOfViewDegrees_Float","value": "2034"} - ,{"name": "Prop_ScreenshotVerticalFieldOfViewDegrees_Float","value": "2035"} - ,{"name": "Prop_DisplaySuppressed_Bool","value": "2036"} - ,{"name": "Prop_DisplayAllowNightMode_Bool","value": "2037"} - ,{"name": "Prop_DisplayMCImageWidth_Int32","value": "2038"} - ,{"name": "Prop_DisplayMCImageHeight_Int32","value": "2039"} - ,{"name": "Prop_DisplayMCImageNumChannels_Int32","value": "2040"} - ,{"name": "Prop_DisplayMCImageData_Binary","value": "2041"} - ,{"name": "Prop_SecondsFromPhotonsToVblank_Float","value": "2042"} - ,{"name": "Prop_DriverDirectModeSendsVsyncEvents_Bool","value": "2043"} - ,{"name": "Prop_DisplayDebugMode_Bool","value": "2044"} - ,{"name": "Prop_GraphicsAdapterLuid_Uint64","value": "2045"} - ,{"name": "Prop_DriverProvidedChaperonePath_String","value": "2048"} - ,{"name": "Prop_AttachedDeviceId_String","value": "3000"} - ,{"name": "Prop_SupportedButtons_Uint64","value": "3001"} - ,{"name": "Prop_Axis0Type_Int32","value": "3002"} - ,{"name": "Prop_Axis1Type_Int32","value": "3003"} - ,{"name": "Prop_Axis2Type_Int32","value": "3004"} - ,{"name": "Prop_Axis3Type_Int32","value": "3005"} - ,{"name": "Prop_Axis4Type_Int32","value": "3006"} - ,{"name": "Prop_ControllerRoleHint_Int32","value": "3007"} - ,{"name": "Prop_FieldOfViewLeftDegrees_Float","value": "4000"} - ,{"name": "Prop_FieldOfViewRightDegrees_Float","value": "4001"} - ,{"name": "Prop_FieldOfViewTopDegrees_Float","value": "4002"} - ,{"name": "Prop_FieldOfViewBottomDegrees_Float","value": "4003"} - ,{"name": "Prop_TrackingRangeMinimumMeters_Float","value": "4004"} - ,{"name": "Prop_TrackingRangeMaximumMeters_Float","value": "4005"} - ,{"name": "Prop_ModeLabel_String","value": "4006"} - ,{"name": "Prop_IconPathName_String","value": "5000"} - ,{"name": "Prop_NamedIconPathDeviceOff_String","value": "5001"} - ,{"name": "Prop_NamedIconPathDeviceSearching_String","value": "5002"} - ,{"name": "Prop_NamedIconPathDeviceSearchingAlert_String","value": "5003"} - ,{"name": "Prop_NamedIconPathDeviceReady_String","value": "5004"} - ,{"name": "Prop_NamedIconPathDeviceReadyAlert_String","value": "5005"} - ,{"name": "Prop_NamedIconPathDeviceNotReady_String","value": "5006"} - ,{"name": "Prop_NamedIconPathDeviceStandby_String","value": "5007"} - ,{"name": "Prop_NamedIconPathDeviceAlertLow_String","value": "5008"} - ,{"name": "Prop_DisplayHiddenArea_Binary_Start","value": "5100"} - ,{"name": "Prop_DisplayHiddenArea_Binary_End","value": "5150"} - ,{"name": "Prop_UserConfigPath_String","value": "6000"} - ,{"name": "Prop_InstallPath_String","value": "6001"} - ,{"name": "Prop_HasDisplayComponent_Bool","value": "6002"} - ,{"name": "Prop_HasControllerComponent_Bool","value": "6003"} - ,{"name": "Prop_HasCameraComponent_Bool","value": "6004"} - ,{"name": "Prop_HasDriverDirectModeComponent_Bool","value": "6005"} - ,{"name": "Prop_HasVirtualDisplayComponent_Bool","value": "6006"} - ,{"name": "Prop_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "Prop_VendorSpecific_Reserved_End","value": "10999"} -]} -, {"enumname": "vr::ETrackedPropertyError","values": [ - {"name": "TrackedProp_Success","value": "0"} - ,{"name": "TrackedProp_WrongDataType","value": "1"} - ,{"name": "TrackedProp_WrongDeviceClass","value": "2"} - ,{"name": "TrackedProp_BufferTooSmall","value": "3"} - ,{"name": "TrackedProp_UnknownProperty","value": "4"} - ,{"name": "TrackedProp_InvalidDevice","value": "5"} - ,{"name": "TrackedProp_CouldNotContactServer","value": "6"} - ,{"name": "TrackedProp_ValueNotProvidedByDevice","value": "7"} - ,{"name": "TrackedProp_StringExceedsMaximumLength","value": "8"} - ,{"name": "TrackedProp_NotYetAvailable","value": "9"} - ,{"name": "TrackedProp_PermissionDenied","value": "10"} - ,{"name": "TrackedProp_InvalidOperation","value": "11"} -]} -, {"enumname": "vr::EVRSubmitFlags","values": [ - {"name": "Submit_Default","value": "0"} - ,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"} - ,{"name": "Submit_GlRenderBuffer","value": "2"} - ,{"name": "Submit_Reserved","value": "4"} - ,{"name": "Submit_TextureWithPose","value": "8"} -]} -, {"enumname": "vr::EVRState","values": [ - {"name": "VRState_Undefined","value": "-1"} - ,{"name": "VRState_Off","value": "0"} - ,{"name": "VRState_Searching","value": "1"} - ,{"name": "VRState_Searching_Alert","value": "2"} - ,{"name": "VRState_Ready","value": "3"} - ,{"name": "VRState_Ready_Alert","value": "4"} - ,{"name": "VRState_NotReady","value": "5"} - ,{"name": "VRState_Standby","value": "6"} - ,{"name": "VRState_Ready_Alert_Low","value": "7"} -]} -, {"enumname": "vr::EVREventType","values": [ - {"name": "VREvent_None","value": "0"} - ,{"name": "VREvent_TrackedDeviceActivated","value": "100"} - ,{"name": "VREvent_TrackedDeviceDeactivated","value": "101"} - ,{"name": "VREvent_TrackedDeviceUpdated","value": "102"} - ,{"name": "VREvent_TrackedDeviceUserInteractionStarted","value": "103"} - ,{"name": "VREvent_TrackedDeviceUserInteractionEnded","value": "104"} - ,{"name": "VREvent_IpdChanged","value": "105"} - ,{"name": "VREvent_EnterStandbyMode","value": "106"} - ,{"name": "VREvent_LeaveStandbyMode","value": "107"} - ,{"name": "VREvent_TrackedDeviceRoleChanged","value": "108"} - ,{"name": "VREvent_WatchdogWakeUpRequested","value": "109"} - ,{"name": "VREvent_LensDistortionChanged","value": "110"} - ,{"name": "VREvent_PropertyChanged","value": "111"} - ,{"name": "VREvent_WirelessDisconnect","value": "112"} - ,{"name": "VREvent_WirelessReconnect","value": "113"} - ,{"name": "VREvent_ButtonPress","value": "200"} - ,{"name": "VREvent_ButtonUnpress","value": "201"} - ,{"name": "VREvent_ButtonTouch","value": "202"} - ,{"name": "VREvent_ButtonUntouch","value": "203"} - ,{"name": "VREvent_MouseMove","value": "300"} - ,{"name": "VREvent_MouseButtonDown","value": "301"} - ,{"name": "VREvent_MouseButtonUp","value": "302"} - ,{"name": "VREvent_FocusEnter","value": "303"} - ,{"name": "VREvent_FocusLeave","value": "304"} - ,{"name": "VREvent_Scroll","value": "305"} - ,{"name": "VREvent_TouchPadMove","value": "306"} - ,{"name": "VREvent_OverlayFocusChanged","value": "307"} - ,{"name": "VREvent_InputFocusCaptured","value": "400"} - ,{"name": "VREvent_InputFocusReleased","value": "401"} - ,{"name": "VREvent_SceneFocusLost","value": "402"} - ,{"name": "VREvent_SceneFocusGained","value": "403"} - ,{"name": "VREvent_SceneApplicationChanged","value": "404"} - ,{"name": "VREvent_SceneFocusChanged","value": "405"} - ,{"name": "VREvent_InputFocusChanged","value": "406"} - ,{"name": "VREvent_SceneApplicationSecondaryRenderingStarted","value": "407"} - ,{"name": "VREvent_HideRenderModels","value": "410"} - ,{"name": "VREvent_ShowRenderModels","value": "411"} - ,{"name": "VREvent_OverlayShown","value": "500"} - ,{"name": "VREvent_OverlayHidden","value": "501"} - ,{"name": "VREvent_DashboardActivated","value": "502"} - ,{"name": "VREvent_DashboardDeactivated","value": "503"} - ,{"name": "VREvent_DashboardThumbSelected","value": "504"} - ,{"name": "VREvent_DashboardRequested","value": "505"} - ,{"name": "VREvent_ResetDashboard","value": "506"} - ,{"name": "VREvent_RenderToast","value": "507"} - ,{"name": "VREvent_ImageLoaded","value": "508"} - ,{"name": "VREvent_ShowKeyboard","value": "509"} - ,{"name": "VREvent_HideKeyboard","value": "510"} - ,{"name": "VREvent_OverlayGamepadFocusGained","value": "511"} - ,{"name": "VREvent_OverlayGamepadFocusLost","value": "512"} - ,{"name": "VREvent_OverlaySharedTextureChanged","value": "513"} - ,{"name": "VREvent_DashboardGuideButtonDown","value": "514"} - ,{"name": "VREvent_DashboardGuideButtonUp","value": "515"} - ,{"name": "VREvent_ScreenshotTriggered","value": "516"} - ,{"name": "VREvent_ImageFailed","value": "517"} - ,{"name": "VREvent_DashboardOverlayCreated","value": "518"} - ,{"name": "VREvent_RequestScreenshot","value": "520"} - ,{"name": "VREvent_ScreenshotTaken","value": "521"} - ,{"name": "VREvent_ScreenshotFailed","value": "522"} - ,{"name": "VREvent_SubmitScreenshotToDashboard","value": "523"} - ,{"name": "VREvent_ScreenshotProgressToDashboard","value": "524"} - ,{"name": "VREvent_PrimaryDashboardDeviceChanged","value": "525"} - ,{"name": "VREvent_Notification_Shown","value": "600"} - ,{"name": "VREvent_Notification_Hidden","value": "601"} - ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} - ,{"name": "VREvent_Notification_Destroyed","value": "603"} - ,{"name": "VREvent_Quit","value": "700"} - ,{"name": "VREvent_ProcessQuit","value": "701"} - ,{"name": "VREvent_QuitAborted_UserPrompt","value": "702"} - ,{"name": "VREvent_QuitAcknowledged","value": "703"} - ,{"name": "VREvent_DriverRequestedQuit","value": "704"} - ,{"name": "VREvent_ChaperoneDataHasChanged","value": "800"} - ,{"name": "VREvent_ChaperoneUniverseHasChanged","value": "801"} - ,{"name": "VREvent_ChaperoneTempDataHasChanged","value": "802"} - ,{"name": "VREvent_ChaperoneSettingsHaveChanged","value": "803"} - ,{"name": "VREvent_SeatedZeroPoseReset","value": "804"} - ,{"name": "VREvent_AudioSettingsHaveChanged","value": "820"} - ,{"name": "VREvent_BackgroundSettingHasChanged","value": "850"} - ,{"name": "VREvent_CameraSettingsHaveChanged","value": "851"} - ,{"name": "VREvent_ReprojectionSettingHasChanged","value": "852"} - ,{"name": "VREvent_ModelSkinSettingsHaveChanged","value": "853"} - ,{"name": "VREvent_EnvironmentSettingsHaveChanged","value": "854"} - ,{"name": "VREvent_PowerSettingsHaveChanged","value": "855"} - ,{"name": "VREvent_EnableHomeAppSettingsHaveChanged","value": "856"} - ,{"name": "VREvent_StatusUpdate","value": "900"} - ,{"name": "VREvent_MCImageUpdated","value": "1000"} - ,{"name": "VREvent_FirmwareUpdateStarted","value": "1100"} - ,{"name": "VREvent_FirmwareUpdateFinished","value": "1101"} - ,{"name": "VREvent_KeyboardClosed","value": "1200"} - ,{"name": "VREvent_KeyboardCharInput","value": "1201"} - ,{"name": "VREvent_KeyboardDone","value": "1202"} - ,{"name": "VREvent_ApplicationTransitionStarted","value": "1300"} - ,{"name": "VREvent_ApplicationTransitionAborted","value": "1301"} - ,{"name": "VREvent_ApplicationTransitionNewAppStarted","value": "1302"} - ,{"name": "VREvent_ApplicationListUpdated","value": "1303"} - ,{"name": "VREvent_ApplicationMimeTypeLoad","value": "1304"} - ,{"name": "VREvent_ApplicationTransitionNewAppLaunchComplete","value": "1305"} - ,{"name": "VREvent_ProcessConnected","value": "1306"} - ,{"name": "VREvent_ProcessDisconnected","value": "1307"} - ,{"name": "VREvent_Compositor_MirrorWindowShown","value": "1400"} - ,{"name": "VREvent_Compositor_MirrorWindowHidden","value": "1401"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsShown","value": "1410"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsHidden","value": "1411"} - ,{"name": "VREvent_TrackedCamera_StartVideoStream","value": "1500"} - ,{"name": "VREvent_TrackedCamera_StopVideoStream","value": "1501"} - ,{"name": "VREvent_TrackedCamera_PauseVideoStream","value": "1502"} - ,{"name": "VREvent_TrackedCamera_ResumeVideoStream","value": "1503"} - ,{"name": "VREvent_TrackedCamera_EditingSurface","value": "1550"} - ,{"name": "VREvent_PerformanceTest_EnableCapture","value": "1600"} - ,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"} - ,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"} - ,{"name": "VREvent_MessageOverlay_Closed","value": "1650"} - ,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"} - ,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"} -]} -, {"enumname": "vr::EDeviceActivityLevel","values": [ - {"name": "k_EDeviceActivityLevel_Unknown","value": "-1"} - ,{"name": "k_EDeviceActivityLevel_Idle","value": "0"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction","value": "1"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction_Timeout","value": "2"} - ,{"name": "k_EDeviceActivityLevel_Standby","value": "3"} -]} -, {"enumname": "vr::EVRButtonId","values": [ - {"name": "k_EButton_System","value": "0"} - ,{"name": "k_EButton_ApplicationMenu","value": "1"} - ,{"name": "k_EButton_Grip","value": "2"} - ,{"name": "k_EButton_DPad_Left","value": "3"} - ,{"name": "k_EButton_DPad_Up","value": "4"} - ,{"name": "k_EButton_DPad_Right","value": "5"} - ,{"name": "k_EButton_DPad_Down","value": "6"} - ,{"name": "k_EButton_A","value": "7"} - ,{"name": "k_EButton_ProximitySensor","value": "31"} - ,{"name": "k_EButton_Axis0","value": "32"} - ,{"name": "k_EButton_Axis1","value": "33"} - ,{"name": "k_EButton_Axis2","value": "34"} - ,{"name": "k_EButton_Axis3","value": "35"} - ,{"name": "k_EButton_Axis4","value": "36"} - ,{"name": "k_EButton_SteamVR_Touchpad","value": "32"} - ,{"name": "k_EButton_SteamVR_Trigger","value": "33"} - ,{"name": "k_EButton_Dashboard_Back","value": "2"} - ,{"name": "k_EButton_Max","value": "64"} -]} -, {"enumname": "vr::EVRMouseButton","values": [ - {"name": "VRMouseButton_Left","value": "1"} - ,{"name": "VRMouseButton_Right","value": "2"} - ,{"name": "VRMouseButton_Middle","value": "4"} -]} -, {"enumname": "vr::EHiddenAreaMeshType","values": [ - {"name": "k_eHiddenAreaMesh_Standard","value": "0"} - ,{"name": "k_eHiddenAreaMesh_Inverse","value": "1"} - ,{"name": "k_eHiddenAreaMesh_LineLoop","value": "2"} - ,{"name": "k_eHiddenAreaMesh_Max","value": "3"} -]} -, {"enumname": "vr::EVRControllerAxisType","values": [ - {"name": "k_eControllerAxis_None","value": "0"} - ,{"name": "k_eControllerAxis_TrackPad","value": "1"} - ,{"name": "k_eControllerAxis_Joystick","value": "2"} - ,{"name": "k_eControllerAxis_Trigger","value": "3"} -]} -, {"enumname": "vr::EVRControllerEventOutputType","values": [ - {"name": "ControllerEventOutput_OSEvents","value": "0"} - ,{"name": "ControllerEventOutput_VREvents","value": "1"} -]} -, {"enumname": "vr::ECollisionBoundsStyle","values": [ - {"name": "COLLISION_BOUNDS_STYLE_BEGINNER","value": "0"} - ,{"name": "COLLISION_BOUNDS_STYLE_INTERMEDIATE","value": "1"} - ,{"name": "COLLISION_BOUNDS_STYLE_SQUARES","value": "2"} - ,{"name": "COLLISION_BOUNDS_STYLE_ADVANCED","value": "3"} - ,{"name": "COLLISION_BOUNDS_STYLE_NONE","value": "4"} - ,{"name": "COLLISION_BOUNDS_STYLE_COUNT","value": "5"} -]} -, {"enumname": "vr::EVROverlayError","values": [ - {"name": "VROverlayError_None","value": "0"} - ,{"name": "VROverlayError_UnknownOverlay","value": "10"} - ,{"name": "VROverlayError_InvalidHandle","value": "11"} - ,{"name": "VROverlayError_PermissionDenied","value": "12"} - ,{"name": "VROverlayError_OverlayLimitExceeded","value": "13"} - ,{"name": "VROverlayError_WrongVisibilityType","value": "14"} - ,{"name": "VROverlayError_KeyTooLong","value": "15"} - ,{"name": "VROverlayError_NameTooLong","value": "16"} - ,{"name": "VROverlayError_KeyInUse","value": "17"} - ,{"name": "VROverlayError_WrongTransformType","value": "18"} - ,{"name": "VROverlayError_InvalidTrackedDevice","value": "19"} - ,{"name": "VROverlayError_InvalidParameter","value": "20"} - ,{"name": "VROverlayError_ThumbnailCantBeDestroyed","value": "21"} - ,{"name": "VROverlayError_ArrayTooSmall","value": "22"} - ,{"name": "VROverlayError_RequestFailed","value": "23"} - ,{"name": "VROverlayError_InvalidTexture","value": "24"} - ,{"name": "VROverlayError_UnableToLoadFile","value": "25"} - ,{"name": "VROverlayError_KeyboardAlreadyInUse","value": "26"} - ,{"name": "VROverlayError_NoNeighbor","value": "27"} - ,{"name": "VROverlayError_TooManyMaskPrimitives","value": "29"} - ,{"name": "VROverlayError_BadMaskPrimitive","value": "30"} -]} -, {"enumname": "vr::EVRApplicationType","values": [ - {"name": "VRApplication_Other","value": "0"} - ,{"name": "VRApplication_Scene","value": "1"} - ,{"name": "VRApplication_Overlay","value": "2"} - ,{"name": "VRApplication_Background","value": "3"} - ,{"name": "VRApplication_Utility","value": "4"} - ,{"name": "VRApplication_VRMonitor","value": "5"} - ,{"name": "VRApplication_SteamWatchdog","value": "6"} - ,{"name": "VRApplication_Bootstrapper","value": "7"} - ,{"name": "VRApplication_Max","value": "8"} -]} -, {"enumname": "vr::EVRFirmwareError","values": [ - {"name": "VRFirmwareError_None","value": "0"} - ,{"name": "VRFirmwareError_Success","value": "1"} - ,{"name": "VRFirmwareError_Fail","value": "2"} -]} -, {"enumname": "vr::EVRNotificationError","values": [ - {"name": "VRNotificationError_OK","value": "0"} - ,{"name": "VRNotificationError_InvalidNotificationId","value": "100"} - ,{"name": "VRNotificationError_NotificationQueueFull","value": "101"} - ,{"name": "VRNotificationError_InvalidOverlayHandle","value": "102"} - ,{"name": "VRNotificationError_SystemWithUserValueAlreadyExists","value": "103"} -]} -, {"enumname": "vr::EVRInitError","values": [ - {"name": "VRInitError_None","value": "0"} - ,{"name": "VRInitError_Unknown","value": "1"} - ,{"name": "VRInitError_Init_InstallationNotFound","value": "100"} - ,{"name": "VRInitError_Init_InstallationCorrupt","value": "101"} - ,{"name": "VRInitError_Init_VRClientDLLNotFound","value": "102"} - ,{"name": "VRInitError_Init_FileNotFound","value": "103"} - ,{"name": "VRInitError_Init_FactoryNotFound","value": "104"} - ,{"name": "VRInitError_Init_InterfaceNotFound","value": "105"} - ,{"name": "VRInitError_Init_InvalidInterface","value": "106"} - ,{"name": "VRInitError_Init_UserConfigDirectoryInvalid","value": "107"} - ,{"name": "VRInitError_Init_HmdNotFound","value": "108"} - ,{"name": "VRInitError_Init_NotInitialized","value": "109"} - ,{"name": "VRInitError_Init_PathRegistryNotFound","value": "110"} - ,{"name": "VRInitError_Init_NoConfigPath","value": "111"} - ,{"name": "VRInitError_Init_NoLogPath","value": "112"} - ,{"name": "VRInitError_Init_PathRegistryNotWritable","value": "113"} - ,{"name": "VRInitError_Init_AppInfoInitFailed","value": "114"} - ,{"name": "VRInitError_Init_Retry","value": "115"} - ,{"name": "VRInitError_Init_InitCanceledByUser","value": "116"} - ,{"name": "VRInitError_Init_AnotherAppLaunching","value": "117"} - ,{"name": "VRInitError_Init_SettingsInitFailed","value": "118"} - ,{"name": "VRInitError_Init_ShuttingDown","value": "119"} - ,{"name": "VRInitError_Init_TooManyObjects","value": "120"} - ,{"name": "VRInitError_Init_NoServerForBackgroundApp","value": "121"} - ,{"name": "VRInitError_Init_NotSupportedWithCompositor","value": "122"} - ,{"name": "VRInitError_Init_NotAvailableToUtilityApps","value": "123"} - ,{"name": "VRInitError_Init_Internal","value": "124"} - ,{"name": "VRInitError_Init_HmdDriverIdIsNone","value": "125"} - ,{"name": "VRInitError_Init_HmdNotFoundPresenceFailed","value": "126"} - ,{"name": "VRInitError_Init_VRMonitorNotFound","value": "127"} - ,{"name": "VRInitError_Init_VRMonitorStartupFailed","value": "128"} - ,{"name": "VRInitError_Init_LowPowerWatchdogNotSupported","value": "129"} - ,{"name": "VRInitError_Init_InvalidApplicationType","value": "130"} - ,{"name": "VRInitError_Init_NotAvailableToWatchdogApps","value": "131"} - ,{"name": "VRInitError_Init_WatchdogDisabledInSettings","value": "132"} - ,{"name": "VRInitError_Init_VRDashboardNotFound","value": "133"} - ,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"} - ,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"} - ,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"} - ,{"name": "VRInitError_Init_RebootingBusy","value": "137"} - ,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"} - ,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"} - ,{"name": "VRInitError_Driver_Failed","value": "200"} - ,{"name": "VRInitError_Driver_Unknown","value": "201"} - ,{"name": "VRInitError_Driver_HmdUnknown","value": "202"} - ,{"name": "VRInitError_Driver_NotLoaded","value": "203"} - ,{"name": "VRInitError_Driver_RuntimeOutOfDate","value": "204"} - ,{"name": "VRInitError_Driver_HmdInUse","value": "205"} - ,{"name": "VRInitError_Driver_NotCalibrated","value": "206"} - ,{"name": "VRInitError_Driver_CalibrationInvalid","value": "207"} - ,{"name": "VRInitError_Driver_HmdDisplayNotFound","value": "208"} - ,{"name": "VRInitError_Driver_TrackedDeviceInterfaceUnknown","value": "209"} - ,{"name": "VRInitError_Driver_HmdDriverIdOutOfBounds","value": "211"} - ,{"name": "VRInitError_Driver_HmdDisplayMirrored","value": "212"} - ,{"name": "VRInitError_IPC_ServerInitFailed","value": "300"} - ,{"name": "VRInitError_IPC_ConnectFailed","value": "301"} - ,{"name": "VRInitError_IPC_SharedStateInitFailed","value": "302"} - ,{"name": "VRInitError_IPC_CompositorInitFailed","value": "303"} - ,{"name": "VRInitError_IPC_MutexInitFailed","value": "304"} - ,{"name": "VRInitError_IPC_Failed","value": "305"} - ,{"name": "VRInitError_IPC_CompositorConnectFailed","value": "306"} - ,{"name": "VRInitError_IPC_CompositorInvalidConnectResponse","value": "307"} - ,{"name": "VRInitError_IPC_ConnectFailedAfterMultipleAttempts","value": "308"} - ,{"name": "VRInitError_Compositor_Failed","value": "400"} - ,{"name": "VRInitError_Compositor_D3D11HardwareRequired","value": "401"} - ,{"name": "VRInitError_Compositor_FirmwareRequiresUpdate","value": "402"} - ,{"name": "VRInitError_Compositor_OverlayInitFailed","value": "403"} - ,{"name": "VRInitError_Compositor_ScreenshotsInitFailed","value": "404"} - ,{"name": "VRInitError_Compositor_UnableToCreateDevice","value": "405"} - ,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart","value": "1102"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_NoStoredConfig","value": "1103"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooBig","value": "1104"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooSmall","value": "1105"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToInitZLib","value": "1106"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion","value": "1107"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart","value": "1108"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart","value": "1109"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext","value": "1110"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange","value": "1111"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"} - ,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"} -]} -, {"enumname": "vr::EVRScreenshotType","values": [ - {"name": "VRScreenshotType_None","value": "0"} - ,{"name": "VRScreenshotType_Mono","value": "1"} - ,{"name": "VRScreenshotType_Stereo","value": "2"} - ,{"name": "VRScreenshotType_Cubemap","value": "3"} - ,{"name": "VRScreenshotType_MonoPanorama","value": "4"} - ,{"name": "VRScreenshotType_StereoPanorama","value": "5"} -]} -, {"enumname": "vr::EVRScreenshotPropertyFilenames","values": [ - {"name": "VRScreenshotPropertyFilenames_Preview","value": "0"} - ,{"name": "VRScreenshotPropertyFilenames_VR","value": "1"} -]} -, {"enumname": "vr::EVRTrackedCameraError","values": [ - {"name": "VRTrackedCameraError_None","value": "0"} - ,{"name": "VRTrackedCameraError_OperationFailed","value": "100"} - ,{"name": "VRTrackedCameraError_InvalidHandle","value": "101"} - ,{"name": "VRTrackedCameraError_InvalidFrameHeaderVersion","value": "102"} - ,{"name": "VRTrackedCameraError_OutOfHandles","value": "103"} - ,{"name": "VRTrackedCameraError_IPCFailure","value": "104"} - ,{"name": "VRTrackedCameraError_NotSupportedForThisDevice","value": "105"} - ,{"name": "VRTrackedCameraError_SharedMemoryFailure","value": "106"} - ,{"name": "VRTrackedCameraError_FrameBufferingFailure","value": "107"} - ,{"name": "VRTrackedCameraError_StreamSetupFailure","value": "108"} - ,{"name": "VRTrackedCameraError_InvalidGLTextureId","value": "109"} - ,{"name": "VRTrackedCameraError_InvalidSharedTextureHandle","value": "110"} - ,{"name": "VRTrackedCameraError_FailedToGetGLTextureId","value": "111"} - ,{"name": "VRTrackedCameraError_SharedTextureFailure","value": "112"} - ,{"name": "VRTrackedCameraError_NoFrameAvailable","value": "113"} - ,{"name": "VRTrackedCameraError_InvalidArgument","value": "114"} - ,{"name": "VRTrackedCameraError_InvalidFrameBufferSize","value": "115"} -]} -, {"enumname": "vr::EVRTrackedCameraFrameType","values": [ - {"name": "VRTrackedCameraFrameType_Distorted","value": "0"} - ,{"name": "VRTrackedCameraFrameType_Undistorted","value": "1"} - ,{"name": "VRTrackedCameraFrameType_MaximumUndistorted","value": "2"} - ,{"name": "MAX_CAMERA_FRAME_TYPES","value": "3"} -]} -, {"enumname": "vr::EVRApplicationError","values": [ - {"name": "VRApplicationError_None","value": "0"} - ,{"name": "VRApplicationError_AppKeyAlreadyExists","value": "100"} - ,{"name": "VRApplicationError_NoManifest","value": "101"} - ,{"name": "VRApplicationError_NoApplication","value": "102"} - ,{"name": "VRApplicationError_InvalidIndex","value": "103"} - ,{"name": "VRApplicationError_UnknownApplication","value": "104"} - ,{"name": "VRApplicationError_IPCFailed","value": "105"} - ,{"name": "VRApplicationError_ApplicationAlreadyRunning","value": "106"} - ,{"name": "VRApplicationError_InvalidManifest","value": "107"} - ,{"name": "VRApplicationError_InvalidApplication","value": "108"} - ,{"name": "VRApplicationError_LaunchFailed","value": "109"} - ,{"name": "VRApplicationError_ApplicationAlreadyStarting","value": "110"} - ,{"name": "VRApplicationError_LaunchInProgress","value": "111"} - ,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"} - ,{"name": "VRApplicationError_TransitionAborted","value": "113"} - ,{"name": "VRApplicationError_IsTemplate","value": "114"} - ,{"name": "VRApplicationError_SteamVRIsExiting","value": "115"} - ,{"name": "VRApplicationError_BufferTooSmall","value": "200"} - ,{"name": "VRApplicationError_PropertyNotSet","value": "201"} - ,{"name": "VRApplicationError_UnknownProperty","value": "202"} - ,{"name": "VRApplicationError_InvalidParameter","value": "203"} -]} -, {"enumname": "vr::EVRApplicationProperty","values": [ - {"name": "VRApplicationProperty_Name_String","value": "0"} - ,{"name": "VRApplicationProperty_LaunchType_String","value": "11"} - ,{"name": "VRApplicationProperty_WorkingDirectory_String","value": "12"} - ,{"name": "VRApplicationProperty_BinaryPath_String","value": "13"} - ,{"name": "VRApplicationProperty_Arguments_String","value": "14"} - ,{"name": "VRApplicationProperty_URL_String","value": "15"} - ,{"name": "VRApplicationProperty_Description_String","value": "50"} - ,{"name": "VRApplicationProperty_NewsURL_String","value": "51"} - ,{"name": "VRApplicationProperty_ImagePath_String","value": "52"} - ,{"name": "VRApplicationProperty_Source_String","value": "53"} - ,{"name": "VRApplicationProperty_IsDashboardOverlay_Bool","value": "60"} - ,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"} - ,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"} - ,{"name": "VRApplicationProperty_IsInternal_Bool","value": "63"} - ,{"name": "VRApplicationProperty_WantsCompositorPauseInStandby_Bool","value": "64"} - ,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"} -]} -, {"enumname": "vr::EVRApplicationTransitionState","values": [ - {"name": "VRApplicationTransition_None","value": "0"} - ,{"name": "VRApplicationTransition_OldAppQuitSent","value": "10"} - ,{"name": "VRApplicationTransition_WaitingForExternalLaunch","value": "11"} - ,{"name": "VRApplicationTransition_NewAppLaunched","value": "20"} -]} -, {"enumname": "vr::ChaperoneCalibrationState","values": [ - {"name": "ChaperoneCalibrationState_OK","value": "1"} - ,{"name": "ChaperoneCalibrationState_Warning","value": "100"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved","value": "101"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationRemoved","value": "102"} - ,{"name": "ChaperoneCalibrationState_Warning_SeatedBoundsInvalid","value": "103"} - ,{"name": "ChaperoneCalibrationState_Error","value": "200"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitialized","value": "201"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationConflict","value": "202"} - ,{"name": "ChaperoneCalibrationState_Error_PlayAreaInvalid","value": "203"} - ,{"name": "ChaperoneCalibrationState_Error_CollisionBoundsInvalid","value": "204"} -]} -, {"enumname": "vr::EChaperoneConfigFile","values": [ - {"name": "EChaperoneConfigFile_Live","value": "1"} - ,{"name": "EChaperoneConfigFile_Temp","value": "2"} -]} -, {"enumname": "vr::EChaperoneImportFlags","values": [ - {"name": "EChaperoneImport_BoundsOnly","value": "1"} -]} -, {"enumname": "vr::EVRCompositorError","values": [ - {"name": "VRCompositorError_None","value": "0"} - ,{"name": "VRCompositorError_RequestFailed","value": "1"} - ,{"name": "VRCompositorError_IncompatibleVersion","value": "100"} - ,{"name": "VRCompositorError_DoNotHaveFocus","value": "101"} - ,{"name": "VRCompositorError_InvalidTexture","value": "102"} - ,{"name": "VRCompositorError_IsNotSceneApplication","value": "103"} - ,{"name": "VRCompositorError_TextureIsOnWrongDevice","value": "104"} - ,{"name": "VRCompositorError_TextureUsesUnsupportedFormat","value": "105"} - ,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"} - ,{"name": "VRCompositorError_IndexOutOfRange","value": "107"} - ,{"name": "VRCompositorError_AlreadySubmitted","value": "108"} - ,{"name": "VRCompositorError_InvalidBounds","value": "109"} -]} -, {"enumname": "vr::VROverlayInputMethod","values": [ - {"name": "VROverlayInputMethod_None","value": "0"} - ,{"name": "VROverlayInputMethod_Mouse","value": "1"} -]} -, {"enumname": "vr::VROverlayTransformType","values": [ - {"name": "VROverlayTransform_Absolute","value": "0"} - ,{"name": "VROverlayTransform_TrackedDeviceRelative","value": "1"} - ,{"name": "VROverlayTransform_SystemOverlay","value": "2"} - ,{"name": "VROverlayTransform_TrackedComponent","value": "3"} -]} -, {"enumname": "vr::VROverlayFlags","values": [ - {"name": "VROverlayFlags_None","value": "0"} - ,{"name": "VROverlayFlags_Curved","value": "1"} - ,{"name": "VROverlayFlags_RGSS4X","value": "2"} - ,{"name": "VROverlayFlags_NoDashboardTab","value": "3"} - ,{"name": "VROverlayFlags_AcceptsGamepadEvents","value": "4"} - ,{"name": "VROverlayFlags_ShowGamepadFocus","value": "5"} - ,{"name": "VROverlayFlags_SendVRScrollEvents","value": "6"} - ,{"name": "VROverlayFlags_SendVRTouchpadEvents","value": "7"} - ,{"name": "VROverlayFlags_ShowTouchPadScrollWheel","value": "8"} - ,{"name": "VROverlayFlags_TransferOwnershipToInternalProcess","value": "9"} - ,{"name": "VROverlayFlags_SideBySide_Parallel","value": "10"} - ,{"name": "VROverlayFlags_SideBySide_Crossed","value": "11"} - ,{"name": "VROverlayFlags_Panorama","value": "12"} - ,{"name": "VROverlayFlags_StereoPanorama","value": "13"} - ,{"name": "VROverlayFlags_SortWithNonSceneOverlays","value": "14"} - ,{"name": "VROverlayFlags_VisibleInDashboard","value": "15"} -]} -, {"enumname": "vr::VRMessageOverlayResponse","values": [ - {"name": "VRMessageOverlayResponse_ButtonPress_0","value": "0"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_1","value": "1"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_2","value": "2"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_3","value": "3"} - ,{"name": "VRMessageOverlayResponse_CouldntFindSystemOverlay","value": "4"} - ,{"name": "VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay","value": "5"} - ,{"name": "VRMessageOverlayResponse_ApplicationQuit","value": "6"} -]} -, {"enumname": "vr::EGamepadTextInputMode","values": [ - {"name": "k_EGamepadTextInputModeNormal","value": "0"} - ,{"name": "k_EGamepadTextInputModePassword","value": "1"} - ,{"name": "k_EGamepadTextInputModeSubmit","value": "2"} -]} -, {"enumname": "vr::EGamepadTextInputLineMode","values": [ - {"name": "k_EGamepadTextInputLineModeSingleLine","value": "0"} - ,{"name": "k_EGamepadTextInputLineModeMultipleLines","value": "1"} -]} -, {"enumname": "vr::EOverlayDirection","values": [ - {"name": "OverlayDirection_Up","value": "0"} - ,{"name": "OverlayDirection_Down","value": "1"} - ,{"name": "OverlayDirection_Left","value": "2"} - ,{"name": "OverlayDirection_Right","value": "3"} - ,{"name": "OverlayDirection_Count","value": "4"} -]} -, {"enumname": "vr::EVROverlayIntersectionMaskPrimitiveType","values": [ - {"name": "OverlayIntersectionPrimitiveType_Rectangle","value": "0"} - ,{"name": "OverlayIntersectionPrimitiveType_Circle","value": "1"} -]} -, {"enumname": "vr::EVRRenderModelError","values": [ - {"name": "VRRenderModelError_None","value": "0"} - ,{"name": "VRRenderModelError_Loading","value": "100"} - ,{"name": "VRRenderModelError_NotSupported","value": "200"} - ,{"name": "VRRenderModelError_InvalidArg","value": "300"} - ,{"name": "VRRenderModelError_InvalidModel","value": "301"} - ,{"name": "VRRenderModelError_NoShapes","value": "302"} - ,{"name": "VRRenderModelError_MultipleShapes","value": "303"} - ,{"name": "VRRenderModelError_TooManyVertices","value": "304"} - ,{"name": "VRRenderModelError_MultipleTextures","value": "305"} - ,{"name": "VRRenderModelError_BufferTooSmall","value": "306"} - ,{"name": "VRRenderModelError_NotEnoughNormals","value": "307"} - ,{"name": "VRRenderModelError_NotEnoughTexCoords","value": "308"} - ,{"name": "VRRenderModelError_InvalidTexture","value": "400"} -]} -, {"enumname": "vr::EVRComponentProperty","values": [ - {"name": "VRComponentProperty_IsStatic","value": "1"} - ,{"name": "VRComponentProperty_IsVisible","value": "2"} - ,{"name": "VRComponentProperty_IsTouched","value": "4"} - ,{"name": "VRComponentProperty_IsPressed","value": "8"} - ,{"name": "VRComponentProperty_IsScrolled","value": "16"} -]} -, {"enumname": "vr::EVRNotificationType","values": [ - {"name": "EVRNotificationType_Transient","value": "0"} - ,{"name": "EVRNotificationType_Persistent","value": "1"} - ,{"name": "EVRNotificationType_Transient_SystemWithUserValue","value": "2"} -]} -, {"enumname": "vr::EVRNotificationStyle","values": [ - {"name": "EVRNotificationStyle_None","value": "0"} - ,{"name": "EVRNotificationStyle_Application","value": "100"} - ,{"name": "EVRNotificationStyle_Contact_Disabled","value": "200"} - ,{"name": "EVRNotificationStyle_Contact_Enabled","value": "201"} - ,{"name": "EVRNotificationStyle_Contact_Active","value": "202"} -]} -, {"enumname": "vr::EVRSettingsError","values": [ - {"name": "VRSettingsError_None","value": "0"} - ,{"name": "VRSettingsError_IPCFailed","value": "1"} - ,{"name": "VRSettingsError_WriteFailed","value": "2"} - ,{"name": "VRSettingsError_ReadFailed","value": "3"} - ,{"name": "VRSettingsError_JsonParseFailed","value": "4"} - ,{"name": "VRSettingsError_UnsetSettingHasNoDefault","value": "5"} -]} -, {"enumname": "vr::EVRScreenshotError","values": [ - {"name": "VRScreenshotError_None","value": "0"} - ,{"name": "VRScreenshotError_RequestFailed","value": "1"} - ,{"name": "VRScreenshotError_IncompatibleVersion","value": "100"} - ,{"name": "VRScreenshotError_NotFound","value": "101"} - ,{"name": "VRScreenshotError_BufferTooSmall","value": "102"} - ,{"name": "VRScreenshotError_ScreenshotAlreadyInProgress","value": "108"} -]} -], -"consts":[{ - "constname": "k_nDriverNone","consttype": "const uint32_t", "constval": "4294967295"} -,{ - "constname": "k_unMaxDriverDebugResponseSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unTrackedDeviceIndex_Hmd","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "k_unMaxTrackedDeviceCount","consttype": "const uint32_t", "constval": "16"} -,{ - "constname": "k_unTrackedDeviceIndexOther","consttype": "const uint32_t", "constval": "4294967294"} -,{ - "constname": "k_unTrackedDeviceIndexInvalid","consttype": "const uint32_t", "constval": "4294967295"} -,{ - "constname": "k_ulInvalidPropertyContainer","consttype": "const PropertyContainerHandle_t", "constval": "0"} -,{ - "constname": "k_unInvalidPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "0"} -,{ - "constname": "k_unFloatPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "1"} -,{ - "constname": "k_unInt32PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "2"} -,{ - "constname": "k_unUint64PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "3"} -,{ - "constname": "k_unBoolPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "4"} -,{ - "constname": "k_unStringPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "5"} -,{ - "constname": "k_unHmdMatrix34PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "20"} -,{ - "constname": "k_unHmdMatrix44PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "21"} -,{ - "constname": "k_unHmdVector3PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "22"} -,{ - "constname": "k_unHmdVector4PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "23"} -,{ - "constname": "k_unHiddenAreaPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "30"} -,{ - "constname": "k_unOpenVRInternalReserved_Start","consttype": "const PropertyTypeTag_t", "constval": "1000"} -,{ - "constname": "k_unOpenVRInternalReserved_End","consttype": "const PropertyTypeTag_t", "constval": "10000"} -,{ - "constname": "k_unMaxPropertyStringSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unControllerStateAxisCount","consttype": "const uint32_t", "constval": "5"} -,{ - "constname": "k_ulOverlayHandleInvalid","consttype": "const VROverlayHandle_t", "constval": "0"} -,{ - "constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"} -,{ - "constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"} -,{ - "constname": "IVRTrackedCamera_Version","consttype": "const char *const", "constval": "IVRTrackedCamera_003"} -,{ - "constname": "k_unMaxApplicationKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_pch_MimeType_HomeApp","consttype": "const char *const", "constval": "vr/home"} -,{ - "constname": "k_pch_MimeType_GameTheater","consttype": "const char *const", "constval": "vr/game_theater"} -,{ - "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_006"} -,{ - "constname": "IVRChaperone_Version","consttype": "const char *const", "constval": "IVRChaperone_003"} -,{ - "constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"} -,{ - "constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"} -,{ - "constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unVROverlayMaxNameLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "64"} -,{ - "constname": "k_unMaxOverlayIntersectionMaskPrimitivesCount","consttype": "const uint32_t", "constval": "32"} -,{ - "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_016"} -,{ - "constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"} -,{ - "constname": "k_pch_Controller_Component_Base","consttype": "const char *const", "constval": "base"} -,{ - "constname": "k_pch_Controller_Component_Tip","consttype": "const char *const", "constval": "tip"} -,{ - "constname": "k_pch_Controller_Component_HandGrip","consttype": "const char *const", "constval": "handgrip"} -,{ - "constname": "k_pch_Controller_Component_Status","consttype": "const char *const", "constval": "status"} -,{ - "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_005"} -,{ - "constname": "k_unNotificationTextMaxSize","consttype": "const uint32_t", "constval": "256"} -,{ - "constname": "IVRNotifications_Version","consttype": "const char *const", "constval": "IVRNotifications_002"} -,{ - "constname": "k_unMaxSettingsKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "IVRSettings_Version","consttype": "const char *const", "constval": "IVRSettings_002"} -,{ - "constname": "k_pch_SteamVR_Section","consttype": "const char *const", "constval": "steamvr"} -,{ - "constname": "k_pch_SteamVR_RequireHmd_String","consttype": "const char *const", "constval": "requireHmd"} -,{ - "constname": "k_pch_SteamVR_ForcedDriverKey_String","consttype": "const char *const", "constval": "forcedDriver"} -,{ - "constname": "k_pch_SteamVR_ForcedHmdKey_String","consttype": "const char *const", "constval": "forcedHmd"} -,{ - "constname": "k_pch_SteamVR_DisplayDebug_Bool","consttype": "const char *const", "constval": "displayDebug"} -,{ - "constname": "k_pch_SteamVR_DebugProcessPipe_String","consttype": "const char *const", "constval": "debugProcessPipe"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugX_Int32","consttype": "const char *const", "constval": "displayDebugX"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugY_Int32","consttype": "const char *const", "constval": "displayDebugY"} -,{ - "constname": "k_pch_SteamVR_SendSystemButtonToAllApps_Bool","consttype": "const char *const", "constval": "sendSystemButtonToAllApps"} -,{ - "constname": "k_pch_SteamVR_LogLevel_Int32","consttype": "const char *const", "constval": "loglevel"} -,{ - "constname": "k_pch_SteamVR_IPD_Float","consttype": "const char *const", "constval": "ipd"} -,{ - "constname": "k_pch_SteamVR_Background_String","consttype": "const char *const", "constval": "background"} -,{ - "constname": "k_pch_SteamVR_BackgroundUseDomeProjection_Bool","consttype": "const char *const", "constval": "backgroundUseDomeProjection"} -,{ - "constname": "k_pch_SteamVR_BackgroundCameraHeight_Float","consttype": "const char *const", "constval": "backgroundCameraHeight"} -,{ - "constname": "k_pch_SteamVR_BackgroundDomeRadius_Float","consttype": "const char *const", "constval": "backgroundDomeRadius"} -,{ - "constname": "k_pch_SteamVR_GridColor_String","consttype": "const char *const", "constval": "gridColor"} -,{ - "constname": "k_pch_SteamVR_PlayAreaColor_String","consttype": "const char *const", "constval": "playAreaColor"} -,{ - "constname": "k_pch_SteamVR_ShowStage_Bool","consttype": "const char *const", "constval": "showStage"} -,{ - "constname": "k_pch_SteamVR_ActivateMultipleDrivers_Bool","consttype": "const char *const", "constval": "activateMultipleDrivers"} -,{ - "constname": "k_pch_SteamVR_DirectMode_Bool","consttype": "const char *const", "constval": "directMode"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidVid_Int32","consttype": "const char *const", "constval": "directModeEdidVid"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidPid_Int32","consttype": "const char *const", "constval": "directModeEdidPid"} -,{ - "constname": "k_pch_SteamVR_UsingSpeakers_Bool","consttype": "const char *const", "constval": "usingSpeakers"} -,{ - "constname": "k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float","consttype": "const char *const", "constval": "speakersForwardYawOffsetDegrees"} -,{ - "constname": "k_pch_SteamVR_BaseStationPowerManagement_Bool","consttype": "const char *const", "constval": "basestationPowerManagement"} -,{ - "constname": "k_pch_SteamVR_NeverKillProcesses_Bool","consttype": "const char *const", "constval": "neverKillProcesses"} -,{ - "constname": "k_pch_SteamVR_SupersampleScale_Float","consttype": "const char *const", "constval": "supersampleScale"} -,{ - "constname": "k_pch_SteamVR_AllowAsyncReprojection_Bool","consttype": "const char *const", "constval": "allowAsyncReprojection"} -,{ - "constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowInterleavedReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceReprojection_Bool","consttype": "const char *const", "constval": "forceReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceFadeOnBadTracking_Bool","consttype": "const char *const", "constval": "forceFadeOnBadTracking"} -,{ - "constname": "k_pch_SteamVR_DefaultMirrorView_Int32","consttype": "const char *const", "constval": "defaultMirrorView"} -,{ - "constname": "k_pch_SteamVR_ShowMirrorView_Bool","consttype": "const char *const", "constval": "showMirrorView"} -,{ - "constname": "k_pch_SteamVR_MirrorViewGeometry_String","consttype": "const char *const", "constval": "mirrorViewGeometry"} -,{ - "constname": "k_pch_SteamVR_StartMonitorFromAppLaunch","consttype": "const char *const", "constval": "startMonitorFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartCompositorFromAppLaunch_Bool","consttype": "const char *const", "constval": "startCompositorFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartDashboardFromAppLaunch_Bool","consttype": "const char *const", "constval": "startDashboardFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool","consttype": "const char *const", "constval": "startOverlayAppsFromDashboard"} -,{ - "constname": "k_pch_SteamVR_EnableHomeApp","consttype": "const char *const", "constval": "enableHomeApp"} -,{ - "constname": "k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32","consttype": "const char *const", "constval": "CycleBackgroundImageTimeSec"} -,{ - "constname": "k_pch_SteamVR_RetailDemo_Bool","consttype": "const char *const", "constval": "retailDemo"} -,{ - "constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"} -,{ - "constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"} -,{ - "constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"} -,{ - "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} -,{ - "constname": "k_pch_Lighthouse_DisableIMU_Bool","consttype": "const char *const", "constval": "disableimu"} -,{ - "constname": "k_pch_Lighthouse_UseDisambiguation_String","consttype": "const char *const", "constval": "usedisambiguation"} -,{ - "constname": "k_pch_Lighthouse_DisambiguationDebug_Int32","consttype": "const char *const", "constval": "disambiguationdebug"} -,{ - "constname": "k_pch_Lighthouse_PrimaryBasestation_Int32","consttype": "const char *const", "constval": "primarybasestation"} -,{ - "constname": "k_pch_Lighthouse_DBHistory_Bool","consttype": "const char *const", "constval": "dbhistory"} -,{ - "constname": "k_pch_Null_Section","consttype": "const char *const", "constval": "driver_null"} -,{ - "constname": "k_pch_Null_SerialNumber_String","consttype": "const char *const", "constval": "serialNumber"} -,{ - "constname": "k_pch_Null_ModelNumber_String","consttype": "const char *const", "constval": "modelNumber"} -,{ - "constname": "k_pch_Null_WindowX_Int32","consttype": "const char *const", "constval": "windowX"} -,{ - "constname": "k_pch_Null_WindowY_Int32","consttype": "const char *const", "constval": "windowY"} -,{ - "constname": "k_pch_Null_WindowWidth_Int32","consttype": "const char *const", "constval": "windowWidth"} -,{ - "constname": "k_pch_Null_WindowHeight_Int32","consttype": "const char *const", "constval": "windowHeight"} -,{ - "constname": "k_pch_Null_RenderWidth_Int32","consttype": "const char *const", "constval": "renderWidth"} -,{ - "constname": "k_pch_Null_RenderHeight_Int32","consttype": "const char *const", "constval": "renderHeight"} -,{ - "constname": "k_pch_Null_SecondsFromVsyncToPhotons_Float","consttype": "const char *const", "constval": "secondsFromVsyncToPhotons"} -,{ - "constname": "k_pch_Null_DisplayFrequency_Float","consttype": "const char *const", "constval": "displayFrequency"} -,{ - "constname": "k_pch_UserInterface_Section","consttype": "const char *const", "constval": "userinterface"} -,{ - "constname": "k_pch_UserInterface_StatusAlwaysOnTop_Bool","consttype": "const char *const", "constval": "StatusAlwaysOnTop"} -,{ - "constname": "k_pch_UserInterface_MinimizeToTray_Bool","consttype": "const char *const", "constval": "MinimizeToTray"} -,{ - "constname": "k_pch_UserInterface_Screenshots_Bool","consttype": "const char *const", "constval": "screenshots"} -,{ - "constname": "k_pch_UserInterface_ScreenshotType_Int","consttype": "const char *const", "constval": "screenshotType"} -,{ - "constname": "k_pch_Notifications_Section","consttype": "const char *const", "constval": "notifications"} -,{ - "constname": "k_pch_Notifications_DoNotDisturb_Bool","consttype": "const char *const", "constval": "DoNotDisturb"} -,{ - "constname": "k_pch_Keyboard_Section","consttype": "const char *const", "constval": "keyboard"} -,{ - "constname": "k_pch_Keyboard_TutorialCompletions","consttype": "const char *const", "constval": "TutorialCompletions"} -,{ - "constname": "k_pch_Keyboard_ScaleX","consttype": "const char *const", "constval": "ScaleX"} -,{ - "constname": "k_pch_Keyboard_ScaleY","consttype": "const char *const", "constval": "ScaleY"} -,{ - "constname": "k_pch_Keyboard_OffsetLeftX","consttype": "const char *const", "constval": "OffsetLeftX"} -,{ - "constname": "k_pch_Keyboard_OffsetRightX","consttype": "const char *const", "constval": "OffsetRightX"} -,{ - "constname": "k_pch_Keyboard_OffsetY","consttype": "const char *const", "constval": "OffsetY"} -,{ - "constname": "k_pch_Keyboard_Smoothing","consttype": "const char *const", "constval": "Smoothing"} -,{ - "constname": "k_pch_Perf_Section","consttype": "const char *const", "constval": "perfcheck"} -,{ - "constname": "k_pch_Perf_HeuristicActive_Bool","consttype": "const char *const", "constval": "heuristicActive"} -,{ - "constname": "k_pch_Perf_NotifyInHMD_Bool","consttype": "const char *const", "constval": "warnInHMD"} -,{ - "constname": "k_pch_Perf_NotifyOnlyOnce_Bool","consttype": "const char *const", "constval": "warnOnlyOnce"} -,{ - "constname": "k_pch_Perf_AllowTimingStore_Bool","consttype": "const char *const", "constval": "allowTimingStore"} -,{ - "constname": "k_pch_Perf_SaveTimingsOnExit_Bool","consttype": "const char *const", "constval": "saveTimingsOnExit"} -,{ - "constname": "k_pch_Perf_TestData_Float","consttype": "const char *const", "constval": "perfTestData"} -,{ - "constname": "k_pch_Perf_LinuxGPUProfiling_Bool","consttype": "const char *const", "constval": "linuxGPUProfiling"} -,{ - "constname": "k_pch_CollisionBounds_Section","consttype": "const char *const", "constval": "collisionBounds"} -,{ - "constname": "k_pch_CollisionBounds_Style_Int32","consttype": "const char *const", "constval": "CollisionBoundsStyle"} -,{ - "constname": "k_pch_CollisionBounds_GroundPerimeterOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsGroundPerimeterOn"} -,{ - "constname": "k_pch_CollisionBounds_CenterMarkerOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsCenterMarkerOn"} -,{ - "constname": "k_pch_CollisionBounds_PlaySpaceOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsPlaySpaceOn"} -,{ - "constname": "k_pch_CollisionBounds_FadeDistance_Float","consttype": "const char *const", "constval": "CollisionBoundsFadeDistance"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaR_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaR"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaG_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaG"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaB_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaB"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaA_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaA"} -,{ - "constname": "k_pch_Camera_Section","consttype": "const char *const", "constval": "camera"} -,{ - "constname": "k_pch_Camera_EnableCamera_Bool","consttype": "const char *const", "constval": "enableCamera"} -,{ - "constname": "k_pch_Camera_EnableCameraInDashboard_Bool","consttype": "const char *const", "constval": "enableCameraInDashboard"} -,{ - "constname": "k_pch_Camera_EnableCameraForCollisionBounds_Bool","consttype": "const char *const", "constval": "enableCameraForCollisionBounds"} -,{ - "constname": "k_pch_Camera_EnableCameraForRoomView_Bool","consttype": "const char *const", "constval": "enableCameraForRoomView"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaR_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaR"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaG_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaG"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaB_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaB"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaA_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaA"} -,{ - "constname": "k_pch_Camera_BoundsStrength_Int32","consttype": "const char *const", "constval": "cameraBoundsStrength"} -,{ - "constname": "k_pch_audio_Section","consttype": "const char *const", "constval": "audio"} -,{ - "constname": "k_pch_audio_OnPlaybackDevice_String","consttype": "const char *const", "constval": "onPlaybackDevice"} -,{ - "constname": "k_pch_audio_OnRecordDevice_String","consttype": "const char *const", "constval": "onRecordDevice"} -,{ - "constname": "k_pch_audio_OnPlaybackMirrorDevice_String","consttype": "const char *const", "constval": "onPlaybackMirrorDevice"} -,{ - "constname": "k_pch_audio_OffPlaybackDevice_String","consttype": "const char *const", "constval": "offPlaybackDevice"} -,{ - "constname": "k_pch_audio_OffRecordDevice_String","consttype": "const char *const", "constval": "offRecordDevice"} -,{ - "constname": "k_pch_audio_VIVEHDMIGain","consttype": "const char *const", "constval": "viveHDMIGain"} -,{ - "constname": "k_pch_Power_Section","consttype": "const char *const", "constval": "power"} -,{ - "constname": "k_pch_Power_PowerOffOnExit_Bool","consttype": "const char *const", "constval": "powerOffOnExit"} -,{ - "constname": "k_pch_Power_TurnOffScreensTimeout_Float","consttype": "const char *const", "constval": "turnOffScreensTimeout"} -,{ - "constname": "k_pch_Power_TurnOffControllersTimeout_Float","consttype": "const char *const", "constval": "turnOffControllersTimeout"} -,{ - "constname": "k_pch_Power_ReturnToWatchdogTimeout_Float","consttype": "const char *const", "constval": "returnToWatchdogTimeout"} -,{ - "constname": "k_pch_Power_AutoLaunchSteamVROnButtonPress","consttype": "const char *const", "constval": "autoLaunchSteamVROnButtonPress"} -,{ - "constname": "k_pch_Power_PauseCompositorOnStandby_Bool","consttype": "const char *const", "constval": "pauseCompositorOnStandby"} -,{ - "constname": "k_pch_Dashboard_Section","consttype": "const char *const", "constval": "dashboard"} -,{ - "constname": "k_pch_Dashboard_EnableDashboard_Bool","consttype": "const char *const", "constval": "enableDashboard"} -,{ - "constname": "k_pch_Dashboard_ArcadeMode_Bool","consttype": "const char *const", "constval": "arcadeMode"} -,{ - "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} -,{ - "constname": "k_pch_Driver_Enable_Bool","consttype": "const char *const", "constval": "enable"} -,{ - "constname": "IVRScreenshots_Version","consttype": "const char *const", "constval": "IVRScreenshots_001"} -,{ - "constname": "IVRResources_Version","consttype": "const char *const", "constval": "IVRResources_001"} -,{ - "constname": "IVRDriverManager_Version","consttype": "const char *const", "constval": "IVRDriverManager_001"} -], -"structs":[{"struct": "vr::HmdMatrix34_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [3][4]"}]} -,{"struct": "vr::HmdMatrix44_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [4][4]"}]} -,{"struct": "vr::HmdVector3_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [3]"}]} -,{"struct": "vr::HmdVector4_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [4]"}]} -,{"struct": "vr::HmdVector3d_t","fields": [ -{ "fieldname": "v", "fieldtype": "double [3]"}]} -,{"struct": "vr::HmdVector2_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [2]"}]} -,{"struct": "vr::HmdQuaternion_t","fields": [ -{ "fieldname": "w", "fieldtype": "double"}, -{ "fieldname": "x", "fieldtype": "double"}, -{ "fieldname": "y", "fieldtype": "double"}, -{ "fieldname": "z", "fieldtype": "double"}]} -,{"struct": "vr::HmdColor_t","fields": [ -{ "fieldname": "r", "fieldtype": "float"}, -{ "fieldname": "g", "fieldtype": "float"}, -{ "fieldname": "b", "fieldtype": "float"}, -{ "fieldname": "a", "fieldtype": "float"}]} -,{"struct": "vr::HmdQuad_t","fields": [ -{ "fieldname": "vCorners", "fieldtype": "struct vr::HmdVector3_t [4]"}]} -,{"struct": "vr::HmdRect2_t","fields": [ -{ "fieldname": "vTopLeft", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "vBottomRight", "fieldtype": "struct vr::HmdVector2_t"}]} -,{"struct": "vr::DistortionCoordinates_t","fields": [ -{ "fieldname": "rfRed", "fieldtype": "float [2]"}, -{ "fieldname": "rfGreen", "fieldtype": "float [2]"}, -{ "fieldname": "rfBlue", "fieldtype": "float [2]"}]} -,{"struct": "vr::Texture_t","fields": [ -{ "fieldname": "handle", "fieldtype": "void *"}, -{ "fieldname": "eType", "fieldtype": "enum vr::ETextureType"}, -{ "fieldname": "eColorSpace", "fieldtype": "enum vr::EColorSpace"}]} -,{"struct": "vr::TrackedDevicePose_t","fields": [ -{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "vVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vAngularVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eTrackingResult", "fieldtype": "enum vr::ETrackingResult"}, -{ "fieldname": "bPoseIsValid", "fieldtype": "_Bool"}, -{ "fieldname": "bDeviceIsConnected", "fieldtype": "_Bool"}]} -,{"struct": "vr::VRTextureBounds_t","fields": [ -{ "fieldname": "uMin", "fieldtype": "float"}, -{ "fieldname": "vMin", "fieldtype": "float"}, -{ "fieldname": "uMax", "fieldtype": "float"}, -{ "fieldname": "vMax", "fieldtype": "float"}]} -,{"struct": "vr::VRTextureWithPose_t","fields": [ -{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]} -,{"struct": "vr::VRVulkanTextureData_t","fields": [ -{ "fieldname": "m_nImage", "fieldtype": "uint64_t"}, -{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"}, -{ "fieldname": "m_pPhysicalDevice", "fieldtype": "struct VkPhysicalDevice_T *"}, -{ "fieldname": "m_pInstance", "fieldtype": "struct VkInstance_T *"}, -{ "fieldname": "m_pQueue", "fieldtype": "struct VkQueue_T *"}, -{ "fieldname": "m_nQueueFamilyIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFormat", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nSampleCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::D3D12TextureData_t","fields": [ -{ "fieldname": "m_pResource", "fieldtype": "struct ID3D12Resource *"}, -{ "fieldname": "m_pCommandQueue", "fieldtype": "struct ID3D12CommandQueue *"}, -{ "fieldname": "m_nNodeMask", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Controller_t","fields": [ -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Mouse_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}, -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Scroll_t","fields": [ -{ "fieldname": "xdelta", "fieldtype": "float"}, -{ "fieldname": "ydelta", "fieldtype": "float"}, -{ "fieldname": "repeatCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_TouchPadMove_t","fields": [ -{ "fieldname": "bFingerDown", "fieldtype": "_Bool"}, -{ "fieldname": "flSecondsFingerDown", "fieldtype": "float"}, -{ "fieldname": "fValueXFirst", "fieldtype": "float"}, -{ "fieldname": "fValueYFirst", "fieldtype": "float"}, -{ "fieldname": "fValueXRaw", "fieldtype": "float"}, -{ "fieldname": "fValueYRaw", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Notification_t","fields": [ -{ "fieldname": "ulUserValue", "fieldtype": "uint64_t"}, -{ "fieldname": "notificationId", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Process_t","fields": [ -{ "fieldname": "pid", "fieldtype": "uint32_t"}, -{ "fieldname": "oldPid", "fieldtype": "uint32_t"}, -{ "fieldname": "bForced", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Overlay_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Status_t","fields": [ -{ "fieldname": "statusState", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Keyboard_t","fields": [ -{ "fieldname": "cNewInput", "fieldtype": "char [8]"}, -{ "fieldname": "uUserValue", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Ipd_t","fields": [ -{ "fieldname": "ipdMeters", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Chaperone_t","fields": [ -{ "fieldname": "m_nPreviousUniverse", "fieldtype": "uint64_t"}, -{ "fieldname": "m_nCurrentUniverse", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Reserved_t","fields": [ -{ "fieldname": "reserved0", "fieldtype": "uint64_t"}, -{ "fieldname": "reserved1", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_PerformanceTest_t","fields": [ -{ "fieldname": "m_nFidelityLevel", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_SeatedZeroPoseReset_t","fields": [ -{ "fieldname": "bResetBySystemMenu", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Screenshot_t","fields": [ -{ "fieldname": "handle", "fieldtype": "uint32_t"}, -{ "fieldname": "type", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_ScreenshotProgress_t","fields": [ -{ "fieldname": "progress", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_ApplicationLaunch_t","fields": [ -{ "fieldname": "pid", "fieldtype": "uint32_t"}, -{ "fieldname": "unArgsHandle", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_EditingCameraSurface_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}, -{ "fieldname": "nVisualMode", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_MessageOverlay_t","fields": [ -{ "fieldname": "unVRMessageOverlayResponse", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Property_t","fields": [ -{ "fieldname": "container", "fieldtype": "PropertyContainerHandle_t"}, -{ "fieldname": "prop", "fieldtype": "enum vr::ETrackedDeviceProperty"}]} -,{"struct": "vr::(anonymous)","fields": [ -{ "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"}, -{ "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"}, -{ "fieldname": "mouse", "fieldtype": "struct vr::VREvent_Mouse_t"}, -{ "fieldname": "scroll", "fieldtype": "struct vr::VREvent_Scroll_t"}, -{ "fieldname": "process", "fieldtype": "struct vr::VREvent_Process_t"}, -{ "fieldname": "notification", "fieldtype": "struct vr::VREvent_Notification_t"}, -{ "fieldname": "overlay", "fieldtype": "struct vr::VREvent_Overlay_t"}, -{ "fieldname": "status", "fieldtype": "struct vr::VREvent_Status_t"}, -{ "fieldname": "keyboard", "fieldtype": "struct vr::VREvent_Keyboard_t"}, -{ "fieldname": "ipd", "fieldtype": "struct vr::VREvent_Ipd_t"}, -{ "fieldname": "chaperone", "fieldtype": "struct vr::VREvent_Chaperone_t"}, -{ "fieldname": "performanceTest", "fieldtype": "struct vr::VREvent_PerformanceTest_t"}, -{ "fieldname": "touchPadMove", "fieldtype": "struct vr::VREvent_TouchPadMove_t"}, -{ "fieldname": "seatedZeroPoseReset", "fieldtype": "struct vr::VREvent_SeatedZeroPoseReset_t"}, -{ "fieldname": "screenshot", "fieldtype": "struct vr::VREvent_Screenshot_t"}, -{ "fieldname": "screenshotProgress", "fieldtype": "struct vr::VREvent_ScreenshotProgress_t"}, -{ "fieldname": "applicationLaunch", "fieldtype": "struct vr::VREvent_ApplicationLaunch_t"}, -{ "fieldname": "cameraSurface", "fieldtype": "struct vr::VREvent_EditingCameraSurface_t"}, -{ "fieldname": "messageOverlay", "fieldtype": "struct vr::VREvent_MessageOverlay_t"}, -{ "fieldname": "property", "fieldtype": "struct vr::VREvent_Property_t"}]} -,{"struct": "vr::VREvent_t","fields": [ -{ "fieldname": "eventType", "fieldtype": "uint32_t"}, -{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"}, -{ "fieldname": "eventAgeSeconds", "fieldtype": "float"}, -{ "fieldname": "data", "fieldtype": "VREvent_Data_t"}]} -,{"struct": "vr::HiddenAreaMesh_t","fields": [ -{ "fieldname": "pVertexData", "fieldtype": "const struct vr::HmdVector2_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VRControllerAxis_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}]} -,{"struct": "vr::VRControllerState001_t","fields": [ -{ "fieldname": "unPacketNum", "fieldtype": "uint32_t"}, -{ "fieldname": "ulButtonPressed", "fieldtype": "uint64_t"}, -{ "fieldname": "ulButtonTouched", "fieldtype": "uint64_t"}, -{ "fieldname": "rAxis", "fieldtype": "struct vr::VRControllerAxis_t [5]"}]} -,{"struct": "vr::Compositor_OverlaySettings","fields": [ -{ "fieldname": "size", "fieldtype": "uint32_t"}, -{ "fieldname": "curved", "fieldtype": "_Bool"}, -{ "fieldname": "antialias", "fieldtype": "_Bool"}, -{ "fieldname": "scale", "fieldtype": "float"}, -{ "fieldname": "distance", "fieldtype": "float"}, -{ "fieldname": "alpha", "fieldtype": "float"}, -{ "fieldname": "uOffset", "fieldtype": "float"}, -{ "fieldname": "vOffset", "fieldtype": "float"}, -{ "fieldname": "uScale", "fieldtype": "float"}, -{ "fieldname": "vScale", "fieldtype": "float"}, -{ "fieldname": "gridDivs", "fieldtype": "float"}, -{ "fieldname": "gridWidth", "fieldtype": "float"}, -{ "fieldname": "gridScale", "fieldtype": "float"}, -{ "fieldname": "transform", "fieldtype": "struct vr::HmdMatrix44_t"}]} -,{"struct": "vr::CameraVideoStreamFrameHeader_t","fields": [ -{ "fieldname": "eFrameType", "fieldtype": "enum vr::EVRTrackedCameraFrameType"}, -{ "fieldname": "nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "nBytesPerPixel", "fieldtype": "uint32_t"}, -{ "fieldname": "nFrameSequence", "fieldtype": "uint32_t"}, -{ "fieldname": "standingTrackedDevicePose", "fieldtype": "struct vr::TrackedDevicePose_t"}]} -,{"struct": "vr::AppOverrideKeys_t","fields": [ -{ "fieldname": "pchKey", "fieldtype": "const char *"}, -{ "fieldname": "pchValue", "fieldtype": "const char *"}]} -,{"struct": "vr::Compositor_FrameTiming","fields": [ -{ "fieldname": "m_nSize", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumMisPresented", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nReprojectionFlags", "fieldtype": "uint32_t"}, -{ "fieldname": "m_flSystemTimeInSeconds", "fieldtype": "double"}, -{ "fieldname": "m_flPreSubmitGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flPostSubmitGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flTotalRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorIdleCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flClientFrameIntervalMs", "fieldtype": "float"}, -{ "fieldname": "m_flPresentCallCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitForPresentCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flSubmitFrameMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitGetPosesCalledMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewPosesReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewFrameReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateStartMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateEndMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderStartMs", "fieldtype": "float"}, -{ "fieldname": "m_HmdPose", "fieldtype": "vr::TrackedDevicePose_t"}]} -,{"struct": "vr::Compositor_CumulativeStats","fields": [ -{ "fieldname": "m_nPid", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesTimedOut", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VROverlayIntersectionParams_t","fields": [ -{ "fieldname": "vSource", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vDirection", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eOrigin", "fieldtype": "enum vr::ETrackingUniverseOrigin"}]} -,{"struct": "vr::VROverlayIntersectionResults_t","fields": [ -{ "fieldname": "vPoint", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vUVs", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "fDistance", "fieldtype": "float"}]} -,{"struct": "vr::IntersectionMaskRectangle_t","fields": [ -{ "fieldname": "m_flTopLeftX", "fieldtype": "float"}, -{ "fieldname": "m_flTopLeftY", "fieldtype": "float"}, -{ "fieldname": "m_flWidth", "fieldtype": "float"}, -{ "fieldname": "m_flHeight", "fieldtype": "float"}]} -,{"struct": "vr::IntersectionMaskCircle_t","fields": [ -{ "fieldname": "m_flCenterX", "fieldtype": "float"}, -{ "fieldname": "m_flCenterY", "fieldtype": "float"}, -{ "fieldname": "m_flRadius", "fieldtype": "float"}]} -,{"struct": "vr::(anonymous)","fields": [ -{ "fieldname": "m_Rectangle", "fieldtype": "struct vr::IntersectionMaskRectangle_t"}, -{ "fieldname": "m_Circle", "fieldtype": "struct vr::IntersectionMaskCircle_t"}]} -,{"struct": "vr::VROverlayIntersectionMaskPrimitive_t","fields": [ -{ "fieldname": "m_nPrimitiveType", "fieldtype": "enum vr::EVROverlayIntersectionMaskPrimitiveType"}, -{ "fieldname": "m_Primitive", "fieldtype": "VROverlayIntersectionMaskPrimitive_Data_t"}]} -,{"struct": "vr::RenderModel_ComponentState_t","fields": [ -{ "fieldname": "mTrackingToComponentRenderModel", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "mTrackingToComponentLocal", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "uProperties", "fieldtype": "VRComponentProperties"}]} -,{"struct": "vr::RenderModel_Vertex_t","fields": [ -{ "fieldname": "vPosition", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "rfTextureCoord", "fieldtype": "float [2]"}]} -,{"struct": "vr::RenderModel_TextureMap_t","fields": [ -{ "fieldname": "unWidth", "fieldtype": "uint16_t"}, -{ "fieldname": "unHeight", "fieldtype": "uint16_t"}, -{ "fieldname": "rubTextureMapData", "fieldtype": "const uint8_t *"}]} -,{"struct": "vr::RenderModel_t","fields": [ -{ "fieldname": "rVertexData", "fieldtype": "const struct vr::RenderModel_Vertex_t *"}, -{ "fieldname": "unVertexCount", "fieldtype": "uint32_t"}, -{ "fieldname": "rIndexData", "fieldtype": "const uint16_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}, -{ "fieldname": "diffuseTextureId", "fieldtype": "TextureID_t"}]} -,{"struct": "vr::RenderModel_ControllerMode_State_t","fields": [ -{ "fieldname": "bScrollWheelVisible", "fieldtype": "_Bool"}]} -,{"struct": "vr::NotificationBitmap_t","fields": [ -{ "fieldname": "m_pImageData", "fieldtype": "void *"}, -{ "fieldname": "m_nWidth", "fieldtype": "int32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "int32_t"}, -{ "fieldname": "m_nBytesPerPixel", "fieldtype": "int32_t"}]} -,{"struct": "vr::COpenVRContext","fields": [ -{ "fieldname": "m_pVRSystem", "fieldtype": "class vr::IVRSystem *"}, -{ "fieldname": "m_pVRChaperone", "fieldtype": "class vr::IVRChaperone *"}, -{ "fieldname": "m_pVRChaperoneSetup", "fieldtype": "class vr::IVRChaperoneSetup *"}, -{ "fieldname": "m_pVRCompositor", "fieldtype": "class vr::IVRCompositor *"}, -{ "fieldname": "m_pVROverlay", "fieldtype": "class vr::IVROverlay *"}, -{ "fieldname": "m_pVRResources", "fieldtype": "class vr::IVRResources *"}, -{ "fieldname": "m_pVRRenderModels", "fieldtype": "class vr::IVRRenderModels *"}, -{ "fieldname": "m_pVRExtendedDisplay", "fieldtype": "class vr::IVRExtendedDisplay *"}, -{ "fieldname": "m_pVRSettings", "fieldtype": "class vr::IVRSettings *"}, -{ "fieldname": "m_pVRApplications", "fieldtype": "class vr::IVRApplications *"}, -{ "fieldname": "m_pVRTrackedCamera", "fieldtype": "class vr::IVRTrackedCamera *"}, -{ "fieldname": "m_pVRScreenshots", "fieldtype": "class vr::IVRScreenshots *"}, -{ "fieldname": "m_pVRDriverManager", "fieldtype": "class vr::IVRDriverManager *"}]} -], -"methods":[{ - "classname": "vr::IVRSystem", - "methodname": "GetRecommendedRenderTargetSize", - "returntype": "void", - "params": [ -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionMatrix", - "returntype": "struct vr::HmdMatrix44_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fNearZ" ,"paramtype": "float"}, -{ "paramname": "fFarZ" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionRaw", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pfLeft" ,"paramtype": "float *"}, -{ "paramname": "pfRight" ,"paramtype": "float *"}, -{ "paramname": "pfTop" ,"paramtype": "float *"}, -{ "paramname": "pfBottom" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ComputeDistortion", - "returntype": "bool", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fU" ,"paramtype": "float"}, -{ "paramname": "fV" ,"paramtype": "float"}, -{ "paramname": "pDistortionCoordinates" ,"paramtype": "struct vr::DistortionCoordinates_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEyeToHeadTransform", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTimeSinceLastVsync", - "returntype": "bool", - "params": [ -{ "paramname": "pfSecondsSinceLastVsync" ,"paramtype": "float *"}, -{ "paramname": "pulFrameCounter" ,"paramtype": "uint64_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetD3D9AdapterIndex", - "returntype": "int32_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetOutputDevice", - "returntype": "void", - "params": [ -{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"}, -{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}, -{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsDisplayOnDesktop", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "SetDisplayVisibility", - "returntype": "bool", - "params": [ -{ "paramname": "bIsVisibleOnDesktop" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDeviceToAbsoluteTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "fPredictedSecondsToPhotonsFromNow" ,"paramtype": "float"}, -{ "paramname": "pTrackedDevicePoseArray" ,"array_count": "unTrackedDevicePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unTrackedDevicePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ResetSeatedZeroPose", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSeatedZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetRawZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSortedTrackedDeviceIndicesOfClass", - "returntype": "uint32_t", - "params": [ -{ "paramname": "eTrackedDeviceClass" ,"paramtype": "vr::ETrackedDeviceClass"}, -{ "paramname": "punTrackedDeviceIndexArray" ,"array_count": "unTrackedDeviceIndexArrayCount" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "unTrackedDeviceIndexArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "unRelativeToTrackedDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceActivityLevel", - "returntype": "vr::EDeviceActivityLevel", - "params": [ -{ "paramname": "unDeviceId" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ApplyTransform", - "returntype": "void", - "params": [ -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "const struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceIndexForControllerRole", - "returntype": "vr::TrackedDeviceIndex_t", - "params": [ -{ "paramname": "unDeviceType" ,"paramtype": "vr::ETrackedControllerRole"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerRoleForTrackedDeviceIndex", - "returntype": "vr::ETrackedControllerRole", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceClass", - "returntype": "vr::ETrackedDeviceClass", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsTrackedDeviceConnected", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetBoolTrackedDeviceProperty", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetFloatTrackedDeviceProperty", - "returntype": "float", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetInt32TrackedDeviceProperty", - "returntype": "int32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetUint64TrackedDeviceProperty", - "returntype": "uint64_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetMatrix34TrackedDeviceProperty", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetStringTrackedDeviceProperty", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetPropErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::ETrackedPropertyError"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEvent", - "returntype": "bool", - "params": [ -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEventWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEventTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eType" ,"paramtype": "vr::EVREventType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetHiddenAreaMesh", - "returntype": "struct vr::HiddenAreaMesh_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "type" ,"paramtype": "vr::EHiddenAreaMeshType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerState", - "returntype": "bool", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, -{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerStateWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, -{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "TriggerHapticPulse", - "returntype": "void", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "unAxisId" ,"paramtype": "uint32_t"}, -{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetButtonIdNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eButtonId" ,"paramtype": "vr::EVRButtonId"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerAxisTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eAxisType" ,"paramtype": "vr::EVRControllerAxisType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "CaptureInputFocus", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ReleaseInputFocus", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsInputFocusCapturedByAnotherProcess", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "DriverDebugRequest", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchRequest" ,"paramtype": "const char *"}, -{ "paramname": "pchResponseBuffer" ,"paramtype": "char *"}, -{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PerformFirmwareUpdate", - "returntype": "vr::EVRFirmwareError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_Exiting", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_UserPrompt", - "returntype": "void" -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetWindowBounds", - "returntype": "void", - "params": [ -{ "paramname": "pnX" ,"paramtype": "int32_t *"}, -{ "paramname": "pnY" ,"paramtype": "int32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetEyeOutputViewport", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pnX" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnY" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"}, -{ "paramname": "pnAdapterOutputIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eCameraError" ,"paramtype": "vr::EVRTrackedCameraError"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "HasCamera", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHasCamera" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraFrameSize", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnFrameBufferSize" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraIntrinsics", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFocalLength" ,"paramtype": "vr::HmdVector2_t *"}, -{ "paramname": "pCenter" ,"paramtype": "vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraProjection", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "flZNear" ,"paramtype": "float"}, -{ "paramname": "flZFar" ,"paramtype": "float"}, -{ "paramname": "pProjection" ,"paramtype": "vr::HmdMatrix44_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "AcquireVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHandle" ,"paramtype": "vr::TrackedCameraHandle_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamFrameBuffer", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFrameBuffer" ,"paramtype": "void *"}, -{ "paramname": "nFrameBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureSize", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pTextureBounds" ,"paramtype": "vr::VRTextureBounds_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureD3D11", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureGL", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamTextureGL", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "AddApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"}, -{ "paramname": "bTemporary" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "RemoveApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsApplicationInstalled", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByIndex", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unApplicationIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByProcessId", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchTemplateApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchTemplateAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchNewAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pKeys" ,"array_count": "unKeys" ,"paramtype": "const struct vr::AppOverrideKeys_t *"}, -{ "paramname": "unKeys" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchApplicationFromMimeType", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchArgs" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchDashboardOverlay", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "CancelApplicationLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IdentifyApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationProcessId", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRApplicationError"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyString", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "pchPropertyValueBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unPropertyValueBufferLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyUint64", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "SetApplicationAutoLaunch", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "bAutoLaunch" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationAutoLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "SetDefaultApplicationForMimeType", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchMimeType" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetDefaultApplicationForMimeType", - "returntype": "bool", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationSupportedMimeTypes", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchMimeTypesBuffer" ,"paramtype": "char *"}, -{ "paramname": "unMimeTypesBuffer" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsThatSupportMimeType", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchAppKeysThatSupportBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeysThatSupportBuffer" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationLaunchArguments", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unHandle" ,"paramtype": "uint32_t"}, -{ "paramname": "pchArgs" ,"paramtype": "char *"}, -{ "paramname": "unArgs" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetStartingApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetTransitionState", - "returntype": "vr::EVRApplicationTransitionState" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "PerformApplicationPrelaunchCheck", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsTransitionStateNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "state" ,"paramtype": "vr::EVRApplicationTransitionState"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsQuitUserPromptRequested", - "returntype": "bool" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchInternalProcess", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchBinaryPath" ,"paramtype": "const char *"}, -{ "paramname": "pchArguments" ,"paramtype": "const char *"}, -{ "paramname": "pchWorkingDirectory" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetCurrentSceneProcessId", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetCalibrationState", - "returntype": "vr::ChaperoneCalibrationState" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ReloadInfo", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "SetSceneColor", - "returntype": "void", - "params": [ -{ "paramname": "color" ,"paramtype": "struct vr::HmdColor_t"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetBoundsColor", - "returntype": "void", - "params": [ -{ "paramname": "pOutputColorArray" ,"paramtype": "struct vr::HmdColor_t *"}, -{ "paramname": "nNumOutputColors" ,"paramtype": "int"}, -{ "paramname": "flCollisionBoundsFadeDistance" ,"paramtype": "float"}, -{ "paramname": "pOutputCameraColor" ,"paramtype": "struct vr::HmdColor_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "AreBoundsVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ForceBoundsVisible", - "returntype": "void", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "CommitWorkingCopy", - "returntype": "bool", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "RevertWorkingCopy", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatStandingZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPlayAreaSize", - "returntype": "void", - "params": [ -{ "paramname": "sizeX" ,"paramtype": "float"}, -{ "paramname": "sizeZ" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatStandingZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ReloadFromDisk", - "returntype": "void", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsTagsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pTagsBuffer" ,"array_count": "unTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "unTagCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsTagsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pTagsBuffer" ,"out_array_count": "punTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "punTagCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLivePhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ExportLiveToBuffer", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "pnBufferLength" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ImportFromBufferToWorking", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"paramtype": "const char *"}, -{ "paramname": "nImportFlags" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetTrackingSpace", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetTrackingSpace", - "returntype": "vr::ETrackingUniverseOrigin" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "WaitGetPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoseForTrackedDeviceIndex", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pOutputGamePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "Submit", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "pBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"}, -{ "paramname": "nSubmitFlags" ,"paramtype": "vr::EVRSubmitFlags"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearLastSubmittedFrame", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "PostPresentHandoff", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTiming", - "returntype": "bool", - "params": [ -{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, -{ "paramname": "unFramesAgo" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTimings", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, -{ "paramname": "nFrames" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTimeRemaining", - "returntype": "float" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCumulativeStats", - "returntype": "void", - "params": [ -{ "paramname": "pStats" ,"paramtype": "struct vr::Compositor_CumulativeStats *"}, -{ "paramname": "nStatsSizeInBytes" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeToColor", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"}, -{ "paramname": "fAlpha" ,"paramtype": "float"}, -{ "paramname": "bBackground" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentFadeColor", - "returntype": "struct vr::HmdColor_t", - "params": [ -{ "paramname": "bBackground" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeGrid", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "bFadeIn" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentGridAlpha", - "returntype": "float" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetSkyboxOverride", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pTextures" ,"array_count": "unTextureCount" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "unTextureCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearSkyboxOverride", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorBringToFront", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorGoToBack", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorQuit", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsFullscreen", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentSceneFocusProcess", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastFrameRenderer", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CanRenderScene", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShowMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "HideMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsMirrorWindowVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorDumpImages", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShouldAppRenderWithLowResources", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceInterleavedReprojectionOn", - "returntype": "void", - "params": [ -{ "paramname": "bOverride" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceReconnectProcess", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SuspendRendering", - "returntype": "void", - "params": [ -{ "paramname": "bSuspend" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureD3D11", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ReleaseMirrorTextureD3D11", - "returntype": "void", - "params": [ -{ "paramname": "pD3D11ShaderResourceView" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureGL", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pglSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ReleaseSharedGLTexture", - "returntype": "bool", - "params": [ -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"}, -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "LockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "UnlockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetVulkanInstanceExtensionsRequired", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetVulkanDeviceExtensionsRequired", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pPhysicalDevice" ,"paramtype": "struct VkPhysicalDevice_T *"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetExplicitTimingMode", - "returntype": "void", - "params": [ -{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SubmitExplicitTimingData", - "returntype": "vr::EVRCompositorError" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "FindOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayName" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "DestroyOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetHighQualityOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetHighQualityOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayKey", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayName", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayImageData", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "punWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "punHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVROverlayError"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRenderingPid", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unPID" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayRenderingPid", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "bEnabled" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "pbEnabled" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfRed" ,"paramtype": "float *"}, -{ "paramname": "pfGreen" ,"paramtype": "float *"}, -{ "paramname": "pfBlue" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fAlpha" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfAlpha" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTexelAspect", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fTexelAspect" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTexelAspect", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfTexelAspect" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlaySortOrder", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unSortOrder" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlaySortOrder", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punSortOrder" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fWidthInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfWidthInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fMinDistanceInMeters" ,"paramtype": "float"}, -{ "paramname": "fMaxDistanceInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfMinDistanceInMeters" ,"paramtype": "float *"}, -{ "paramname": "pfMaxDistanceInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTextureColorSpace" ,"paramtype": "vr::EColorSpace"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTextureColorSpace" ,"paramtype": "vr::EColorSpace *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayRenderModel", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pColor" ,"paramtype": "struct vr::HmdColor_t *"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRenderModel", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchRenderModel" ,"paramtype": "const char *"}, -{ "paramname": "pColor" ,"paramtype": "const struct vr::HmdColor_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformType", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTransformType" ,"paramtype": "vr::VROverlayTransformType *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin *"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pchComponentName" ,"paramtype": "char *"}, -{ "paramname": "unComponentNameSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformOverlayRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulOverlayHandleParent" ,"paramtype": "vr::VROverlayHandle_t *"}, -{ "paramname": "pmatParentOverlayToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformOverlayRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulOverlayHandleParent" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pmatParentOverlayToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsOverlayVisible", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetTransformForOverlayCoordinates", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "coordinatesInOverlay" ,"paramtype": "struct vr::HmdVector2_t"}, -{ "paramname": "pmatTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "PollNextOverlayEvent", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peInputMethod" ,"paramtype": "vr::VROverlayInputMethod *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMethod" ,"paramtype": "vr::VROverlayInputMethod"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "const struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ComputeOverlayIntersection", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pParams" ,"paramtype": "const struct vr::VROverlayIntersectionParams_t *"}, -{ "paramname": "pResults" ,"paramtype": "struct vr::VROverlayIntersectionResults_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HandleControllerOverlayInteractionAsMouse", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsHoverTargetOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetGamepadFocusOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetGamepadFocusOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulNewFocusOverlay" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulTo" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "MoveGamepadFocusToNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ClearOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRaw", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unWidth" ,"paramtype": "uint32_t"}, -{ "paramname": "unHeight" ,"paramtype": "uint32_t"}, -{ "paramname": "unDepth" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFromFile", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchFilePath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void **"}, -{ "paramname": "pNativeTextureRef" ,"paramtype": "void *"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"}, -{ "paramname": "pAPIType" ,"paramtype": "vr::ETextureType *"}, -{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"}, -{ "paramname": "pTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ReleaseNativeOverlayHandle", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureSize", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateDashboardOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, -{ "paramname": "pMainHandle" ,"paramtype": "vr::VROverlayHandle_t *"}, -{ "paramname": "pThumbnailHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsDashboardVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsActiveDashboardOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punProcessId" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowDashboard", - "returntype": "void", - "params": [ -{ "paramname": "pchOverlayToShow" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetPrimaryDashboardDevice", - "returntype": "vr::TrackedDeviceIndex_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboard", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboardForOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetKeyboardText", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchText" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchText" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideKeyboard", - "returntype": "void" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardTransformAbsolute", - "returntype": "void", - "params": [ -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToKeyboardTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardPositionForOverlay", - "returntype": "void", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "avoidRect" ,"paramtype": "struct vr::HmdRect2_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayIntersectionMask", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pMaskPrimitives" ,"paramtype": "struct vr::VROverlayIntersectionMaskPrimitive_t *"}, -{ "paramname": "unNumMaskPrimitives" ,"paramtype": "uint32_t"}, -{ "paramname": "unPrimitiveSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayFlags", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pFlags" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowMessageOverlay", - "returntype": "vr::VRMessageOverlayResponse", - "params": [ -{ "paramname": "pchText" ,"paramtype": "const char *"}, -{ "paramname": "pchCaption" ,"paramtype": "const char *"}, -{ "paramname": "pchButton0Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton1Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton2Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton3Text" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CloseMessageOverlay", - "returntype": "void" -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadRenderModel_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "ppRenderModel" ,"paramtype": "struct vr::RenderModel_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeRenderModel", - "returntype": "void", - "params": [ -{ "paramname": "pRenderModel" ,"paramtype": "struct vr::RenderModel_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTexture_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "ppTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTexture", - "returntype": "void", - "params": [ -{ "paramname": "pTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pD3D11Device" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11Texture2D" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadIntoTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pDstTexture" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTextureD3D11", - "returntype": "void", - "params": [ -{ "paramname": "pD3D11Texture2D" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unRenderModelIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentCount", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "unComponentIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchComponentName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentButtonMask", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentState", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pControllerState" ,"paramtype": "const vr::VRControllerState_t *"}, -{ "paramname": "pState" ,"paramtype": "const struct vr::RenderModel_ControllerMode_State_t *"}, -{ "paramname": "pComponentState" ,"paramtype": "struct vr::RenderModel_ComponentState_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "RenderModelHasComponent", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelThumbnailURL", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchThumbnailURL" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unThumbnailURLLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelOriginalPath", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchOriginalPath" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unOriginalPathLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRRenderModelError"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "CreateNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulUserValue" ,"paramtype": "uint64_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRNotificationType"}, -{ "paramname": "pchText" ,"paramtype": "const char *"}, -{ "paramname": "style" ,"paramtype": "vr::EVRNotificationStyle"}, -{ "paramname": "pImage" ,"paramtype": "const struct vr::NotificationBitmap_t *"}, -{ "paramname": "pNotificationId" ,"paramtype": "vr::VRNotificationId *"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "RemoveNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "notificationId" ,"paramtype": "vr::VRNotificationId"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetSettingsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eError" ,"paramtype": "vr::EVRSettingsError"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "Sync", - "returntype": "bool", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetBool", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "bValue" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetInt32", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "nValue" ,"paramtype": "int32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetFloat", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "flValue" ,"paramtype": "float"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetInt32", - "returntype": "int32_t", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetFloat", - "returntype": "float", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unValueLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveKeyInSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "RequestScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "HookScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pSupportedTypes" ,"array_count": "numTypes" ,"paramtype": "const vr::EVRScreenshotType *"}, -{ "paramname": "numTypes" ,"paramtype": "int"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyType", - "returntype": "vr::EVRScreenshotType", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyFilename", - "returntype": "uint32_t", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "filenameType" ,"paramtype": "vr::EVRScreenshotPropertyFilenames"}, -{ "paramname": "pchFilename" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchFilename" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "UpdateScreenshotProgress", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "flProgress" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "TakeStereoScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "SubmitScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchSourcePreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchSourceVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRResources", - "methodname": "LoadSharedResource", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchResourceName" ,"paramtype": "const char *"}, -{ "paramname": "pchBuffer" ,"paramtype": "char *"}, -{ "paramname": "unBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRResources", - "methodname": "GetResourceFullPath", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchResourceName" ,"paramtype": "const char *"}, -{ "paramname": "pchResourceTypeDirectory" ,"paramtype": "const char *"}, -{ "paramname": "pchPathBuffer" ,"paramtype": "char *"}, -{ "paramname": "unBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRDriverManager", - "methodname": "GetDriverCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRDriverManager", - "methodname": "GetDriverName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "nDriver" ,"paramtype": "vr::DriverId_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -] -} diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h deleted file mode 100644 index 50f8958..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h +++ /dev/null @@ -1,1942 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: Header for flatted SteamAPI. Use this for binding to other languages. -// This file is auto-generated, do not edit it. -// -//============================================================================= - -#ifndef __OPENVR_API_FLAT_H__ -#define __OPENVR_API_FLAT_H__ -#if defined( _WIN32 ) || defined( __clang__ ) -#pragma once -#endif - -#ifdef __cplusplus -#define EXTERN_C extern "C" -#else -#define EXTERN_C -#endif - -#if defined( _WIN32 ) -#define OPENVR_FNTABLE_CALLTYPE __stdcall -#else -#define OPENVR_FNTABLE_CALLTYPE -#endif - -// OPENVR API export macro -#if defined( _WIN32 ) && !defined( _X360 ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __declspec( dllexport ) - #elif defined( OPENVR_API_NODLL ) - #define S_API EXTERN_C - #else - #define S_API extern "C" __declspec( dllimport ) - #endif // OPENVR_API_EXPORTS -#elif defined( __GNUC__ ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __attribute__ ((visibility("default"))) - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#else // !WIN32 - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#endif - -#include - -#if defined( __WIN32 ) -typedef char bool; -#else -#include -#endif - -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; -typedef uint64_t VRActionHandle_t; -typedef uint64_t VRActionSetHandle_t; -typedef uint64_t VRInputOriginHandle_t; - - -// OpenVR Constants - -static const unsigned int k_nDriverNone = 4294967295; -static const unsigned int k_unMaxDriverDebugResponseSize = 32768; -static const unsigned int k_unTrackedDeviceIndex_Hmd = 0; -static const unsigned int k_unMaxTrackedDeviceCount = 16; -static const unsigned int k_unTrackedDeviceIndexOther = 4294967294; -static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295; -static const unsigned long k_ulInvalidPropertyContainer = 0; -static const unsigned int k_unInvalidPropertyTag = 0; -static const unsigned int k_unFloatPropertyTag = 1; -static const unsigned int k_unInt32PropertyTag = 2; -static const unsigned int k_unUint64PropertyTag = 3; -static const unsigned int k_unBoolPropertyTag = 4; -static const unsigned int k_unStringPropertyTag = 5; -static const unsigned int k_unHmdMatrix34PropertyTag = 20; -static const unsigned int k_unHmdMatrix44PropertyTag = 21; -static const unsigned int k_unHmdVector3PropertyTag = 22; -static const unsigned int k_unHmdVector4PropertyTag = 23; -static const unsigned int k_unHiddenAreaPropertyTag = 30; -static const unsigned int k_unOpenVRInternalReserved_Start = 1000; -static const unsigned int k_unOpenVRInternalReserved_End = 10000; -static const unsigned int k_unMaxPropertyStringSize = 32768; -static const unsigned int k_unControllerStateAxisCount = 5; -static const unsigned long k_ulOverlayHandleInvalid = 0; -static const unsigned int k_unScreenshotHandleInvalid = 0; -static const char * IVRSystem_Version = "IVRSystem_017"; -static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; -static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003"; -static const unsigned int k_unMaxApplicationKeyLength = 128; -static const char * k_pch_MimeType_HomeApp = "vr/home"; -static const char * k_pch_MimeType_GameTheater = "vr/game_theater"; -static const char * IVRApplications_Version = "IVRApplications_006"; -static const char * IVRChaperone_Version = "IVRChaperone_003"; -static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; -static const char * IVRCompositor_Version = "IVRCompositor_021"; -static const unsigned int k_unVROverlayMaxKeyLength = 128; -static const unsigned int k_unVROverlayMaxNameLength = 128; -static const unsigned int k_unMaxOverlayCount = 64; -static const unsigned int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; -static const char * IVROverlay_Version = "IVROverlay_016"; -static const char * k_pch_Controller_Component_GDC2015 = "gdc2015"; -static const char * k_pch_Controller_Component_Base = "base"; -static const char * k_pch_Controller_Component_Tip = "tip"; -static const char * k_pch_Controller_Component_HandGrip = "handgrip"; -static const char * k_pch_Controller_Component_Status = "status"; -static const char * IVRRenderModels_Version = "IVRRenderModels_005"; -static const unsigned int k_unNotificationTextMaxSize = 256; -static const char * IVRNotifications_Version = "IVRNotifications_002"; -static const unsigned int k_unMaxSettingsKeyLength = 128; -static const char * IVRSettings_Version = "IVRSettings_002"; -static const char * k_pch_SteamVR_Section = "steamvr"; -static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd"; -static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; -static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; -static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; -static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; -static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; -static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; -static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; -static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel"; -static const char * k_pch_SteamVR_IPD_Float = "ipd"; -static const char * k_pch_SteamVR_Background_String = "background"; -static const char * k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; -static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; -static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; -static const char * k_pch_SteamVR_GridColor_String = "gridColor"; -static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; -static const char * k_pch_SteamVR_ShowStage_Bool = "showStage"; -static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; -static const char * k_pch_SteamVR_DirectMode_Bool = "directMode"; -static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; -static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; -static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; -static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; -static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; -static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; -static const char * k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; -static const char * k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; -static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; -static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; -static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; -static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; -static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; -static const char * k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; -static const char * k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; -static const char * k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; -static const char * k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; -static const char * k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; -static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; -static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; -static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; -static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; -static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; -static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; -static const char * k_pch_Lighthouse_Section = "driver_lighthouse"; -static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; -static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; -static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; -static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; -static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; -static const char * k_pch_Null_Section = "driver_null"; -static const char * k_pch_Null_SerialNumber_String = "serialNumber"; -static const char * k_pch_Null_ModelNumber_String = "modelNumber"; -static const char * k_pch_Null_WindowX_Int32 = "windowX"; -static const char * k_pch_Null_WindowY_Int32 = "windowY"; -static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth"; -static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight"; -static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth"; -static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight"; -static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; -static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency"; -static const char * k_pch_UserInterface_Section = "userinterface"; -static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; -static const char * k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; -static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots"; -static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; -static const char * k_pch_Notifications_Section = "notifications"; -static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; -static const char * k_pch_Keyboard_Section = "keyboard"; -static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; -static const char * k_pch_Keyboard_ScaleX = "ScaleX"; -static const char * k_pch_Keyboard_ScaleY = "ScaleY"; -static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; -static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX"; -static const char * k_pch_Keyboard_OffsetY = "OffsetY"; -static const char * k_pch_Keyboard_Smoothing = "Smoothing"; -static const char * k_pch_Perf_Section = "perfcheck"; -static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; -static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; -static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; -static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; -static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; -static const char * k_pch_Perf_TestData_Float = "perfTestData"; -static const char * k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; -static const char * k_pch_CollisionBounds_Section = "collisionBounds"; -static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; -static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; -static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; -static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; -static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; -static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; -static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; -static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; -static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; -static const char * k_pch_Camera_Section = "camera"; -static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera"; -static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; -static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; -static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; -static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; -static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; -static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; -static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; -static const char * k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; -static const char * k_pch_audio_Section = "audio"; -static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; -static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice"; -static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; -static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; -static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice"; -static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; -static const char * k_pch_Power_Section = "power"; -static const char * k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; -static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; -static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; -static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; -static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; -static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; -static const char * k_pch_Dashboard_Section = "dashboard"; -static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; -static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; -static const char * k_pch_modelskin_Section = "modelskins"; -static const char * k_pch_Driver_Enable_Bool = "enable"; -static const char * IVRScreenshots_Version = "IVRScreenshots_001"; -static const char * IVRResources_Version = "IVRResources_001"; -static const char * IVRDriverManager_Version = "IVRDriverManager_001"; - -// OpenVR Enums - -typedef enum EVREye -{ - EVREye_Eye_Left = 0, - EVREye_Eye_Right = 1, -} EVREye; - -typedef enum ETextureType -{ - ETextureType_TextureType_DirectX = 0, - ETextureType_TextureType_OpenGL = 1, - ETextureType_TextureType_Vulkan = 2, - ETextureType_TextureType_IOSurface = 3, - ETextureType_TextureType_DirectX12 = 4, -} ETextureType; - -typedef enum EColorSpace -{ - EColorSpace_ColorSpace_Auto = 0, - EColorSpace_ColorSpace_Gamma = 1, - EColorSpace_ColorSpace_Linear = 2, -} EColorSpace; - -typedef enum ETrackingResult -{ - ETrackingResult_TrackingResult_Uninitialized = 1, - ETrackingResult_TrackingResult_Calibrating_InProgress = 100, - ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101, - ETrackingResult_TrackingResult_Running_OK = 200, - ETrackingResult_TrackingResult_Running_OutOfRange = 201, -} ETrackingResult; - -typedef enum ETrackedDeviceClass -{ - ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0, - ETrackedDeviceClass_TrackedDeviceClass_HMD = 1, - ETrackedDeviceClass_TrackedDeviceClass_Controller = 2, - ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3, - ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4, - ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect = 5, -} ETrackedDeviceClass; - -typedef enum ETrackedControllerRole -{ - ETrackedControllerRole_TrackedControllerRole_Invalid = 0, - ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, - ETrackedControllerRole_TrackedControllerRole_RightHand = 2, -} ETrackedControllerRole; - -typedef enum ETrackingUniverseOrigin -{ - ETrackingUniverseOrigin_TrackingUniverseSeated = 0, - ETrackingUniverseOrigin_TrackingUniverseStanding = 1, - ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2, -} ETrackingUniverseOrigin; - -typedef enum ETrackedDeviceProperty -{ - ETrackedDeviceProperty_Prop_Invalid = 0, - ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000, - ETrackedDeviceProperty_Prop_ModelNumber_String = 1001, - ETrackedDeviceProperty_Prop_SerialNumber_String = 1002, - ETrackedDeviceProperty_Prop_RenderModelName_String = 1003, - ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004, - ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005, - ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006, - ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007, - ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008, - ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009, - ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010, - ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011, - ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012, - ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013, - ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016, - ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017, - ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018, - ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019, - ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020, - ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021, - ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022, - ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023, - ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025, - ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026, - ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027, - ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028, - ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029, - ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030, - ETrackedDeviceProperty_Prop_DriverVersion_String = 1031, - ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032, - ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033, - ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034, - ETrackedDeviceProperty_Prop_ResourceRoot_String = 1035, - ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, - ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, - ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, - ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, - ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, - ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, - ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, - ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, - ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, - ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009, - ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010, - ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011, - ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012, - ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013, - ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014, - ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015, - ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016, - ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017, - ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018, - ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019, - ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020, - ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021, - ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022, - ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023, - ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024, - ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025, - ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026, - ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027, - ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028, - ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029, - ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, - ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, - ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, - ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, - ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036, - ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037, - ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038, - ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039, - ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040, - ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041, - ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float = 2042, - ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044, - ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045, - ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048, - ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, - ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, - ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, - ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003, - ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004, - ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005, - ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006, - ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007, - ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000, - ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001, - ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002, - ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003, - ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004, - ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005, - ETrackedDeviceProperty_Prop_ModeLabel_String = 4006, - ETrackedDeviceProperty_Prop_IconPathName_String = 5000, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5003, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007, - ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008, - ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start = 5100, - ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150, - ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000, - ETrackedDeviceProperty_Prop_InstallPath_String = 6001, - ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool = 6002, - ETrackedDeviceProperty_Prop_HasControllerComponent_Bool = 6003, - ETrackedDeviceProperty_Prop_HasCameraComponent_Bool = 6004, - ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005, - ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, -} ETrackedDeviceProperty; - -typedef enum ETrackedPropertyError -{ - ETrackedPropertyError_TrackedProp_Success = 0, - ETrackedPropertyError_TrackedProp_WrongDataType = 1, - ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2, - ETrackedPropertyError_TrackedProp_BufferTooSmall = 3, - ETrackedPropertyError_TrackedProp_UnknownProperty = 4, - ETrackedPropertyError_TrackedProp_InvalidDevice = 5, - ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6, - ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7, - ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8, - ETrackedPropertyError_TrackedProp_NotYetAvailable = 9, - ETrackedPropertyError_TrackedProp_PermissionDenied = 10, - ETrackedPropertyError_TrackedProp_InvalidOperation = 11, -} ETrackedPropertyError; - -typedef enum EVRSubmitFlags -{ - EVRSubmitFlags_Submit_Default = 0, - EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1, - EVRSubmitFlags_Submit_GlRenderBuffer = 2, - EVRSubmitFlags_Submit_Reserved = 4, - EVRSubmitFlags_Submit_TextureWithPose = 8, -} EVRSubmitFlags; - -typedef enum EVRState -{ - EVRState_VRState_Undefined = -1, - EVRState_VRState_Off = 0, - EVRState_VRState_Searching = 1, - EVRState_VRState_Searching_Alert = 2, - EVRState_VRState_Ready = 3, - EVRState_VRState_Ready_Alert = 4, - EVRState_VRState_NotReady = 5, - EVRState_VRState_Standby = 6, - EVRState_VRState_Ready_Alert_Low = 7, -} EVRState; - -typedef enum EVREventType -{ - EVREventType_VREvent_None = 0, - EVREventType_VREvent_TrackedDeviceActivated = 100, - EVREventType_VREvent_TrackedDeviceDeactivated = 101, - EVREventType_VREvent_TrackedDeviceUpdated = 102, - EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103, - EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104, - EVREventType_VREvent_IpdChanged = 105, - EVREventType_VREvent_EnterStandbyMode = 106, - EVREventType_VREvent_LeaveStandbyMode = 107, - EVREventType_VREvent_TrackedDeviceRoleChanged = 108, - EVREventType_VREvent_WatchdogWakeUpRequested = 109, - EVREventType_VREvent_LensDistortionChanged = 110, - EVREventType_VREvent_PropertyChanged = 111, - EVREventType_VREvent_WirelessDisconnect = 112, - EVREventType_VREvent_WirelessReconnect = 113, - EVREventType_VREvent_ButtonPress = 200, - EVREventType_VREvent_ButtonUnpress = 201, - EVREventType_VREvent_ButtonTouch = 202, - EVREventType_VREvent_ButtonUntouch = 203, - EVREventType_VREvent_MouseMove = 300, - EVREventType_VREvent_MouseButtonDown = 301, - EVREventType_VREvent_MouseButtonUp = 302, - EVREventType_VREvent_FocusEnter = 303, - EVREventType_VREvent_FocusLeave = 304, - EVREventType_VREvent_Scroll = 305, - EVREventType_VREvent_TouchPadMove = 306, - EVREventType_VREvent_OverlayFocusChanged = 307, - EVREventType_VREvent_InputFocusCaptured = 400, - EVREventType_VREvent_InputFocusReleased = 401, - EVREventType_VREvent_SceneFocusLost = 402, - EVREventType_VREvent_SceneFocusGained = 403, - EVREventType_VREvent_SceneApplicationChanged = 404, - EVREventType_VREvent_SceneFocusChanged = 405, - EVREventType_VREvent_InputFocusChanged = 406, - EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, - EVREventType_VREvent_HideRenderModels = 410, - EVREventType_VREvent_ShowRenderModels = 411, - EVREventType_VREvent_OverlayShown = 500, - EVREventType_VREvent_OverlayHidden = 501, - EVREventType_VREvent_DashboardActivated = 502, - EVREventType_VREvent_DashboardDeactivated = 503, - EVREventType_VREvent_DashboardThumbSelected = 504, - EVREventType_VREvent_DashboardRequested = 505, - EVREventType_VREvent_ResetDashboard = 506, - EVREventType_VREvent_RenderToast = 507, - EVREventType_VREvent_ImageLoaded = 508, - EVREventType_VREvent_ShowKeyboard = 509, - EVREventType_VREvent_HideKeyboard = 510, - EVREventType_VREvent_OverlayGamepadFocusGained = 511, - EVREventType_VREvent_OverlayGamepadFocusLost = 512, - EVREventType_VREvent_OverlaySharedTextureChanged = 513, - EVREventType_VREvent_DashboardGuideButtonDown = 514, - EVREventType_VREvent_DashboardGuideButtonUp = 515, - EVREventType_VREvent_ScreenshotTriggered = 516, - EVREventType_VREvent_ImageFailed = 517, - EVREventType_VREvent_DashboardOverlayCreated = 518, - EVREventType_VREvent_RequestScreenshot = 520, - EVREventType_VREvent_ScreenshotTaken = 521, - EVREventType_VREvent_ScreenshotFailed = 522, - EVREventType_VREvent_SubmitScreenshotToDashboard = 523, - EVREventType_VREvent_ScreenshotProgressToDashboard = 524, - EVREventType_VREvent_PrimaryDashboardDeviceChanged = 525, - EVREventType_VREvent_Notification_Shown = 600, - EVREventType_VREvent_Notification_Hidden = 601, - EVREventType_VREvent_Notification_BeginInteraction = 602, - EVREventType_VREvent_Notification_Destroyed = 603, - EVREventType_VREvent_Quit = 700, - EVREventType_VREvent_ProcessQuit = 701, - EVREventType_VREvent_QuitAborted_UserPrompt = 702, - EVREventType_VREvent_QuitAcknowledged = 703, - EVREventType_VREvent_DriverRequestedQuit = 704, - EVREventType_VREvent_ChaperoneDataHasChanged = 800, - EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, - EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, - EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803, - EVREventType_VREvent_SeatedZeroPoseReset = 804, - EVREventType_VREvent_AudioSettingsHaveChanged = 820, - EVREventType_VREvent_BackgroundSettingHasChanged = 850, - EVREventType_VREvent_CameraSettingsHaveChanged = 851, - EVREventType_VREvent_ReprojectionSettingHasChanged = 852, - EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853, - EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854, - EVREventType_VREvent_PowerSettingsHaveChanged = 855, - EVREventType_VREvent_EnableHomeAppSettingsHaveChanged = 856, - EVREventType_VREvent_StatusUpdate = 900, - EVREventType_VREvent_MCImageUpdated = 1000, - EVREventType_VREvent_FirmwareUpdateStarted = 1100, - EVREventType_VREvent_FirmwareUpdateFinished = 1101, - EVREventType_VREvent_KeyboardClosed = 1200, - EVREventType_VREvent_KeyboardCharInput = 1201, - EVREventType_VREvent_KeyboardDone = 1202, - EVREventType_VREvent_ApplicationTransitionStarted = 1300, - EVREventType_VREvent_ApplicationTransitionAborted = 1301, - EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302, - EVREventType_VREvent_ApplicationListUpdated = 1303, - EVREventType_VREvent_ApplicationMimeTypeLoad = 1304, - EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - EVREventType_VREvent_ProcessConnected = 1306, - EVREventType_VREvent_ProcessDisconnected = 1307, - EVREventType_VREvent_Compositor_MirrorWindowShown = 1400, - EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401, - EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410, - EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411, - EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, - EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501, - EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502, - EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503, - EVREventType_VREvent_TrackedCamera_EditingSurface = 1550, - EVREventType_VREvent_PerformanceTest_EnableCapture = 1600, - EVREventType_VREvent_PerformanceTest_DisableCapture = 1601, - EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602, - EVREventType_VREvent_MessageOverlay_Closed = 1650, - EVREventType_VREvent_MessageOverlayCloseRequested = 1651, - EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000, - EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, -} EVREventType; - -typedef enum EDeviceActivityLevel -{ - EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1, - EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3, -} EDeviceActivityLevel; - -typedef enum EVRButtonId -{ - EVRButtonId_k_EButton_System = 0, - EVRButtonId_k_EButton_ApplicationMenu = 1, - EVRButtonId_k_EButton_Grip = 2, - EVRButtonId_k_EButton_DPad_Left = 3, - EVRButtonId_k_EButton_DPad_Up = 4, - EVRButtonId_k_EButton_DPad_Right = 5, - EVRButtonId_k_EButton_DPad_Down = 6, - EVRButtonId_k_EButton_A = 7, - EVRButtonId_k_EButton_ProximitySensor = 31, - EVRButtonId_k_EButton_Axis0 = 32, - EVRButtonId_k_EButton_Axis1 = 33, - EVRButtonId_k_EButton_Axis2 = 34, - EVRButtonId_k_EButton_Axis3 = 35, - EVRButtonId_k_EButton_Axis4 = 36, - EVRButtonId_k_EButton_SteamVR_Touchpad = 32, - EVRButtonId_k_EButton_SteamVR_Trigger = 33, - EVRButtonId_k_EButton_Dashboard_Back = 2, - EVRButtonId_k_EButton_Max = 64, -} EVRButtonId; - -typedef enum EVRMouseButton -{ - EVRMouseButton_VRMouseButton_Left = 1, - EVRMouseButton_VRMouseButton_Right = 2, - EVRMouseButton_VRMouseButton_Middle = 4, -} EVRMouseButton; - -typedef enum EHiddenAreaMeshType -{ - EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0, - EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1, - EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2, - EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3, -} EHiddenAreaMeshType; - -typedef enum EVRControllerAxisType -{ - EVRControllerAxisType_k_eControllerAxis_None = 0, - EVRControllerAxisType_k_eControllerAxis_TrackPad = 1, - EVRControllerAxisType_k_eControllerAxis_Joystick = 2, - EVRControllerAxisType_k_eControllerAxis_Trigger = 3, -} EVRControllerAxisType; - -typedef enum EVRControllerEventOutputType -{ - EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0, - EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1, -} EVRControllerEventOutputType; - -typedef enum ECollisionBoundsStyle -{ - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5, -} ECollisionBoundsStyle; - -typedef enum EVROverlayError -{ - EVROverlayError_VROverlayError_None = 0, - EVROverlayError_VROverlayError_UnknownOverlay = 10, - EVROverlayError_VROverlayError_InvalidHandle = 11, - EVROverlayError_VROverlayError_PermissionDenied = 12, - EVROverlayError_VROverlayError_OverlayLimitExceeded = 13, - EVROverlayError_VROverlayError_WrongVisibilityType = 14, - EVROverlayError_VROverlayError_KeyTooLong = 15, - EVROverlayError_VROverlayError_NameTooLong = 16, - EVROverlayError_VROverlayError_KeyInUse = 17, - EVROverlayError_VROverlayError_WrongTransformType = 18, - EVROverlayError_VROverlayError_InvalidTrackedDevice = 19, - EVROverlayError_VROverlayError_InvalidParameter = 20, - EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21, - EVROverlayError_VROverlayError_ArrayTooSmall = 22, - EVROverlayError_VROverlayError_RequestFailed = 23, - EVROverlayError_VROverlayError_InvalidTexture = 24, - EVROverlayError_VROverlayError_UnableToLoadFile = 25, - EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26, - EVROverlayError_VROverlayError_NoNeighbor = 27, - EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29, - EVROverlayError_VROverlayError_BadMaskPrimitive = 30, -} EVROverlayError; - -typedef enum EVRApplicationType -{ - EVRApplicationType_VRApplication_Other = 0, - EVRApplicationType_VRApplication_Scene = 1, - EVRApplicationType_VRApplication_Overlay = 2, - EVRApplicationType_VRApplication_Background = 3, - EVRApplicationType_VRApplication_Utility = 4, - EVRApplicationType_VRApplication_VRMonitor = 5, - EVRApplicationType_VRApplication_SteamWatchdog = 6, - EVRApplicationType_VRApplication_Bootstrapper = 7, - EVRApplicationType_VRApplication_Max = 8, -} EVRApplicationType; - -typedef enum EVRFirmwareError -{ - EVRFirmwareError_VRFirmwareError_None = 0, - EVRFirmwareError_VRFirmwareError_Success = 1, - EVRFirmwareError_VRFirmwareError_Fail = 2, -} EVRFirmwareError; - -typedef enum EVRNotificationError -{ - EVRNotificationError_VRNotificationError_OK = 0, - EVRNotificationError_VRNotificationError_InvalidNotificationId = 100, - EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, - EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, - EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103, -} EVRNotificationError; - -typedef enum EVRInitError -{ - EVRInitError_VRInitError_None = 0, - EVRInitError_VRInitError_Unknown = 1, - EVRInitError_VRInitError_Init_InstallationNotFound = 100, - EVRInitError_VRInitError_Init_InstallationCorrupt = 101, - EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102, - EVRInitError_VRInitError_Init_FileNotFound = 103, - EVRInitError_VRInitError_Init_FactoryNotFound = 104, - EVRInitError_VRInitError_Init_InterfaceNotFound = 105, - EVRInitError_VRInitError_Init_InvalidInterface = 106, - EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107, - EVRInitError_VRInitError_Init_HmdNotFound = 108, - EVRInitError_VRInitError_Init_NotInitialized = 109, - EVRInitError_VRInitError_Init_PathRegistryNotFound = 110, - EVRInitError_VRInitError_Init_NoConfigPath = 111, - EVRInitError_VRInitError_Init_NoLogPath = 112, - EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113, - EVRInitError_VRInitError_Init_AppInfoInitFailed = 114, - EVRInitError_VRInitError_Init_Retry = 115, - EVRInitError_VRInitError_Init_InitCanceledByUser = 116, - EVRInitError_VRInitError_Init_AnotherAppLaunching = 117, - EVRInitError_VRInitError_Init_SettingsInitFailed = 118, - EVRInitError_VRInitError_Init_ShuttingDown = 119, - EVRInitError_VRInitError_Init_TooManyObjects = 120, - EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121, - EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122, - EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123, - EVRInitError_VRInitError_Init_Internal = 124, - EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125, - EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126, - EVRInitError_VRInitError_Init_VRMonitorNotFound = 127, - EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128, - EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129, - EVRInitError_VRInitError_Init_InvalidApplicationType = 130, - EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131, - EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132, - EVRInitError_VRInitError_Init_VRDashboardNotFound = 133, - EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134, - EVRInitError_VRInitError_Init_VRHomeNotFound = 135, - EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136, - EVRInitError_VRInitError_Init_RebootingBusy = 137, - EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138, - EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139, - EVRInitError_VRInitError_Driver_Failed = 200, - EVRInitError_VRInitError_Driver_Unknown = 201, - EVRInitError_VRInitError_Driver_HmdUnknown = 202, - EVRInitError_VRInitError_Driver_NotLoaded = 203, - EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204, - EVRInitError_VRInitError_Driver_HmdInUse = 205, - EVRInitError_VRInitError_Driver_NotCalibrated = 206, - EVRInitError_VRInitError_Driver_CalibrationInvalid = 207, - EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208, - EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212, - EVRInitError_VRInitError_IPC_ServerInitFailed = 300, - EVRInitError_VRInitError_IPC_ConnectFailed = 301, - EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302, - EVRInitError_VRInitError_IPC_CompositorInitFailed = 303, - EVRInitError_VRInitError_IPC_MutexInitFailed = 304, - EVRInitError_VRInitError_IPC_Failed = 305, - EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306, - EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307, - EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - EVRInitError_VRInitError_Compositor_Failed = 400, - EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401, - EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402, - EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403, - EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404, - EVRInitError_VRInitError_Compositor_UnableToCreateDevice = 405, - EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, -} EVRInitError; - -typedef enum EVRScreenshotType -{ - EVRScreenshotType_VRScreenshotType_None = 0, - EVRScreenshotType_VRScreenshotType_Mono = 1, - EVRScreenshotType_VRScreenshotType_Stereo = 2, - EVRScreenshotType_VRScreenshotType_Cubemap = 3, - EVRScreenshotType_VRScreenshotType_MonoPanorama = 4, - EVRScreenshotType_VRScreenshotType_StereoPanorama = 5, -} EVRScreenshotType; - -typedef enum EVRScreenshotPropertyFilenames -{ - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0, - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1, -} EVRScreenshotPropertyFilenames; - -typedef enum EVRTrackedCameraError -{ - EVRTrackedCameraError_VRTrackedCameraError_None = 0, - EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100, - EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103, - EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104, - EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105, - EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106, - EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107, - EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108, - EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109, - EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110, - EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111, - EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112, - EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113, - EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, -} EVRTrackedCameraError; - -typedef enum EVRTrackedCameraFrameType -{ - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2, - EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, -} EVRTrackedCameraFrameType; - -typedef enum EVRApplicationError -{ - EVRApplicationError_VRApplicationError_None = 0, - EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100, - EVRApplicationError_VRApplicationError_NoManifest = 101, - EVRApplicationError_VRApplicationError_NoApplication = 102, - EVRApplicationError_VRApplicationError_InvalidIndex = 103, - EVRApplicationError_VRApplicationError_UnknownApplication = 104, - EVRApplicationError_VRApplicationError_IPCFailed = 105, - EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106, - EVRApplicationError_VRApplicationError_InvalidManifest = 107, - EVRApplicationError_VRApplicationError_InvalidApplication = 108, - EVRApplicationError_VRApplicationError_LaunchFailed = 109, - EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110, - EVRApplicationError_VRApplicationError_LaunchInProgress = 111, - EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, - EVRApplicationError_VRApplicationError_TransitionAborted = 113, - EVRApplicationError_VRApplicationError_IsTemplate = 114, - EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115, - EVRApplicationError_VRApplicationError_BufferTooSmall = 200, - EVRApplicationError_VRApplicationError_PropertyNotSet = 201, - EVRApplicationError_VRApplicationError_UnknownProperty = 202, - EVRApplicationError_VRApplicationError_InvalidParameter = 203, -} EVRApplicationError; - -typedef enum EVRApplicationProperty -{ - EVRApplicationProperty_VRApplicationProperty_Name_String = 0, - EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11, - EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12, - EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13, - EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14, - EVRApplicationProperty_VRApplicationProperty_URL_String = 15, - EVRApplicationProperty_VRApplicationProperty_Description_String = 50, - EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, - EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, - EVRApplicationProperty_VRApplicationProperty_Source_String = 53, - EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, - EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, - EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, - EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63, - EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, - EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, -} EVRApplicationProperty; - -typedef enum EVRApplicationTransitionState -{ - EVRApplicationTransitionState_VRApplicationTransition_None = 0, - EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10, - EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11, - EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20, -} EVRApplicationTransitionState; - -typedef enum ChaperoneCalibrationState -{ - ChaperoneCalibrationState_OK = 1, - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, - ChaperoneCalibrationState_Error = 200, - ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, - ChaperoneCalibrationState_Error_BaseStationConflict = 202, - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, -} ChaperoneCalibrationState; - -typedef enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, - EChaperoneConfigFile_Temp = 2, -} EChaperoneConfigFile; - -typedef enum EChaperoneImportFlags -{ - EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1, -} EChaperoneImportFlags; - -typedef enum EVRCompositorError -{ - EVRCompositorError_VRCompositorError_None = 0, - EVRCompositorError_VRCompositorError_RequestFailed = 1, - EVRCompositorError_VRCompositorError_IncompatibleVersion = 100, - EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101, - EVRCompositorError_VRCompositorError_InvalidTexture = 102, - EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103, - EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104, - EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105, - EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106, - EVRCompositorError_VRCompositorError_IndexOutOfRange = 107, - EVRCompositorError_VRCompositorError_AlreadySubmitted = 108, - EVRCompositorError_VRCompositorError_InvalidBounds = 109, -} EVRCompositorError; - -typedef enum VROverlayInputMethod -{ - VROverlayInputMethod_None = 0, - VROverlayInputMethod_Mouse = 1, -} VROverlayInputMethod; - -typedef enum VROverlayTransformType -{ - VROverlayTransformType_VROverlayTransform_Absolute = 0, - VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransformType_VROverlayTransform_SystemOverlay = 2, - VROverlayTransformType_VROverlayTransform_TrackedComponent = 3, -} VROverlayTransformType; - -typedef enum VROverlayFlags -{ - VROverlayFlags_None = 0, - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - VROverlayFlags_NoDashboardTab = 3, - VROverlayFlags_AcceptsGamepadEvents = 4, - VROverlayFlags_ShowGamepadFocus = 5, - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - VROverlayFlags_ShowTouchPadScrollWheel = 8, - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - VROverlayFlags_SideBySide_Parallel = 10, - VROverlayFlags_SideBySide_Crossed = 11, - VROverlayFlags_Panorama = 12, - VROverlayFlags_StereoPanorama = 13, - VROverlayFlags_SortWithNonSceneOverlays = 14, - VROverlayFlags_VisibleInDashboard = 15, -} VROverlayFlags; - -typedef enum VRMessageOverlayResponse -{ - VRMessageOverlayResponse_ButtonPress_0 = 0, - VRMessageOverlayResponse_ButtonPress_1 = 1, - VRMessageOverlayResponse_ButtonPress_2 = 2, - VRMessageOverlayResponse_ButtonPress_3 = 3, - VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, - VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5, - VRMessageOverlayResponse_ApplicationQuit = 6, -} VRMessageOverlayResponse; - -typedef enum EGamepadTextInputMode -{ - EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0, - EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1, - EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2, -} EGamepadTextInputMode; - -typedef enum EGamepadTextInputLineMode -{ - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0, - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1, -} EGamepadTextInputLineMode; - -typedef enum EOverlayDirection -{ - EOverlayDirection_OverlayDirection_Up = 0, - EOverlayDirection_OverlayDirection_Down = 1, - EOverlayDirection_OverlayDirection_Left = 2, - EOverlayDirection_OverlayDirection_Right = 3, - EOverlayDirection_OverlayDirection_Count = 4, -} EOverlayDirection; - -typedef enum EVROverlayIntersectionMaskPrimitiveType -{ - EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle = 0, - EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle = 1, -} EVROverlayIntersectionMaskPrimitiveType; - -typedef enum EVRRenderModelError -{ - EVRRenderModelError_VRRenderModelError_None = 0, - EVRRenderModelError_VRRenderModelError_Loading = 100, - EVRRenderModelError_VRRenderModelError_NotSupported = 200, - EVRRenderModelError_VRRenderModelError_InvalidArg = 300, - EVRRenderModelError_VRRenderModelError_InvalidModel = 301, - EVRRenderModelError_VRRenderModelError_NoShapes = 302, - EVRRenderModelError_VRRenderModelError_MultipleShapes = 303, - EVRRenderModelError_VRRenderModelError_TooManyVertices = 304, - EVRRenderModelError_VRRenderModelError_MultipleTextures = 305, - EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306, - EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307, - EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308, - EVRRenderModelError_VRRenderModelError_InvalidTexture = 400, -} EVRRenderModelError; - -typedef enum EVRComponentProperty -{ - EVRComponentProperty_VRComponentProperty_IsStatic = 1, - EVRComponentProperty_VRComponentProperty_IsVisible = 2, - EVRComponentProperty_VRComponentProperty_IsTouched = 4, - EVRComponentProperty_VRComponentProperty_IsPressed = 8, - EVRComponentProperty_VRComponentProperty_IsScrolled = 16, -} EVRComponentProperty; - -typedef enum EVRNotificationType -{ - EVRNotificationType_Transient = 0, - EVRNotificationType_Persistent = 1, - EVRNotificationType_Transient_SystemWithUserValue = 2, -} EVRNotificationType; - -typedef enum EVRNotificationStyle -{ - EVRNotificationStyle_None = 0, - EVRNotificationStyle_Application = 100, - EVRNotificationStyle_Contact_Disabled = 200, - EVRNotificationStyle_Contact_Enabled = 201, - EVRNotificationStyle_Contact_Active = 202, -} EVRNotificationStyle; - -typedef enum EVRSettingsError -{ - EVRSettingsError_VRSettingsError_None = 0, - EVRSettingsError_VRSettingsError_IPCFailed = 1, - EVRSettingsError_VRSettingsError_WriteFailed = 2, - EVRSettingsError_VRSettingsError_ReadFailed = 3, - EVRSettingsError_VRSettingsError_JsonParseFailed = 4, - EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5, -} EVRSettingsError; - -typedef enum EVRScreenshotError -{ - EVRScreenshotError_VRScreenshotError_None = 0, - EVRScreenshotError_VRScreenshotError_RequestFailed = 1, - EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100, - EVRScreenshotError_VRScreenshotError_NotFound = 101, - EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102, - EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108, -} EVRScreenshotError; - - -// OpenVR typedefs - -typedef uint32_t TrackedDeviceIndex_t; -typedef uint32_t VRNotificationId; -typedef uint64_t VROverlayHandle_t; - -typedef void * glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; -typedef uint64_t SharedTextureHandle_t; -typedef uint32_t DriverId_t; -typedef uint32_t TrackedDeviceIndex_t; -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; -typedef uint64_t VROverlayHandle_t; -typedef uint64_t TrackedCameraHandle_t; -typedef uint32_t ScreenshotHandle_t; -typedef uint32_t VRComponentProperties; -typedef int32_t TextureID_t; -typedef uint32_t VRNotificationId; -typedef EVRInitError HmdError; -typedef EVREye Hmd_Eye; -typedef EColorSpace ColorSpace; -typedef ETrackingResult HmdTrackingResult; -typedef ETrackedDeviceClass TrackedDeviceClass; -typedef ETrackingUniverseOrigin TrackingUniverseOrigin; -typedef ETrackedDeviceProperty TrackedDeviceProperty; -typedef ETrackedPropertyError TrackedPropertyError; -typedef EVRSubmitFlags VRSubmitFlags_t; -typedef EVRState VRState_t; -typedef ECollisionBoundsStyle CollisionBoundsStyle_t; -typedef EVROverlayError VROverlayError; -typedef EVRFirmwareError VRFirmwareError; -typedef EVRCompositorError VRCompositorError; -typedef EVRScreenshotError VRScreenshotsError; - -// OpenVR Structs - -typedef struct HmdMatrix34_t -{ - float m[3][4]; //float[3][4] -} HmdMatrix34_t; - -typedef struct HmdMatrix44_t -{ - float m[4][4]; //float[4][4] -} HmdMatrix44_t; - -typedef struct HmdVector3_t -{ - float v[3]; //float[3] -} HmdVector3_t; - -typedef struct HmdVector4_t -{ - float v[4]; //float[4] -} HmdVector4_t; - -typedef struct HmdVector3d_t -{ - double v[3]; //double[3] -} HmdVector3d_t; - -typedef struct HmdVector2_t -{ - float v[2]; //float[2] -} HmdVector2_t; - -typedef struct HmdQuaternion_t -{ - double w; - double x; - double y; - double z; -} HmdQuaternion_t; - -typedef struct HmdColor_t -{ - float r; - float g; - float b; - float a; -} HmdColor_t; - -typedef struct HmdQuad_t -{ - struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4] -} HmdQuad_t; - -typedef struct HmdRect2_t -{ - struct HmdVector2_t vTopLeft; - struct HmdVector2_t vBottomRight; -} HmdRect2_t; - -typedef struct DistortionCoordinates_t -{ - float rfRed[2]; //float[2] - float rfGreen[2]; //float[2] - float rfBlue[2]; //float[2] -} DistortionCoordinates_t; - -typedef struct Texture_t -{ - void * handle; // void * - enum ETextureType eType; - enum EColorSpace eColorSpace; -} Texture_t; - -typedef struct TrackedDevicePose_t -{ - struct HmdMatrix34_t mDeviceToAbsoluteTracking; - struct HmdVector3_t vVelocity; - struct HmdVector3_t vAngularVelocity; - enum ETrackingResult eTrackingResult; - bool bPoseIsValid; - bool bDeviceIsConnected; -} TrackedDevicePose_t; - -typedef struct VRTextureBounds_t -{ - float uMin; - float vMin; - float uMax; - float vMax; -} VRTextureBounds_t; - -typedef struct VRTextureWithPose_t -{ - struct HmdMatrix34_t mDeviceToAbsoluteTracking; -} VRTextureWithPose_t; - -typedef struct VRVulkanTextureData_t -{ - uint64_t m_nImage; - struct VkDevice_T * m_pDevice; // struct VkDevice_T * - struct VkPhysicalDevice_T * m_pPhysicalDevice; // struct VkPhysicalDevice_T * - struct VkInstance_T * m_pInstance; // struct VkInstance_T * - struct VkQueue_T * m_pQueue; // struct VkQueue_T * - uint32_t m_nQueueFamilyIndex; - uint32_t m_nWidth; - uint32_t m_nHeight; - uint32_t m_nFormat; - uint32_t m_nSampleCount; -} VRVulkanTextureData_t; - -typedef struct D3D12TextureData_t -{ - struct ID3D12Resource * m_pResource; // struct ID3D12Resource * - struct ID3D12CommandQueue * m_pCommandQueue; // struct ID3D12CommandQueue * - uint32_t m_nNodeMask; -} D3D12TextureData_t; - -typedef struct VREvent_Controller_t -{ - uint32_t button; -} VREvent_Controller_t; - -typedef struct VREvent_Mouse_t -{ - float x; - float y; - uint32_t button; -} VREvent_Mouse_t; - -typedef struct VREvent_Scroll_t -{ - float xdelta; - float ydelta; - uint32_t repeatCount; -} VREvent_Scroll_t; - -typedef struct VREvent_TouchPadMove_t -{ - bool bFingerDown; - float flSecondsFingerDown; - float fValueXFirst; - float fValueYFirst; - float fValueXRaw; - float fValueYRaw; -} VREvent_TouchPadMove_t; - -typedef struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -} VREvent_Notification_t; - -typedef struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -} VREvent_Process_t; - -typedef struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -} VREvent_Overlay_t; - -typedef struct VREvent_Status_t -{ - uint32_t statusState; -} VREvent_Status_t; - -typedef struct VREvent_Keyboard_t -{ - char * cNewInput[8]; //char[8] - uint64_t uUserValue; -} VREvent_Keyboard_t; - -typedef struct VREvent_Ipd_t -{ - float ipdMeters; -} VREvent_Ipd_t; - -typedef struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -} VREvent_Chaperone_t; - -typedef struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -} VREvent_Reserved_t; - -typedef struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -} VREvent_PerformanceTest_t; - -typedef struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -} VREvent_SeatedZeroPoseReset_t; - -typedef struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -} VREvent_Screenshot_t; - -typedef struct VREvent_ScreenshotProgress_t -{ - float progress; -} VREvent_ScreenshotProgress_t; - -typedef struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -} VREvent_ApplicationLaunch_t; - -typedef struct VREvent_EditingCameraSurface_t -{ - uint64_t overlayHandle; - uint32_t nVisualMode; -} VREvent_EditingCameraSurface_t; - -typedef struct VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; -} VREvent_MessageOverlay_t; - -typedef struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - enum ETrackedDeviceProperty prop; -} VREvent_Property_t; - -typedef struct HiddenAreaMesh_t -{ - struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t * - uint32_t unTriangleCount; -} HiddenAreaMesh_t; - -typedef struct VRControllerAxis_t -{ - float x; - float y; -} VRControllerAxis_t; - -typedef struct VRControllerState_t -{ - uint32_t unPacketNum; - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5] -} VRControllerState_t; - -typedef struct Compositor_OverlaySettings -{ - uint32_t size; - bool curved; - bool antialias; - float scale; - float distance; - float alpha; - float uOffset; - float vOffset; - float uScale; - float vScale; - float gridDivs; - float gridWidth; - float gridScale; - struct HmdMatrix44_t transform; -} Compositor_OverlaySettings; - -typedef struct CameraVideoStreamFrameHeader_t -{ - enum EVRTrackedCameraFrameType eFrameType; - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - uint32_t nFrameSequence; - struct TrackedDevicePose_t standingTrackedDevicePose; -} CameraVideoStreamFrameHeader_t; - -typedef struct AppOverrideKeys_t -{ - char * pchKey; // const char * - char * pchValue; // const char * -} AppOverrideKeys_t; - -typedef struct Compositor_FrameTiming -{ - uint32_t m_nSize; - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; - uint32_t m_nNumMisPresented; - uint32_t m_nNumDroppedFrames; - uint32_t m_nReprojectionFlags; - double m_flSystemTimeInSeconds; - float m_flPreSubmitGpuMs; - float m_flPostSubmitGpuMs; - float m_flTotalRenderGpuMs; - float m_flCompositorRenderGpuMs; - float m_flCompositorRenderCpuMs; - float m_flCompositorIdleCpuMs; - float m_flClientFrameIntervalMs; - float m_flPresentCallCpuMs; - float m_flWaitForPresentCpuMs; - float m_flSubmitFrameMs; - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - TrackedDevicePose_t m_HmdPose; -} Compositor_FrameTiming; - -typedef struct Compositor_CumulativeStats -{ - uint32_t m_nPid; - uint32_t m_nNumFramePresents; - uint32_t m_nNumDroppedFrames; - uint32_t m_nNumReprojectedFrames; - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -} Compositor_CumulativeStats; - -typedef struct VROverlayIntersectionParams_t -{ - struct HmdVector3_t vSource; - struct HmdVector3_t vDirection; - enum ETrackingUniverseOrigin eOrigin; -} VROverlayIntersectionParams_t; - -typedef struct VROverlayIntersectionResults_t -{ - struct HmdVector3_t vPoint; - struct HmdVector3_t vNormal; - struct HmdVector2_t vUVs; - float fDistance; -} VROverlayIntersectionResults_t; - -typedef struct IntersectionMaskRectangle_t -{ - float m_flTopLeftX; - float m_flTopLeftY; - float m_flWidth; - float m_flHeight; -} IntersectionMaskRectangle_t; - -typedef struct IntersectionMaskCircle_t -{ - float m_flCenterX; - float m_flCenterY; - float m_flRadius; -} IntersectionMaskCircle_t; - -typedef struct RenderModel_ComponentState_t -{ - struct HmdMatrix34_t mTrackingToComponentRenderModel; - struct HmdMatrix34_t mTrackingToComponentLocal; - VRComponentProperties uProperties; -} RenderModel_ComponentState_t; - -typedef struct RenderModel_Vertex_t -{ - struct HmdVector3_t vPosition; - struct HmdVector3_t vNormal; - float rfTextureCoord[2]; //float[2] -} RenderModel_Vertex_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( push, 4 ) -#endif -typedef struct RenderModel_TextureMap_t -{ - uint16_t unWidth; - uint16_t unHeight; - uint8_t * rubTextureMapData; // const uint8_t * -} RenderModel_TextureMap_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( push, 4 ) -#endif -typedef struct RenderModel_t -{ - struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t * - uint32_t unVertexCount; - uint16_t * rIndexData; // const uint16_t * - uint32_t unTriangleCount; - TextureID_t diffuseTextureId; -} RenderModel_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif -typedef struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; -} RenderModel_ControllerMode_State_t; - -typedef struct NotificationBitmap_t -{ - void * m_pImageData; // void * - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -} NotificationBitmap_t; - -typedef struct COpenVRContext -{ - intptr_t m_pVRSystem; // class vr::IVRSystem * - intptr_t m_pVRChaperone; // class vr::IVRChaperone * - intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * - intptr_t m_pVRCompositor; // class vr::IVRCompositor * - intptr_t m_pVROverlay; // class vr::IVROverlay * - intptr_t m_pVRResources; // class vr::IVRResources * - intptr_t m_pVRRenderModels; // class vr::IVRRenderModels * - intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * - intptr_t m_pVRSettings; // class vr::IVRSettings * - intptr_t m_pVRApplications; // class vr::IVRApplications * - intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - intptr_t m_pVRScreenshots; // class vr::IVRScreenshots * - intptr_t m_pVRDriverManager; // class vr::IVRDriverManager * -} COpenVRContext; - - -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -typedef union -{ - IntersectionMaskRectangle_t m_Rectangle; - IntersectionMaskCircle_t m_Circle; -} VROverlayIntersectionMaskPrimitive_Data_t; - -struct VROverlayIntersectionMaskPrimitive_t -{ - EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; -}; - - -// OpenVR Function Pointer Tables - -struct VR_IVRSystem_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight); - struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ); - void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom); - bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye); - bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)(); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex); - void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance); - bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)(); - bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop); - void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount); - void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex); - EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId); - void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType); - ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex); - ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError); - char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose); - char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType); - struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye, EHiddenAreaMeshType type); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize, struct TrackedDevicePose_t * pTrackedDevicePose); - void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec); - char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId); - char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType); - bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)(); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize); - EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)(); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)(); -}; - -struct VR_IVRExtendedDisplay_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex); -}; - -struct VR_IVRTrackedCamera_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinsics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTextureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureD3D11)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glUInt_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId); -}; - -struct VR_IVRApplications_FnTable -{ - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath); - bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplicationFromMimeType)(char * pchMimeType, char * pchArgs); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey); - bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetDefaultApplicationForMimeType)(char * pchAppKey, char * pchMimeType); - bool (OPENVR_FNTABLE_CALLTYPE *GetDefaultApplicationForMimeType)(char * pchMimeType, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationSupportedMimeTypes)(char * pchAppKey, char * pchMimeTypesBuffer, uint32_t unMimeTypesBuffer); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationsThatSupportMimeType)(char * pchMimeType, char * pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationLaunchArguments)(uint32_t unHandle, char * pchArgs, uint32_t unArgs); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state); - bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneProcessId)(); -}; - -struct VR_IVRChaperone_FnTable -{ - ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect); - void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)(); - void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color); - void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor); - bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce); -}; - -struct VR_IVRChaperoneSetup_FnTable -{ - bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile); - void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength); - bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags); -}; - -struct VR_IVRCompositor_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin); - ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags); - void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)(); - void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetFrameTimings)(struct Compositor_FrameTiming * pTiming, uint32_t nFrames); - float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)(); - void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes); - void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - struct HmdColor_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentFadeColor)(bool bBackground); - void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn); - float (OPENVR_FNTABLE_CALLTYPE *GetCurrentGridAlpha)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount); - void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)(); - bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)(); - void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)(); - void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)(); - bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride); - void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)(); - void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseMirrorTextureD3D11)(void * pD3D11ShaderResourceView); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle); - bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize); - void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)(); -}; - -struct VR_IVROverlay_FnTable -{ - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayName, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchName); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight); - char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float fTexelAspect); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float * pfTexelAspect); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t * punSortOrder); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderModel)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, struct HmdColor_t * pColor, EVROverlayError * pError); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderModel)(VROverlayHandle_t ulOverlayHandle, char * pchRenderModel, struct HmdColor_t * pColor); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformOverlayRelative)(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t * ulOverlayHandleParent, struct HmdMatrix34_t * pmatParentOverlayToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformOverlayRelative)(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, struct HmdMatrix34_t * pmatParentOverlayToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults); - bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, ETextureType * pAPIType, EColorSpace * pColorSpace, struct VRTextureBounds_t * pTextureBounds); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId); - void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText); - void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)(); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags); - VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text); - void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)(); -}; - -struct VR_IVRRenderModels_FnTable -{ - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel); - void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen); - bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState); - bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError); - char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error); -}; - -struct VR_IVRNotifications_FnTable -{ - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId); - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId); -}; - -struct VR_IVRSettings_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError); - bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError); - bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); - float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); -}; - -struct VR_IVRScreenshots_FnTable -{ - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFilename, char * pchVRFilename); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreenshotType * pSupportedTypes, int numTypes); - EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(ScreenshotHandle_t screenshotHandle, EVRScreenshotError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(ScreenshotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(ScreenshotHandle_t screenshotHandle, float flProgress); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFilename); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilename, char * pchSourceVRFilename); -}; - -struct VR_IVRResources_FnTable -{ - uint32_t (OPENVR_FNTABLE_CALLTYPE *LoadSharedResource)(char * pchResourceName, char * pchBuffer, uint32_t unBufferLen); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetResourceFullPath)(char * pchResourceName, char * pchResourceTypeDirectory, char * pchPathBuffer, uint32_t unBufferLen); -}; - -struct VR_IVRDriverManager_FnTable -{ - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverCount)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverName)(DriverId_t nDriver, char * pchValue, uint32_t unBufferSize); -}; - - -#if 0 -// Global entry points -S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType ); -S_API void VR_ShutdownInternal(); -S_API bool VR_IsHmdPresent(); -S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); -S_API bool VR_IsRuntimeInstalled(); -S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error ); -S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); -#endif - -#endif // __OPENVR_API_FLAT_H__ - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h deleted file mode 100644 index 7ab997e..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h +++ /dev/null @@ -1,2695 +0,0 @@ -#pragma once - -// openvr_driver.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_DRIVER_API -#define _OPENVR_DRIVER_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -// Forward declarations to avoid requiring vulkan.h -struct VkDevice_T; -struct VkPhysicalDevice_T; -struct VkInstance_T; -struct VkQueue_T; - -// Forward declarations to avoid requiring d3d12.h -struct ID3D12Resource; -struct ID3D12CommandQueue; - -namespace vr -{ -#pragma pack( push, 8 ) - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum ETextureType -{ - TextureType_DirectX = 0, // Handle is an ID3D11Texture - TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags - TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure - TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef - TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // See ETextureType definition above - ETextureType eType; - EColorSpace eColorSpace; -}; - -// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). -typedef uint64_t SharedTextureHandle_t; -#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -typedef uint32_t DriverId_t; -static const uint32_t k_nDriverNone = 0xFFFFFFFF; - -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. -}; - -// Refers to a single container of properties -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; - -static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; -static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; - -// Use these tags to set/get common types as struct properties -static const PropertyTypeTag_t k_unFloatPropertyTag = 1; -static const PropertyTypeTag_t k_unInt32PropertyTag = 2; -static const PropertyTypeTag_t k_unUint64PropertyTag = 3; -static const PropertyTypeTag_t k_unBoolPropertyTag = 4; -static const PropertyTypeTag_t k_unStringPropertyTag = 5; - -static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; -static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; -static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; -static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; - -static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; - -static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; -static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Properties that are used for user interface like icons names - Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. - Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - - // Properties that are used by helpers, but are opaque to applications - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - - // Properties that are unique to drivers - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - -/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ -struct VRTextureWithPose_t : public Texture_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. -}; - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, - - // Do not use - Submit_Reserved = 0x04, - - // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. - Submit_TextureWithPose = 0x08, -}; - -/** Data required for passing Vulkan textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct VRVulkanTextureData_t -{ - uint64_t m_nImage; // VkImage - VkDevice_T *m_pDevice; - VkPhysicalDevice_T *m_pPhysicalDevice; - VkInstance_T *m_pInstance; - VkQueue_T *m_pQueue; - uint32_t m_nQueueFamilyIndex; - uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; -}; - -/** Data required for passing D3D12 textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct D3D12TextureData_t -{ - ID3D12Resource *m_pResource; - ID3D12CommandQueue *m_pCommandQueue; - uint32_t m_nNodeMask; -}; - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, - VRState_Ready_Alert_Low = 7, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - VREvent_OverlayFocusChanged = 307, // data is overlay, global event - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - VREvent_DashboardOverlayCreated = 518, - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_PrimaryDashboardDeviceChanged = 525, - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -// UserInteraction_Timeout means the device is in the process of timing out. -// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) -// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. -// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds - k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds - k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_ProximitySensor = 31, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -struct VREvent_ScreenshotProgress_t -{ - float progress; -}; - -struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -}; - -struct VREvent_EditingCameraSurface_t -{ - uint64_t overlayHandle; - uint32_t nVisualMode; -}; - -struct VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum -}; - -struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - ETrackedDeviceProperty prop; -}; - -/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; - VREvent_ScreenshotProgress_t screenshotProgress; - VREvent_ApplicationLaunch_t applicationLaunch; - VREvent_EditingCameraSurface_t cameraSurface; - VREvent_MessageOverlay_t messageOverlay; - VREvent_Property_t property; -} VREvent_Data_t; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - - k_eHiddenAreaMesh_Max = 3, -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROverlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, - VROverlayError_TooManyMaskPrimitives = 29, - VROverlayError_BadMaskPrimitive = 30, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor - VRApplication_SteamWatchdog = 6,// Reserved for Steam - VRApplication_Bootstrapper = 7, // Start up SteamVR - - VRApplication_Max -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - VRInitError_Init_HmdDriverIdIsNone = 125, - VRInitError_Init_HmdNotFoundPresenceFailed = 126, - VRInitError_Init_VRMonitorNotFound = 127, - VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, - VRInitError_Init_InvalidApplicationType = 130, - VRInitError_Init_NotAvailableToWatchdogApps = 131, - VRInitError_Init_WatchdogDisabledInSettings = 132, - VRInitError_Init_VRDashboardNotFound = 133, - VRInitError_Init_VRDashboardStartupFailed = 134, - VRInitError_Init_VRHomeNotFound = 135, - VRInitError_Init_VRHomeStartupFailed = 136, - VRInitError_Init_RebootingBusy = 137, - VRInitError_Init_FirmwareUpdateBusy = 138, - VRInitError_Init_FirmwareRecoveryBusy = 139, - - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons - VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - VRInitError_Driver_HmdDisplayMirrored = 212, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - VRInitError_IPC_CompositorConnectFailed = 306, - VRInitError_IPC_CompositorInvalidConnectResponse = 307, - VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - VRInitError_Compositor_UnableToCreateDevice = 405, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// vrtrackedcameratypes.h -#ifndef _VRTRACKEDCAMERATYPES_H -#define _VRTRACKEDCAMERATYPES_H - -namespace vr -{ - -#pragma pack( push, 8 ) - -enum ECameraVideoStreamFormat -{ - CVS_FORMAT_UNKNOWN = 0, - CVS_FORMAT_RAW10 = 1, // 10 bits per pixel - CVS_FORMAT_NV12 = 2, // 12 bits per pixel - CVS_FORMAT_RGB24 = 3, // 24 bits per pixel - CVS_MAX_FORMATS -}; - -enum ECameraCompatibilityMode -{ - CAMERA_COMPAT_MODE_BULK_DEFAULT = 0, - CAMERA_COMPAT_MODE_BULK_64K_DMA, - CAMERA_COMPAT_MODE_BULK_16K_DMA, - CAMERA_COMPAT_MODE_BULK_8K_DMA, - CAMERA_COMPAT_MODE_ISO_52FPS, - CAMERA_COMPAT_MODE_ISO_50FPS, - CAMERA_COMPAT_MODE_ISO_48FPS, - CAMERA_COMPAT_MODE_ISO_46FPS, - CAMERA_COMPAT_MODE_ISO_44FPS, - CAMERA_COMPAT_MODE_ISO_42FPS, - CAMERA_COMPAT_MODE_ISO_40FPS, - CAMERA_COMPAT_MODE_ISO_35FPS, - CAMERA_COMPAT_MODE_ISO_30FPS, - MAX_CAMERA_COMPAT_MODES -}; - -#ifdef _MSC_VER -#define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) -#else -#define VR_CAMERA_DECL_ALIGN( x ) // -#endif - -#define MAX_CAMERA_FRAME_SHARED_HANDLES 4 - -VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t -{ - ECameraVideoStreamFormat m_nStreamFormat; - - uint32_t m_nWidth; - uint32_t m_nHeight; - - uint32_t m_nImageDataSize; // Based on stream format, width, height - - uint32_t m_nFrameSequence; // Starts from 0 when stream starts. - - uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted - uint32_t m_nBufferCount; // Total number of configured buffers - - uint32_t m_nExposureTime; - - uint32_t m_nISPFrameTimeStamp; // Driver provided time stamp per driver centric time base - uint32_t m_nISPReferenceTimeStamp; - uint32_t m_nSyncCounter; - - uint32_t m_nCamSyncEvents; - uint32_t m_nISPSyncEvents; - - double m_flReferenceCamSyncTime; - - double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. - double m_flFrameDeliveryRate; - - double m_flFrameCaptureTime_DriverAbsolute; // In USB time, via AuxEvent - double m_flFrameCaptureTime_ServerRelative; // In System time within the server - uint64_t m_nFrameCaptureTicks_ServerAbsolute; // In system ticks within the server - double m_flFrameCaptureTime_ClientRelative; // At the client, relative to when the frame was exposed/captured. - - double m_flSyncMarkerError; - - TrackedDevicePose_t m_StandingTrackedDevicePose; // Supplied by HMD layer when used as a tracked camera - - uint64_t m_pImageData; -}; - -#pragma pack( pop ) - -} - -#endif // _VRTRACKEDCAMERATYPES_H -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - VRSettingsError_JsonParseFailed = 4, - VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory - // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_002"; - - //----------------------------------------------------------------------------- - // steamvr keys - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - static const char * const k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - - //----------------------------------------------------------------------------- - // lighthouse keys - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; - static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - static const char * const k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // power management keys - static const char * const k_pch_Power_Section = "power"; - static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - - //----------------------------------------------------------------------------- - // dashboard keys - static const char * const k_pch_Dashboard_Section = "dashboard"; - static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - - //----------------------------------------------------------------------------- - // driver keys - These could be checked in any driver_ section - static const char * const k_pch_Driver_Enable_Bool = "enable"; - -} // namespace vr - -// iservertrackeddevicedriver.h -namespace vr -{ - - -struct DriverPoseQuaternion_t -{ - double w, x, y, z; -}; - -struct DriverPose_t -{ - /* Time offset of this pose, in seconds from the actual time of the pose, - * relative to the time of the PoseUpdated() call made by the driver. - */ - double poseTimeOffset; - - /* Generally, the pose maintained by a driver - * is in an inertial coordinate system different - * from the world system of x+ right, y+ up, z+ back. - * Also, the driver is not usually tracking the "head" position, - * but instead an internal IMU or another reference point in the HMD. - * The following two transforms transform positions and orientations - * to app world space from driver world space, - * and to HMD head space from driver local body space. - * - * We maintain the driver pose state in its internal coordinate system, - * so we can do the pose prediction math without having to - * use angular acceleration. A driver's angular acceleration is generally not measured, - * and is instead calculated from successive samples of angular velocity. - * This leads to a noisy angular acceleration values, which are also - * lagged due to the filtering required to reduce noise to an acceptable level. - */ - vr::HmdQuaternion_t qWorldFromDriverRotation; - double vecWorldFromDriverTranslation[ 3 ]; - - vr::HmdQuaternion_t qDriverFromHeadRotation; - double vecDriverFromHeadTranslation[ 3 ]; - - /* State of driver pose, in meters and radians. */ - /* Position of the driver tracking reference in driver world space - * +[0] (x) is right - * +[1] (y) is up - * -[2] (z) is forward - */ - double vecPosition[ 3 ]; - - /* Velocity of the pose in meters/second */ - double vecVelocity[ 3 ]; - - /* Acceleration of the pose in meters/second */ - double vecAcceleration[ 3 ]; - - /* Orientation of the tracker, represented as a quaternion */ - vr::HmdQuaternion_t qRotation; - - /* Angular velocity of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second. */ - double vecAngularVelocity[ 3 ]; - - /* Angular acceleration of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second^2. */ - double vecAngularAcceleration[ 3 ]; - - ETrackingResult result; - - bool poseIsValid; - bool willDriftInYaw; - bool shouldApplyHeadModel; - bool deviceIsConnected; -}; - - -// ---------------------------------------------------------------------------------------------- -// Purpose: Represents a single tracked device in a driver -// ---------------------------------------------------------------------------------------------- -class ITrackedDeviceServerDriver -{ -public: - - // ------------------------------------ - // Management Methods - // ------------------------------------ - /** This is called before an HMD is returned to the application. It will always be - * called before any display or tracking methods. Memory and processor use by the - * ITrackedDeviceServerDriver object should be kept to a minimum until it is activated. - * The pose listener is guaranteed to be valid until Deactivate is called, but - * should not be used after that point. */ - virtual EVRInitError Activate( uint32_t unObjectId ) = 0; - - /** This is called when The VR system is switching from this Hmd being the active display - * to another Hmd being the active display. The driver should clean whatever memory - * and thread use it can when it is deactivated */ - virtual void Deactivate() = 0; - - /** Handles a request from the system to put this device into standby mode. What that means is defined per-device. */ - virtual void EnterStandby() = 0; - - /** Requests a component interface of the driver for device-specific functionality. The driver should return NULL - * if the requested interface or version is not supported. */ - virtual void *GetComponent( const char *pchComponentNameAndVersion ) = 0; - - /** A VR Client has made this debug request of the driver. The set of valid requests is entirely - * up to the driver and the client to figure out, as is the format of the response. Responses that - * exceed the length of the supplied buffer should be truncated and null terminated */ - virtual void DebugRequest( const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - virtual DriverPose_t GetPose() = 0; -}; - - - -static const char *ITrackedDeviceServerDriver_Version = "ITrackedDeviceServerDriver_005"; - -} -// ivrdisplaycomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: The display component on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRDisplayComponent - { - public: - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Returns true if the display is extending the desktop. */ - virtual bool IsDisplayOnDesktop( ) = 0; - - /** Returns true if the display is real and not a fictional display. */ - virtual bool IsDisplayRealDisplay( ) = 0; - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ - virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; - - }; - - static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_002"; - -} - -// ivrdriverdirectmodecomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: This component is used for drivers that implement direct mode entirely on their own - // without allowing the VR Compositor to own the window/device. Chances are you don't - // need to implement this component in your driver. - // ---------------------------------------------------------------------------------------------- - class IVRDriverDirectModeComponent - { - public: - - // ----------------------------------- - // Direct mode methods - // ----------------------------------- - - /** Specific to Oculus compositor support, textures supplied must be created using this method. */ - virtual void CreateSwapTextureSet( uint32_t unPid, uint32_t unFormat, uint32_t unWidth, uint32_t unHeight, vr::SharedTextureHandle_t( *pSharedTextureHandles )[ 3 ] ) {} - - /** Used to textures created using CreateSwapTextureSet. Only one of the set's handles needs to be used to destroy the entire set. */ - virtual void DestroySwapTextureSet( vr::SharedTextureHandle_t sharedTextureHandle ) {} - - /** Used to purge all texture sets for a given process. */ - virtual void DestroyAllSwapTextureSets( uint32_t unPid ) {} - - /** After Present returns, calls this to get the next index to use for rendering. */ - virtual void GetNextSwapTextureSetIndex( vr::SharedTextureHandle_t sharedTextureHandles[ 2 ], uint32_t( *pIndices )[ 2 ] ) {} - - /** Call once per layer to draw for this frame. One shared texture handle per eye. Textures must be created - * using CreateSwapTextureSet and should be alternated per frame. Call Present once all layers have been submitted. */ - virtual void SubmitLayer( vr::SharedTextureHandle_t sharedTextureHandles[ 2 ], const vr::VRTextureBounds_t( &bounds )[ 2 ], const vr::HmdMatrix34_t *pPose ) {} - - /** Submits queued layers for display. */ - virtual void Present( vr::SharedTextureHandle_t syncTexture ) {} - - }; - - static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_002"; - -} - -// ivrcontrollercomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: Controller access on a single tracked device. - // ---------------------------------------------------------------------------------------------- - class IVRControllerComponent - { - public: - - // ------------------------------------ - // Controller Methods - // ------------------------------------ - - /** Gets the current state of a controller. */ - virtual VRControllerState_t GetControllerState( ) = 0; - - /** Returns a uint64 property. If the property is not available this function will return 0. */ - virtual bool TriggerHapticPulse( uint32_t unAxisId, uint16_t usPulseDurationMicroseconds ) = 0; - - }; - - - - static const char *IVRControllerComponent_Version = "IVRControllerComponent_001"; - -} -// ivrcameracomponent.h -namespace vr -{ - //----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- - class ICameraVideoSinkCallback - { - public: - virtual void OnCameraVideoSinkCallback() = 0; - }; - - // ---------------------------------------------------------------------------------------------- - // Purpose: The camera on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRCameraComponent - { - public: - // ------------------------------------ - // Camera Methods - // ------------------------------------ - virtual bool GetCameraFrameDimensions( vr::ECameraVideoStreamFormat nVideoStreamFormat, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraFrameBufferingRequirements( int *pDefaultFrameQueueSize, uint32_t *pFrameBufferDataSize ) = 0; - virtual bool SetCameraFrameBuffering( int nFrameBufferCount, void **ppFrameBuffers, uint32_t nFrameBufferDataSize ) = 0; - virtual bool SetCameraVideoStreamFormat( vr::ECameraVideoStreamFormat nVideoStreamFormat ) = 0; - virtual vr::ECameraVideoStreamFormat GetCameraVideoStreamFormat() = 0; - virtual bool StartVideoStream() = 0; - virtual void StopVideoStream() = 0; - virtual bool IsVideoStreamActive( bool *pbPaused, float *pflElapsedTime ) = 0; - virtual const vr::CameraVideoStreamFrame_t *GetVideoStreamFrame() = 0; - virtual void ReleaseVideoStreamFrame( const vr::CameraVideoStreamFrame_t *pFrameImage ) = 0; - virtual bool SetAutoExposure( bool bEnable ) = 0; - virtual bool PauseVideoStream() = 0; - virtual bool ResumeVideoStream() = 0; - virtual bool GetCameraDistortion( float flInputU, float flInputV, float *pflOutputU, float *pflOutputV ) = 0; - virtual bool GetCameraProjection( vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - virtual bool SetFrameRate( int nISPFrameRate, int nSensorFrameRate ) = 0; - virtual bool SetCameraVideoSinkCallback( vr::ICameraVideoSinkCallback *pCameraVideoSinkCallback ) = 0; - virtual bool GetCameraCompatibilityMode( vr::ECameraCompatibilityMode *pCameraCompatibilityMode ) = 0; - virtual bool SetCameraCompatibilityMode( vr::ECameraCompatibilityMode nCameraCompatibilityMode ) = 0; - virtual bool GetCameraFrameBounds( vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pLeft, uint32_t *pTop, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraIntrinsics( vr::EVRTrackedCameraFrameType eFrameType, HmdVector2_t *pFocalLength, HmdVector2_t *pCenter ) = 0; - }; - - static const char *IVRCameraComponent_Version = "IVRCameraComponent_002"; -} -// itrackeddevicedriverprovider.h -namespace vr -{ - -class ITrackedDeviceServerDriver; -struct TrackedDeviceDriverInfo_t; -struct DriverPose_t; -typedef PropertyContainerHandle_t DriverHandle_t; - -/** This interface is provided by vrserver to allow the driver to notify -* the system when something changes about a device. These changes must -* not change the serial number or class of the device because those values -* are permanently associated with the device's index. */ -class IVRDriverContext -{ -public: - /** Returns the requested interface. If the interface was not available it will return NULL and fill - * out the error. */ - virtual void *GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError = nullptr ) = 0; - - /** Returns the property container handle for this driver */ - virtual DriverHandle_t GetDriverHandle() = 0; -}; - - -/** This interface must be implemented in each driver. It will be loaded in vrserver.exe */ -class IServerTrackedDeviceProvider -{ -public: - /** initializes the driver. This will be called before any other methods are called. - * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. - * - * pDriverHost will never be NULL, and will always be a pointer to a IServerDriverHost interface - * - * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user - * config files. - * pchDriverInstallDir - The absolute path of the root directory for the driver. - */ - virtual EVRInitError Init( IVRDriverContext *pDriverContext ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; - - /** Returns the version of the ITrackedDeviceServerDriver interface used by this driver */ - virtual const char * const *GetInterfaceVersions() = 0; - - /** Allows the driver do to some work in the main loop of the server. */ - virtual void RunFrame() = 0; - - - // ------------ Power State Functions ----------------------- // - - /** Returns true if the driver wants to block Standby mode. */ - virtual bool ShouldBlockStandbyMode() = 0; - - /** Called when the system is entering Standby mode. The driver should switch itself into whatever sort of low-power - * state it has. */ - virtual void EnterStandby() = 0; - - /** Called when the system is leaving Standby mode. The driver should switch itself back to - full operation. */ - virtual void LeaveStandby() = 0; - -}; - - -static const char *IServerTrackedDeviceProvider_Version = "IServerTrackedDeviceProvider_004"; - - - - -/** This interface must be implemented in each driver. It will be loaded in vrclient.dll */ -class IVRWatchdogProvider -{ -public: - /** initializes the driver in watchdog mode. */ - virtual EVRInitError Init( IVRDriverContext *pDriverContext ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; -}; - -static const char *IVRWatchdogProvider_Version = "IVRWatchdogProvider_001"; - -} -// ivrproperties.h -#include - -namespace vr -{ - - enum EPropertyWriteType - { - PropertyWrite_Set = 0, - PropertyWrite_Erase = 1, - PropertyWrite_SetError = 2 - }; - - struct PropertyWrite_t - { - ETrackedDeviceProperty prop; - EPropertyWriteType writeType; - ETrackedPropertyError eSetError; - void *pvBuffer; - uint32_t unBufferSize; - PropertyTypeTag_t unTag; - ETrackedPropertyError eError; - }; - - struct PropertyRead_t - { - ETrackedDeviceProperty prop; - void *pvBuffer; - uint32_t unBufferSize; - PropertyTypeTag_t unTag; - uint32_t unRequiredBufferSize; - ETrackedPropertyError eError; - }; - - -class IVRProperties -{ -public: - - /** Reads a set of properties atomically. See the PropertyReadBatch_t struct for more information. */ - virtual ETrackedPropertyError ReadPropertyBatch( PropertyContainerHandle_t ulContainerHandle, PropertyRead_t *pBatch, uint32_t unBatchEntryCount ) = 0; - - /** Writes a set of properties atomically. See the PropertyWriteBatch_t struct for more information. */ - virtual ETrackedPropertyError WritePropertyBatch( PropertyContainerHandle_t ulContainerHandle, PropertyWrite_t *pBatch, uint32_t unBatchEntryCount ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - /** Returns a container handle given a tracked device index */ - virtual PropertyContainerHandle_t TrackedDeviceToPropertyContainer( TrackedDeviceIndex_t nDevice ) = 0; - -}; - -static const char * const IVRProperties_Version = "IVRProperties_001"; - -class CVRPropertyHelpers -{ -public: - CVRPropertyHelpers( IVRProperties * pProperties ) : m_pProperties( pProperties ) {} - - /** Returns a scaler property. If the device index is not valid or the property value type does not match, - * this function will return false. */ - bool GetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - float GetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - int32_t GetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - uint64_t GetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - - /** Returns a single typed property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - uint32_t GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError = 0L ); - - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - uint32_t GetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ); - - /** Returns a string property as a std::string. If the device index is not valid or the property is not a string type this function will - * return an empty string. */ - std::string GetStringProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError = nullptr ); - - /** Sets a scaler property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, bool bNewValue ); - ETrackedPropertyError SetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, float fNewValue ); - ETrackedPropertyError SetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, int32_t nNewValue ); - ETrackedPropertyError SetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, uint64_t ulNewValue ); - - /** Sets a string property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, const char *pchNewValue ); - - /** Sets a single typed property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, void *pvNewValue, uint32_t unNewValueSize, PropertyTypeTag_t unTag ); - - /** Sets the error return value for a property. This value will be returned on all subsequent requests to get the property */ - ETrackedPropertyError SetPropertyError( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError eError ); - - /** Clears any value or error set for the property. */ - ETrackedPropertyError EraseProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop ); - - /* Turns a device index into a property container handle. */ - PropertyContainerHandle_t TrackedDeviceToPropertyContainer( TrackedDeviceIndex_t nDevice ) { return m_pProperties->TrackedDeviceToPropertyContainer( nDevice ); } - -private: - template - T GetPropertyHelper( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError, T bDefault, PropertyTypeTag_t unTypeTag ); - - IVRProperties *m_pProperties; -}; - - -inline uint32_t CVRPropertyHelpers::GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError ) -{ - PropertyRead_t batch; - batch.prop = prop; - batch.pvBuffer = pvBuffer; - batch.unBufferSize = unBufferSize; - - m_pProperties->ReadPropertyBatch( ulContainerHandle, &batch, 1 ); - - if ( pError ) - { - *pError = batch.eError; - } - - if ( punTag ) - { - *punTag = batch.unTag; - } - - return batch.unRequiredBufferSize; -} - - -/** Sets a single typed property. The new value will be returned on any subsequent call to get this property in any process. */ -inline ETrackedPropertyError CVRPropertyHelpers::SetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, void *pvNewValue, uint32_t unNewValueSize, PropertyTypeTag_t unTag ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_Set; - batch.prop = prop; - batch.pvBuffer = pvNewValue; - batch.unBufferSize = unNewValueSize; - batch.unTag = unTag; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; -} - - -/** Returns a string property. If the device index is not valid or the property is not a string type this function will -* return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing -* null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ -inline uint32_t CVRPropertyHelpers::GetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError ) -{ - PropertyTypeTag_t unTag; - ETrackedPropertyError error; - uint32_t unRequiredSize = GetProperty( ulContainerHandle, prop, pchValue, unBufferSize, &unTag, &error ); - if ( unTag != k_unStringPropertyTag && error == TrackedProp_Success ) - { - error = TrackedProp_WrongDataType; - } - - if ( pError ) - { - *pError = error; - } - - if ( error != TrackedProp_Success ) - { - if ( pchValue && unBufferSize ) - { - *pchValue = '\0'; - } - } - - return unRequiredSize; -} - - -/** Returns a string property as a std::string. If the device index is not valid or the property is not a string type this function will -* return an empty string. */ -inline std::string CVRPropertyHelpers::GetStringProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError ) -{ - char buf[1024]; - vr::ETrackedPropertyError err; - uint32_t unRequiredBufferLen = GetStringProperty( ulContainer, prop, buf, sizeof(buf), &err ); - - std::string sResult; - - if ( err == TrackedProp_Success ) - { - sResult = buf; - } - else if ( err == TrackedProp_BufferTooSmall ) - { - char *pchBuffer = new char[unRequiredBufferLen]; - unRequiredBufferLen = GetStringProperty( ulContainer, prop, pchBuffer, unRequiredBufferLen, &err ); - sResult = pchBuffer; - delete[] pchBuffer; - } - - if ( peError ) - { - *peError = err; - } - - return sResult; -} - - -/** Sets a string property. The new value will be returned on any subsequent call to get this property in any process. */ -inline ETrackedPropertyError CVRPropertyHelpers::SetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, const char *pchNewValue ) -{ - if ( !pchNewValue ) - return TrackedProp_InvalidOperation; - - // this is strlen without the dependency on string.h - const char *pchCurr = pchNewValue; - while ( *pchCurr ) - { - pchCurr++; - } - - return SetProperty( ulContainerHandle, prop, (void *)pchNewValue, (uint32_t)(pchCurr - pchNewValue) + 1, k_unStringPropertyTag ); -} - - -template -inline T CVRPropertyHelpers::GetPropertyHelper( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError, T bDefault, PropertyTypeTag_t unTypeTag ) -{ - T bValue; - ETrackedPropertyError eError; - PropertyTypeTag_t unReadTag; - GetProperty( ulContainerHandle, prop, &bValue, sizeof( bValue ), &unReadTag, &eError ); - if ( unReadTag != unTypeTag && eError == TrackedProp_Success ) - { - eError = TrackedProp_WrongDataType; - }; - - if ( pError ) - *pError = eError; - if ( eError != TrackedProp_Success ) - { - return bDefault; - } - else - { - return bValue; - } -} - - -inline bool CVRPropertyHelpers::GetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, false, k_unBoolPropertyTag ); -} - - -inline float CVRPropertyHelpers::GetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0.f, k_unFloatPropertyTag ); -} - -inline int32_t CVRPropertyHelpers::GetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0, k_unInt32PropertyTag ); -} - -inline uint64_t CVRPropertyHelpers::GetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0, k_unUint64PropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, bool bNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &bNewValue, sizeof( bNewValue ), k_unBoolPropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, float fNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &fNewValue, sizeof( fNewValue ), k_unFloatPropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, int32_t nNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &nNewValue, sizeof( nNewValue ), k_unInt32PropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, uint64_t ulNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &ulNewValue, sizeof( ulNewValue ), k_unUint64PropertyTag ); -} - -/** Sets the error return value for a property. This value will be returned on all subsequent requests to get the property */ -inline ETrackedPropertyError CVRPropertyHelpers::SetPropertyError( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError eError ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_SetError; - batch.prop = prop; - batch.eSetError = eError; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; -} - -/** Clears any value or error set for the property. */ -inline ETrackedPropertyError CVRPropertyHelpers::EraseProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_Erase; - batch.prop = prop; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; - -} - -} - - -// ivrdriverlog.h -namespace vr -{ - -class IVRDriverLog -{ -public: - /** Writes a log message to the log file prefixed with the driver name */ - virtual void Log( const char *pchLogMessage ) = 0; -}; - - -static const char *IVRDriverLog_Version = "IVRDriverLog_001"; - -} -// ivrserverdriverhost.h -namespace vr -{ - -class ITrackedDeviceServerDriver; -struct TrackedDeviceDriverInfo_t; -struct DriverPose_t; - -/** This interface is provided by vrserver to allow the driver to notify -* the system when something changes about a device. These changes must -* not change the serial number or class of the device because those values -* are permanently associated with the device's index. */ -class IVRServerDriverHost -{ -public: - /** Notifies the server that a tracked device has been added. If this function returns true - * the server will call Activate on the device. If it returns false some kind of error - * has occurred and the device will not be activated. */ - virtual bool TrackedDeviceAdded( const char *pchDeviceSerialNumber, ETrackedDeviceClass eDeviceClass, ITrackedDeviceServerDriver *pDriver ) = 0; - - /** Notifies the server that a tracked device's pose has been updated */ - virtual void TrackedDevicePoseUpdated( uint32_t unWhichDevice, const DriverPose_t & newPose, uint32_t unPoseStructSize ) = 0; - - /** Notifies the server that vsync has occurred on the the display attached to the device. This is - * only permitted on devices of the HMD class. */ - virtual void VsyncEvent( double vsyncTimeOffsetSeconds ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonPressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUnpressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonTouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUntouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server than a controller axis changed */ - virtual void TrackedDeviceAxisUpdated( uint32_t unWhichDevice, uint32_t unWhichAxis, const VRControllerAxis_t & axisState ) = 0; - - /** Notifies the server that the proximity sensor on the specified device */ - virtual void ProximitySensorState( uint32_t unWhichDevice, bool bProximitySensorTriggered ) = 0; - - /** Sends a vendor specific event (VREvent_VendorSpecific_Reserved_Start..VREvent_VendorSpecific_Reserved_End */ - virtual void VendorSpecificEvent( uint32_t unWhichDevice, vr::EVREventType eventType, const VREvent_Data_t & eventData, double eventTimeOffset ) = 0; - - /** Returns true if SteamVR is exiting */ - virtual bool IsExiting() = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Provides access to device poses for drivers. Poses are in their "raw" tracking space which is uniquely - * defined by each driver providing poses for its devices. It is up to clients of this function to correlate - * poses across different drivers. Poses are indexed by their device id, and their associated driver and - * other properties can be looked up via IVRProperties. */ - virtual void GetRawTrackedDevicePoses( float fPredictedSecondsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Notifies the server that a tracked device's display component transforms have been updated. */ - virtual void TrackedDeviceDisplayTransformUpdated( uint32_t unWhichDevice, HmdMatrix34_t eyeToHeadLeft, HmdMatrix34_t eyeToHeadRight ) = 0; -}; - -static const char *IVRServerDriverHost_Version = "IVRServerDriverHost_004"; - -} - -// ivrhiddenarea.h -namespace vr -{ - -class CVRHiddenAreaHelpers -{ -public: - CVRHiddenAreaHelpers( IVRProperties *pProperties ) : m_pProperties( pProperties ) {} - - /** Stores a hidden area mesh in a property */ - ETrackedPropertyError SetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount ); - - /** retrieves a hidden area mesh from a property. Returns the vert count read out of the property. */ - uint32_t GetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount, ETrackedPropertyError *peError ); - -private: - ETrackedDeviceProperty GetPropertyEnum( EVREye eEye, EHiddenAreaMeshType type ) - { - return (ETrackedDeviceProperty)(Prop_DisplayHiddenArea_Binary_Start + ((int)type * 2) + (int)eEye); - } - - IVRProperties *m_pProperties; -}; - - -inline ETrackedPropertyError CVRHiddenAreaHelpers::SetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount ) -{ - ETrackedDeviceProperty prop = GetPropertyEnum( eEye, type ); - CVRPropertyHelpers propHelpers( m_pProperties ); - return propHelpers.SetProperty( propHelpers.TrackedDeviceToPropertyContainer( k_unTrackedDeviceIndex_Hmd ), prop, pVerts, sizeof( HmdVector2_t ) * unVertCount, k_unHiddenAreaPropertyTag ); -} - - -inline uint32_t CVRHiddenAreaHelpers::GetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount, ETrackedPropertyError *peError ) -{ - ETrackedDeviceProperty prop = GetPropertyEnum( eEye, type ); - CVRPropertyHelpers propHelpers( m_pProperties ); - ETrackedPropertyError propError; - PropertyTypeTag_t unTag; - uint32_t unBytesNeeded = propHelpers.GetProperty( propHelpers.TrackedDeviceToPropertyContainer( k_unTrackedDeviceIndex_Hmd ), prop, pVerts, sizeof( HmdVector2_t )*unVertCount, &unTag, &propError ); - if ( propError == TrackedProp_Success && unTag != k_unHiddenAreaPropertyTag ) - { - propError = TrackedProp_WrongDataType; - unBytesNeeded = 0; - } - - if ( peError ) - { - *peError = propError; - } - - return unBytesNeeded / sizeof( HmdVector2_t ); -} - -} -// ivrwatchdoghost.h -namespace vr -{ - -/** This interface is provided by vrclient to allow the driver to make everything wake up */ -class IVRWatchdogHost -{ -public: - /** Client drivers in watchdog mode should call this when they have received a signal from hardware that should - * cause SteamVR to start */ - virtual void WatchdogWakeUp() = 0; -}; - -static const char *IVRWatchdogHost_Version = "IVRWatchdogHost_001"; - -}; - - - -// ivrvirtualdisplay.h -namespace vr -{ - // ---------------------------------------------------------------------------------------------- - // Purpose: This component is used for drivers that implement a virtual display (e.g. wireless). - // ---------------------------------------------------------------------------------------------- - class IVRVirtualDisplay - { - public: - - /** Submits final backbuffer for display. */ - virtual void Present( vr::SharedTextureHandle_t backbufferTextureHandle ) = 0; - - /** Block until the last presented buffer start scanning out. */ - virtual void WaitForPresent() = 0; - - /** Provides timing data for synchronizing with display. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - }; - - static const char *IVRVirtualDisplay_Version = "IVRVirtualDisplay_001"; - - /** Returns the current IVRVirtualDisplay pointer or NULL the interface could not be found. */ - VR_INTERFACE vr::IVRVirtualDisplay *VR_CALLTYPE VRVirtualDisplay(); -} - - -// ivrresources.h -namespace vr -{ - -class IVRResources -{ -public: - - // ------------------------------------ - // Shared Resource Methods - // ------------------------------------ - - /** Loads the specified resource into the provided buffer if large enough. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; - - /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. - * pchResourceTypeDirectory is the subdirectory of resources to look in. */ - virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, char *pchPathBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char * const IVRResources_Version = "IVRResources_001"; - - -} -// ivrdrivermanager.h -namespace vr -{ - -class IVRDriverManager -{ -public: - virtual uint32_t GetDriverCount() const = 0; - - /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ - virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; -}; - -static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; - -} // namespace vr - - - - - -namespace vr -{ - static const char * const k_InterfaceVersions[] = - { - IVRSettings_Version, - ITrackedDeviceServerDriver_Version, - IVRDisplayComponent_Version, - IVRDriverDirectModeComponent_Version, - IVRControllerComponent_Version, - IVRCameraComponent_Version, - IServerTrackedDeviceProvider_Version, - IVRWatchdogProvider_Version, - IVRVirtualDisplay_Version, - IVRDriverManager_Version, - IVRResources_Version, - nullptr - }; - - inline IVRDriverContext *&VRDriverContext() - { - static IVRDriverContext *pHost; - return pHost; - } - - class COpenVRDriverContext - { - public: - COpenVRDriverContext() : m_propertyHelpers(nullptr), m_hiddenAreaHelpers(nullptr) { Clear(); } - void Clear(); - - EVRInitError InitServer(); - EVRInitError InitWatchdog(); - - IVRSettings *VRSettings() - { - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = (IVRSettings *)VRDriverContext()->GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRProperties *VRPropertiesRaw() - { - if ( m_pVRProperties == nullptr ) - { - EVRInitError eError; - m_pVRProperties = (IVRProperties *)VRDriverContext()->GetGenericInterface( IVRProperties_Version, &eError ); - m_propertyHelpers = CVRPropertyHelpers( m_pVRProperties ); - m_hiddenAreaHelpers = CVRHiddenAreaHelpers( m_pVRProperties ); - } - return m_pVRProperties; - } - - CVRPropertyHelpers *VRProperties() - { - VRPropertiesRaw(); - return &m_propertyHelpers; - } - - CVRHiddenAreaHelpers *VRHiddenArea() - { - VRPropertiesRaw(); - return &m_hiddenAreaHelpers; - } - - IVRServerDriverHost *VRServerDriverHost() - { - if ( m_pVRServerDriverHost == nullptr ) - { - EVRInitError eError; - m_pVRServerDriverHost = (IVRServerDriverHost *)VRDriverContext()->GetGenericInterface( IVRServerDriverHost_Version, &eError ); - } - return m_pVRServerDriverHost; - } - - IVRWatchdogHost *VRWatchdogHost() - { - if ( m_pVRWatchdogHost == nullptr ) - { - EVRInitError eError; - m_pVRWatchdogHost = (IVRWatchdogHost *)VRDriverContext()->GetGenericInterface( IVRWatchdogHost_Version, &eError ); - } - return m_pVRWatchdogHost; - } - - IVRDriverLog *VRDriverLog() - { - if ( m_pVRDriverLog == nullptr ) - { - EVRInitError eError; - m_pVRDriverLog = (IVRDriverLog *)VRDriverContext()->GetGenericInterface( IVRDriverLog_Version, &eError ); - } - return m_pVRDriverLog; - } - - DriverHandle_t VR_CALLTYPE VRDriverHandle() - { - return VRDriverContext()->GetDriverHandle(); - } - - IVRDriverManager *VRDriverManager() - { - if ( !m_pVRDriverManager ) - { - EVRInitError eError; - m_pVRDriverManager = (IVRDriverManager *)VRDriverContext()->GetGenericInterface( IVRDriverManager_Version, &eError ); - } - return m_pVRDriverManager; - } - - IVRResources *VRResources() - { - if ( !m_pVRResources ) - { - EVRInitError eError; - m_pVRResources = (IVRResources *)VRDriverContext()->GetGenericInterface( IVRResources_Version, &eError ); - } - return m_pVRResources; - } - - private: - CVRPropertyHelpers m_propertyHelpers; - CVRHiddenAreaHelpers m_hiddenAreaHelpers; - - IVRSettings *m_pVRSettings; - IVRProperties *m_pVRProperties; - IVRServerDriverHost *m_pVRServerDriverHost; - IVRWatchdogHost *m_pVRWatchdogHost; - IVRDriverLog *m_pVRDriverLog; - IVRDriverManager *m_pVRDriverManager; - IVRResources *m_pVRResources; - }; - - inline COpenVRDriverContext &OpenVRInternal_ModuleServerDriverContext() - { - static void *ctx[sizeof( COpenVRDriverContext ) / sizeof( void * )]; - return *(COpenVRDriverContext *)ctx; // bypass zero-init constructor - } - - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleServerDriverContext().VRSettings(); } - inline IVRProperties *VR_CALLTYPE VRPropertiesRaw() { return OpenVRInternal_ModuleServerDriverContext().VRPropertiesRaw(); } - inline CVRPropertyHelpers *VR_CALLTYPE VRProperties() { return OpenVRInternal_ModuleServerDriverContext().VRProperties(); } - inline CVRHiddenAreaHelpers *VR_CALLTYPE VRHiddenArea() { return OpenVRInternal_ModuleServerDriverContext().VRHiddenArea(); } - inline IVRDriverLog *VR_CALLTYPE VRDriverLog() { return OpenVRInternal_ModuleServerDriverContext().VRDriverLog(); } - inline IVRServerDriverHost *VR_CALLTYPE VRServerDriverHost() { return OpenVRInternal_ModuleServerDriverContext().VRServerDriverHost(); } - inline IVRWatchdogHost *VR_CALLTYPE VRWatchdogHost() { return OpenVRInternal_ModuleServerDriverContext().VRWatchdogHost(); } - inline DriverHandle_t VR_CALLTYPE VRDriverHandle() { return OpenVRInternal_ModuleServerDriverContext().VRDriverHandle(); } - inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleServerDriverContext().VRDriverManager(); } - inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleServerDriverContext().VRResources(); } - - inline void COpenVRDriverContext::Clear() - { - m_pVRSettings = nullptr; - m_pVRProperties = nullptr; - m_pVRServerDriverHost = nullptr; - m_pVRDriverLog = nullptr; - m_pVRWatchdogHost = nullptr; - m_pVRDriverManager = nullptr; - m_pVRResources = nullptr; - } - - inline EVRInitError COpenVRDriverContext::InitServer() - { - Clear(); - if ( !VRServerDriverHost() - || !VRSettings() - || !VRProperties() - || !VRDriverLog() - || !VRDriverManager() - || !VRResources() ) - return VRInitError_Init_InterfaceNotFound; - return VRInitError_None; - } - - inline EVRInitError COpenVRDriverContext::InitWatchdog() - { - Clear(); - if ( !VRWatchdogHost() - || !VRSettings() - || !VRDriverLog() ) - return VRInitError_Init_InterfaceNotFound; - return VRInitError_None; - } - - inline EVRInitError InitServerDriverContext( IVRDriverContext *pContext ) - { - VRDriverContext() = pContext; - return OpenVRInternal_ModuleServerDriverContext().InitServer(); - } - - inline EVRInitError InitWatchdogDriverContext( IVRDriverContext *pContext ) - { - VRDriverContext() = pContext; - return OpenVRInternal_ModuleServerDriverContext().InitWatchdog(); - } - - inline void CleanupDriverContext() - { - VRDriverContext() = nullptr; - OpenVRInternal_ModuleServerDriverContext().Clear(); - } - - #define VR_INIT_SERVER_DRIVER_CONTEXT( pContext ) \ - { \ - vr::EVRInitError eError = vr::InitServerDriverContext( pContext ); \ - if( eError != vr::VRInitError_None ) \ - return eError; \ - } - - #define VR_CLEANUP_SERVER_DRIVER_CONTEXT() \ - vr::CleanupDriverContext(); - - #define VR_INIT_WATCHDOG_DRIVER_CONTEXT( pContext ) \ - { \ - vr::EVRInitError eError = vr::InitWatchdogDriverContext( pContext ); \ - if( eError != vr::VRInitError_None ) \ - return eError; \ - } - - #define VR_CLEANUP_WATCHDOG_DRIVER_CONTEXT() \ - vr::CleanupDriverContext(); -} -// End - -#endif // _OPENVR_DRIVER_API - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR deleted file mode 100755 index 3fb0184..0000000 Binary files a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR and /dev/null differ diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 50ff90a..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - CFBundleIdentifier - com.valvesoftware.OpenVR.framework - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OpenVR - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/README.md b/ovr-utils/addons/godot-openvr/bin/osx/README.md deleted file mode 100644 index 1c26acd..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/README.md +++ /dev/null @@ -1,2 +0,0 @@ -OSX support is currently untested as we have no contributor who is using Mac OSX for VR development. -If you are able and willing to help out please contact us! diff --git a/ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib b/ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib deleted file mode 100755 index 5ea9513..0000000 Binary files a/ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib and /dev/null differ