From 7487541cae2258ad4e56743bf8abba7f14fdc2a8 Mon Sep 17 00:00:00 2001 From: Colin Sherratt Date: Sat, 13 Jun 2015 16:38:07 -0400 Subject: [PATCH] Added pointer to gen --- Cargo.toml | 7 +- scripts/gen.py | 2 +- src/lib.rs | 3 + src/sys/lib.rs | 266 ++++++++++++++++++++++++------------------------- 4 files changed, 142 insertions(+), 136 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 94be09c..11c6caa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,5 +7,8 @@ authors = [ ] [lib] -name = "openvr_sys" -path = "src/sys/lib.rs" +name = "vr" +path = "src/lib.rs" + +[dependencies.openvr_sys] +path = "src/sys/" \ No newline at end of file diff --git a/scripts/gen.py b/scripts/gen.py index 64cda07..d040068 100644 --- a/scripts/gen.py +++ b/scripts/gen.py @@ -105,7 +105,7 @@ for s in data['structs']: print "extern \"C\" {" for m in data['methods']: - print '\tpub fn ' + parse_class(m['classname']) + '_' + m['methodname'] + "(", + print '\tpub fn ' + parse_class(m['classname']) + '_' + m['methodname'] + "(usize,", s = [] for p in m.get('params', []): if p['paramname'] == 'type': diff --git a/src/lib.rs b/src/lib.rs index e69de29..da6a25e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -0,0 +1,3 @@ + + +extern crate openvr_sys; \ No newline at end of file diff --git a/src/sys/lib.rs b/src/sys/lib.rs index fd55d04..173c6c5 100755 --- a/src/sys/lib.rs +++ b/src/sys/lib.rs @@ -473,137 +473,137 @@ pub struct NotificationBitmap { depth: i32, } extern "C" { - pub fn VR_IVRSystem_GetWindowBounds( pnX: *mut i32, pnY: *mut i32, pnWidth: *mut u32, pnHeight: *mut u32) ; - pub fn VR_IVRSystem_GetRecommendedRenderTargetSize( pnWidth: *mut u32, pnHeight: *mut u32) ; - pub fn VR_IVRSystem_GetEyeOutputViewport( eEye: Hmd_Eye, pnX: *mut u32, pnY: *mut u32, pnWidth: *mut u32, pnHeight: *mut u32) ; - pub fn VR_IVRSystem_GetProjectionMatrix( eEye: Hmd_Eye, fNearZ: f32, fFarZ: f32, eProjType: GraphicsAPIConvention) -> HmdMatrix44_t; - pub fn VR_IVRSystem_GetProjectionRaw( eEye: Hmd_Eye, pfLeft: *mut f32, pfRight: *mut f32, pfTop: *mut f32, pfBottom: *mut f32) ; - pub fn VR_IVRSystem_ComputeDistortion( eEye: Hmd_Eye, fU: f32, fV: f32) -> DistortionCoordinates_t; - pub fn VR_IVRSystem_GetEyeToHeadTransform( eEye: Hmd_Eye) -> HmdMatrix34_t; - pub fn VR_IVRSystem_GetTimeSinceLastVsync( pfSecondsSinceLastVsync: *mut f32, pulFrameCounter: *mut u64) -> bool; - pub fn VR_IVRSystem_GetD3D9AdapterIndex( ) -> i32; - pub fn VR_IVRSystem_GetDXGIOutputInfo( pnAdapterIndex: *mut i32, pnAdapterOutputIndex: *mut i32) ; - pub fn VR_IVRSystem_AttachToWindow( hWnd: *mut ()) -> bool; - pub fn VR_IVRSystem_GetDeviceToAbsoluteTrackingPose( eOrigin: TrackingUniverseOrigin, fPredictedSecondsToPhotonsFromNow: f32, pTrackedDevicePoseArray: TrackedDevicePose_t, unTrackedDevicePoseArrayCount: u32) ; - pub fn VR_IVRSystem_ResetSeatedZeroPose( ) ; - pub fn VR_IVRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ) -> HmdMatrix34_t; - pub fn VR_IVRSystem_GetTrackedDeviceClass( unDeviceIndex: TrackedDeviceIndex_t) -> TrackedDeviceClass; - pub fn VR_IVRSystem_IsTrackedDeviceConnected( unDeviceIndex: TrackedDeviceIndex_t) -> bool; - pub fn VR_IVRSystem_GetBoolTrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> bool; - pub fn VR_IVRSystem_GetFloatTrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> f32; - pub fn VR_IVRSystem_GetInt32TrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> i32; - pub fn VR_IVRSystem_GetUint64TrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> u64; - pub fn VR_IVRSystem_GetMatrix34TrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> HmdMatrix34_t; - pub fn VR_IVRSystem_GetStringTrackedDeviceProperty( unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pchValue: *const u8, unBufferSize: u32, pError: *mut TrackedPropertyError) -> u32; - pub fn VR_IVRSystem_GetPropErrorNameFromEnum( error: TrackedPropertyError) -> *const u8; - pub fn VR_IVRSystem_PollNextEvent( pEvent: VREvent_t) -> bool; - pub fn VR_IVRSystem_PollNextEventWithPose( eOrigin: TrackingUniverseOrigin, pEvent: *mut VREvent_t, pTrackedDevicePose: *mut TrackedDevicePose_t) -> bool; - pub fn VR_IVRSystem_GetEventTypeNameFromEnum( eType: EVREventType) -> *const u8; - pub fn VR_IVRSystem_GetHiddenAreaMesh( eEye: Hmd_Eye) -> HiddenAreaMesh_t; - pub fn VR_IVRSystem_GetControllerState( unControllerDeviceIndex: TrackedDeviceIndex_t, pControllerState: *mut VRControllerState_t) -> bool; - pub fn VR_IVRSystem_GetControllerStateWithPose( eOrigin: TrackingUniverseOrigin, unControllerDeviceIndex: TrackedDeviceIndex_t, pControllerState: *mut VRControllerState_t, pTrackedDevicePose: TrackedDevicePose_t) -> bool; - pub fn VR_IVRSystem_TriggerHapticPulse( unControllerDeviceIndex: TrackedDeviceIndex_t, unAxisId: u32, usDurationMicroSec: u16) ; - pub fn VR_IVRSystem_GetButtonIdNameFromEnum( eButtonId: EVRButtonId) -> *const u8; - pub fn VR_IVRSystem_GetControllerAxisTypeNameFromEnum( eAxisType: EVRControllerAxisType) -> *const u8; - pub fn VR_IVRSystem_CaptureInputFocus( ) -> bool; - pub fn VR_IVRSystem_ReleaseInputFocus( ) ; - pub fn VR_IVRSystem_IsInputFocusCapturedByAnotherProcess( ) -> bool; - pub fn VR_IVRSystem_DriverDebugRequest( unDeviceIndex: TrackedDeviceIndex_t, pchRequest: *const u8, pchResponseBuffer: *const u8, unResponseBufferSize: u32) -> u32; - pub fn VR_IVRCameraAccess_GetCameraCount( ) -> u32; - pub fn VR_IVRCameraAccess_GetCameraId( unCameraIndex: u32, pchBuffer: *const u8, unBufferLen: u32) -> u32; - pub fn VR_IVRCameraAccess_EnableCamera( unCameraIndex: u32, bEnabled: bool) -> bool; - pub fn VR_IVRCameraAccess_GetCameraInfo( unCameraIndex: u32, pCameraInfo: CameraInfo_t) -> bool; - pub fn VR_IVRCameraAccess_GetCameraImage( unCameraIndex: u32, pCameraImage: CameraImage_t) -> bool; - pub fn VR_IVRChaperone_GetCalibrationState( ) -> ChaperoneCalibrationState; - pub fn VR_IVRChaperone_GetSoftBoundsInfo( pInfo: ChaperoneSoftBoundsInfo_t) -> bool; - pub fn VR_IVRChaperone_GetHardBoundsInfo( pQuadsBuffer: HmdQuad_t, punQuadsCount: *mut u32) -> bool; - pub fn VR_IVRChaperone_GetSeatedBoundsInfo( pInfo: ChaperoneSeatedBoundsInfo_t) -> bool; - pub fn VR_IVRChaperoneSetup_CommitWorkingCopy( pchCalibrationName: *const u8) -> bool; - pub fn VR_IVRChaperoneSetup_RevertWorkingCopy( ) ; - pub fn VR_IVRChaperoneSetup_GetWorkingSoftBoundsInfo( pInfo: ChaperoneSoftBoundsInfo_t) -> bool; - pub fn VR_IVRChaperoneSetup_GetWorkingHardBoundsInfo( pQuadsBuffer: HmdQuad_t, punQuadsCount: *mut u32) -> bool; - pub fn VR_IVRChaperoneSetup_GetWorkingSeatedZeroPoseToRawTrackingPose( pmatSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t) -> bool; - pub fn VR_IVRChaperoneSetup_GetWorkingStandingZeroPoseToRawTrackingPose( pmatStandingZeroPoseToRawTrackingPose: HmdMatrix34_t) -> bool; - pub fn VR_IVRChaperoneSetup_SetWorkingSoftBoundsInfo( pInfo: ChaperoneSoftBoundsInfo_t) ; - pub fn VR_IVRChaperoneSetup_SetWorkingHardBoundsInfo( pQuadsBuffer: HmdQuad_t, unQuadsCount: u32) ; - pub fn VR_IVRChaperoneSetup_SetWorkingSeatedZeroPoseToRawTrackingPose( matSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t) ; - pub fn VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose( matStandingZeroPoseToRawTrackingPose: HmdMatrix34_t) ; - pub fn VR_IVRChaperoneSetup_GetWorkingTagPoses( pTagPosesBuffer: HmdMatrix34_t, punTagPosesCount: *mut u32) -> bool; - pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseScales( pflScaleBuffer: *mut f32, punTagPosesCount: *mut u32) -> bool; - pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseNameByIndex( nIndex: u32, pchBuffer: *const u8, unBufferSize: u32) -> u32; - pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseByName( pchTagName: *const u8, pmatTagPose: HmdMatrix34_t, pflScale: *mut f32) -> bool; - pub fn VR_IVRChaperoneSetup_SetWorkingTagPoseByName( pchTagName: *const u8, matSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t, flScale: f32) ; - pub fn VR_IVRChaperoneSetup_RemoveWorkingTagPoseByName( pchTagName: *const u8) ; - pub fn VR_IVRChaperoneSetup_RemoveAllWorkingTagPoses( ) ; - pub fn VR_IVRChaperoneSetup_ReloadFromDisk( ) ; - pub fn VR_IVRCompositor_GetLastError( pchBuffer: *const u8, unBufferSize: u32) -> u32; - pub fn VR_IVRCompositor_SetVSync( bVSync: bool) ; - pub fn VR_IVRCompositor_GetVSync( ) -> bool; - pub fn VR_IVRCompositor_SetGamma( fGamma: f32) ; - pub fn VR_IVRCompositor_GetGamma( ) -> f32; - pub fn VR_IVRCompositor_SetGraphicsDevice( eType: Compositor_DeviceType, pDevice: *mut ()) ; - pub fn VR_IVRCompositor_WaitGetPoses( pRenderPoseArray: TrackedDevicePose_t, unRenderPoseArrayCount: u32, pGamePoseArray: TrackedDevicePose_t, unGamePoseArrayCount: u32) -> VRCompositorError; - pub fn VR_IVRCompositor_Submit( eEye: Hmd_Eye, pTexture: *mut (), pBounds: VRTextureBounds_t) -> VRCompositorError; - pub fn VR_IVRCompositor_ClearLastSubmittedFrame( ) ; - pub fn VR_IVRCompositor_GetFrameTiming( pTiming: Compositor_FrameTiming, unFramesAgo: u32) -> bool; - pub fn VR_IVRCompositor_FadeToColor( fSeconds: f32, fRed: f32, fGreen: f32, fBlue: f32, fAlpha: f32, bBackground: bool) ; - pub fn VR_IVRCompositor_FadeGrid( fSeconds: f32, bFadeIn: bool) ; - pub fn VR_IVRCompositor_CompositorBringToFront( ) ; - pub fn VR_IVRCompositor_CompositorGoToBack( ) ; - pub fn VR_IVRCompositor_CompositorQuit( ) ; - pub fn VR_IVRCompositor_IsFullscreen( ) -> bool; - pub fn VR_IVRCompositor_SetTrackingSpace( eOrigin: TrackingUniverseOrigin) ; - pub fn VR_IVRCompositor_GetTrackingSpace( ) -> TrackingUniverseOrigin; - pub fn VR_IVRCompositor_GetCurrentSceneFocusProcess( ) -> u32; - pub fn VR_IVRCompositor_CanRenderScene( ) -> bool; - pub fn VR_IVROverlay_FindOverlay( pchOverlayKey: *const u8, pOverlayHandle: *mut VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_CreateOverlay( pchOverlayKey: *const u8, pchOverlayFriendlyName: *const u8, pOverlayHandle: *mut VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_DestroyOverlay( ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_SetHighQualityOverlay( ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_GetHighQualityOverlay( ) -> VROverlayHandle_t; - pub fn VR_IVROverlay_GetOverlayErrorNameFromEnum( error: VROverlayError) -> *const u8; - pub fn VR_IVROverlay_SetOverlayFlag( ulOverlayHandle: VROverlayHandle_t, eOverlayFlag: VROverlayFlags, bEnabled: bool) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayFlag( ulOverlayHandle: VROverlayHandle_t, eOverlayFlag: VROverlayFlags, pbEnabled: *mut bool) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayAlpha( ulOverlayHandle: VROverlayHandle_t, fAlpha: f32) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayAlpha( ulOverlayHandle: VROverlayHandle_t, pfAlpha: *mut f32) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayGamma( ulOverlayHandle: VROverlayHandle_t, fGamma: f32) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayGamma( ulOverlayHandle: VROverlayHandle_t, pfGamma: *mut f32) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayWidthInMeters( ulOverlayHandle: VROverlayHandle_t, fWidthInMeters: f32) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayWidthInMeters( ulOverlayHandle: VROverlayHandle_t, pfWidthInMeters: *mut f32) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayTextureBounds( ulOverlayHandle: VROverlayHandle_t, pOverlayTextureBounds: VRTextureBounds_t) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayTextureBounds( ulOverlayHandle: VROverlayHandle_t, pOverlayTextureBounds: VRTextureBounds_t) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayTransformType( ulOverlayHandle: VROverlayHandle_t, peTransformType: *mut VROverlayTransformType) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayTransformAbsolute( ulOverlayHandle: VROverlayHandle_t, eTrackingOrigin: TrackingUniverseOrigin, pmatTrackingOriginToOverlayTransform: HmdMatrix34_t) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayTransformAbsolute( ulOverlayHandle: VROverlayHandle_t, peTrackingOrigin: *mut TrackingUniverseOrigin, pmatTrackingOriginToOverlayTransform: HmdMatrix34_t) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayTransformTrackedDeviceRelative( ulOverlayHandle: VROverlayHandle_t, unTrackedDevice: TrackedDeviceIndex_t, pmatTrackedDeviceToOverlayTransform: HmdMatrix34_t) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayTransformTrackedDeviceRelative( ulOverlayHandle: VROverlayHandle_t, punTrackedDevice: *mut TrackedDeviceIndex_t, pmatTrackedDeviceToOverlayTransform: HmdMatrix34_t) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayVisibility( ulOverlayHandle: VROverlayHandle_t, peOverlayVisibility: *mut VROverlayVisibility) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayVisibility( ulOverlayHandle: VROverlayHandle_t, eOverlayVisibility: VROverlayVisibility) -> VROverlayError; - pub fn VR_IVROverlay_ShowOverlay( ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_HideOverlay( ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; - pub fn VR_IVROverlay_IsOverlayVisible( ulOverlayHandle: VROverlayHandle_t) -> bool; - pub fn VR_IVROverlay_PollNextOverlayEvent( ulOverlayHandle: VROverlayHandle_t, pEvent: VREvent_t) -> bool; - pub fn VR_IVROverlay_GetOverlayInputMethod( ulOverlayHandle: VROverlayHandle_t, peInputMethod: *mut VROverlayInputMethod) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayInputMethod( ulOverlayHandle: VROverlayHandle_t, eInputMethod: VROverlayInputMethod) -> VROverlayError; - pub fn VR_IVROverlay_GetOverlayMouseScale( ulOverlayHandle: VROverlayHandle_t, pvecMouseScale: HmdVector2_t) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayMouseScale( ulOverlayHandle: VROverlayHandle_t, pvecMouseScale: HmdVector2_t) -> VROverlayError; - pub fn VR_IVROverlay_ComputeOverlayIntersection( ulOverlayHandle: VROverlayHandle_t, pParams: VROverlayIntersectionParams_t, pResults: VROverlayIntersectionResults_t) -> bool; - pub fn VR_IVROverlay_HandleControllerOverlayInteractionAsMouse( ulOverlayHandle: VROverlayHandle_t, unControllerDeviceIndex: TrackedDeviceIndex_t) -> bool; - pub fn VR_IVROverlay_SetOverlayTexture( ulOverlayHandle: VROverlayHandle_t, pTexture: *mut ()) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayRaw( ulOverlayHandle: VROverlayHandle_t, pvBuffer: *mut (), unWidth: u32, unHeight: u32, unDepth: u32) -> VROverlayError; - pub fn VR_IVROverlay_SetOverlayFromFile( ulOverlayHandle: VROverlayHandle_t, pchFilePath: *const u8) -> VROverlayError; - pub fn VR_IVROverlay_IsSystemOverlayVisible( ) -> bool; - pub fn VR_IVROverlay_IsActiveSystemOverlay( ulOverlayHandle: VROverlayHandle_t) -> bool; - pub fn VR_IVROverlay_SetSystemOverlaySceneProcess( ulOverlayHandle: VROverlayHandle_t, unProcessId: u32) -> VROverlayError; - pub fn VR_IVROverlay_GetSystemOverlaySceneProcess( ulOverlayHandle: VROverlayHandle_t, punProcessId: *mut u32) -> VROverlayError; - pub fn VR_IVRRenderModels_LoadRenderModel( pchRenderModelName: *const u8, pRenderModel: RenderModel_t) -> bool; - pub fn VR_IVRRenderModels_FreeRenderModel( pRenderModel: RenderModel_t) ; - pub fn VR_IVRRenderModels_GetRenderModelName( unRenderModelIndex: u32, pchRenderModelName: *const u8, unRenderModelNameLen: u32) -> u32; - pub fn VR_IVRRenderModels_GetRenderModelCount( ) -> u32; - pub fn VR_IVRNotifications_GetLastError( pchBuffer: *const u8, unBufferSize: u32) -> u32; - pub fn VR_IVRNotifications_NotificationStart( _type: *const u8, texture: NotificationBitmap, notificationId: *mut VRNotificationId) -> bool; - pub fn VR_IVRNotifications_UpdateTexture( notificationId: VRNotificationId, texture: NotificationBitmap) -> bool; - pub fn VR_IVRNotifications_UpdateBitmap( notificationId: VRNotificationId, texture: NotificationBitmap) -> bool; - pub fn VR_IVRNotifications_GetPointerLocation( notificationId: VRNotificationId, pointerActive: *mut bool, pointerX: *mut i32, pointerY: *mut i32) -> bool; - pub fn VR_IVRNotifications_DismissNotification( notificationId: VRNotificationId) -> bool; + pub fn VR_IVRSystem_GetWindowBounds(usize, pnX: *mut i32, pnY: *mut i32, pnWidth: *mut u32, pnHeight: *mut u32) ; + pub fn VR_IVRSystem_GetRecommendedRenderTargetSize(usize, pnWidth: *mut u32, pnHeight: *mut u32) ; + pub fn VR_IVRSystem_GetEyeOutputViewport(usize, eEye: Hmd_Eye, pnX: *mut u32, pnY: *mut u32, pnWidth: *mut u32, pnHeight: *mut u32) ; + pub fn VR_IVRSystem_GetProjectionMatrix(usize, eEye: Hmd_Eye, fNearZ: f32, fFarZ: f32, eProjType: GraphicsAPIConvention) -> HmdMatrix44_t; + pub fn VR_IVRSystem_GetProjectionRaw(usize, eEye: Hmd_Eye, pfLeft: *mut f32, pfRight: *mut f32, pfTop: *mut f32, pfBottom: *mut f32) ; + pub fn VR_IVRSystem_ComputeDistortion(usize, eEye: Hmd_Eye, fU: f32, fV: f32) -> DistortionCoordinates_t; + pub fn VR_IVRSystem_GetEyeToHeadTransform(usize, eEye: Hmd_Eye) -> HmdMatrix34_t; + pub fn VR_IVRSystem_GetTimeSinceLastVsync(usize, pfSecondsSinceLastVsync: *mut f32, pulFrameCounter: *mut u64) -> bool; + pub fn VR_IVRSystem_GetD3D9AdapterIndex(usize, ) -> i32; + pub fn VR_IVRSystem_GetDXGIOutputInfo(usize, pnAdapterIndex: *mut i32, pnAdapterOutputIndex: *mut i32) ; + pub fn VR_IVRSystem_AttachToWindow(usize, hWnd: *mut ()) -> bool; + pub fn VR_IVRSystem_GetDeviceToAbsoluteTrackingPose(usize, eOrigin: TrackingUniverseOrigin, fPredictedSecondsToPhotonsFromNow: f32, pTrackedDevicePoseArray: TrackedDevicePose_t, unTrackedDevicePoseArrayCount: u32) ; + pub fn VR_IVRSystem_ResetSeatedZeroPose(usize, ) ; + pub fn VR_IVRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(usize, ) -> HmdMatrix34_t; + pub fn VR_IVRSystem_GetTrackedDeviceClass(usize, unDeviceIndex: TrackedDeviceIndex_t) -> TrackedDeviceClass; + pub fn VR_IVRSystem_IsTrackedDeviceConnected(usize, unDeviceIndex: TrackedDeviceIndex_t) -> bool; + pub fn VR_IVRSystem_GetBoolTrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> bool; + pub fn VR_IVRSystem_GetFloatTrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> f32; + pub fn VR_IVRSystem_GetInt32TrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> i32; + pub fn VR_IVRSystem_GetUint64TrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> u64; + pub fn VR_IVRSystem_GetMatrix34TrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pError: *mut TrackedPropertyError) -> HmdMatrix34_t; + pub fn VR_IVRSystem_GetStringTrackedDeviceProperty(usize, unDeviceIndex: TrackedDeviceIndex_t, prop: TrackedDeviceProperty, pchValue: *const u8, unBufferSize: u32, pError: *mut TrackedPropertyError) -> u32; + pub fn VR_IVRSystem_GetPropErrorNameFromEnum(usize, error: TrackedPropertyError) -> *const u8; + pub fn VR_IVRSystem_PollNextEvent(usize, pEvent: VREvent_t) -> bool; + pub fn VR_IVRSystem_PollNextEventWithPose(usize, eOrigin: TrackingUniverseOrigin, pEvent: *mut VREvent_t, pTrackedDevicePose: *mut TrackedDevicePose_t) -> bool; + pub fn VR_IVRSystem_GetEventTypeNameFromEnum(usize, eType: EVREventType) -> *const u8; + pub fn VR_IVRSystem_GetHiddenAreaMesh(usize, eEye: Hmd_Eye) -> HiddenAreaMesh_t; + pub fn VR_IVRSystem_GetControllerState(usize, unControllerDeviceIndex: TrackedDeviceIndex_t, pControllerState: *mut VRControllerState_t) -> bool; + pub fn VR_IVRSystem_GetControllerStateWithPose(usize, eOrigin: TrackingUniverseOrigin, unControllerDeviceIndex: TrackedDeviceIndex_t, pControllerState: *mut VRControllerState_t, pTrackedDevicePose: TrackedDevicePose_t) -> bool; + pub fn VR_IVRSystem_TriggerHapticPulse(usize, unControllerDeviceIndex: TrackedDeviceIndex_t, unAxisId: u32, usDurationMicroSec: u16) ; + pub fn VR_IVRSystem_GetButtonIdNameFromEnum(usize, eButtonId: EVRButtonId) -> *const u8; + pub fn VR_IVRSystem_GetControllerAxisTypeNameFromEnum(usize, eAxisType: EVRControllerAxisType) -> *const u8; + pub fn VR_IVRSystem_CaptureInputFocus(usize, ) -> bool; + pub fn VR_IVRSystem_ReleaseInputFocus(usize, ) ; + pub fn VR_IVRSystem_IsInputFocusCapturedByAnotherProcess(usize, ) -> bool; + pub fn VR_IVRSystem_DriverDebugRequest(usize, unDeviceIndex: TrackedDeviceIndex_t, pchRequest: *const u8, pchResponseBuffer: *const u8, unResponseBufferSize: u32) -> u32; + pub fn VR_IVRCameraAccess_GetCameraCount(usize, ) -> u32; + pub fn VR_IVRCameraAccess_GetCameraId(usize, unCameraIndex: u32, pchBuffer: *const u8, unBufferLen: u32) -> u32; + pub fn VR_IVRCameraAccess_EnableCamera(usize, unCameraIndex: u32, bEnabled: bool) -> bool; + pub fn VR_IVRCameraAccess_GetCameraInfo(usize, unCameraIndex: u32, pCameraInfo: CameraInfo_t) -> bool; + pub fn VR_IVRCameraAccess_GetCameraImage(usize, unCameraIndex: u32, pCameraImage: CameraImage_t) -> bool; + pub fn VR_IVRChaperone_GetCalibrationState(usize, ) -> ChaperoneCalibrationState; + pub fn VR_IVRChaperone_GetSoftBoundsInfo(usize, pInfo: ChaperoneSoftBoundsInfo_t) -> bool; + pub fn VR_IVRChaperone_GetHardBoundsInfo(usize, pQuadsBuffer: HmdQuad_t, punQuadsCount: *mut u32) -> bool; + pub fn VR_IVRChaperone_GetSeatedBoundsInfo(usize, pInfo: ChaperoneSeatedBoundsInfo_t) -> bool; + pub fn VR_IVRChaperoneSetup_CommitWorkingCopy(usize, pchCalibrationName: *const u8) -> bool; + pub fn VR_IVRChaperoneSetup_RevertWorkingCopy(usize, ) ; + pub fn VR_IVRChaperoneSetup_GetWorkingSoftBoundsInfo(usize, pInfo: ChaperoneSoftBoundsInfo_t) -> bool; + pub fn VR_IVRChaperoneSetup_GetWorkingHardBoundsInfo(usize, pQuadsBuffer: HmdQuad_t, punQuadsCount: *mut u32) -> bool; + pub fn VR_IVRChaperoneSetup_GetWorkingSeatedZeroPoseToRawTrackingPose(usize, pmatSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t) -> bool; + pub fn VR_IVRChaperoneSetup_GetWorkingStandingZeroPoseToRawTrackingPose(usize, pmatStandingZeroPoseToRawTrackingPose: HmdMatrix34_t) -> bool; + pub fn VR_IVRChaperoneSetup_SetWorkingSoftBoundsInfo(usize, pInfo: ChaperoneSoftBoundsInfo_t) ; + pub fn VR_IVRChaperoneSetup_SetWorkingHardBoundsInfo(usize, pQuadsBuffer: HmdQuad_t, unQuadsCount: u32) ; + pub fn VR_IVRChaperoneSetup_SetWorkingSeatedZeroPoseToRawTrackingPose(usize, matSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t) ; + pub fn VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose(usize, matStandingZeroPoseToRawTrackingPose: HmdMatrix34_t) ; + pub fn VR_IVRChaperoneSetup_GetWorkingTagPoses(usize, pTagPosesBuffer: HmdMatrix34_t, punTagPosesCount: *mut u32) -> bool; + pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseScales(usize, pflScaleBuffer: *mut f32, punTagPosesCount: *mut u32) -> bool; + pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseNameByIndex(usize, nIndex: u32, pchBuffer: *const u8, unBufferSize: u32) -> u32; + pub fn VR_IVRChaperoneSetup_GetWorkingTagPoseByName(usize, pchTagName: *const u8, pmatTagPose: HmdMatrix34_t, pflScale: *mut f32) -> bool; + pub fn VR_IVRChaperoneSetup_SetWorkingTagPoseByName(usize, pchTagName: *const u8, matSeatedZeroPoseToRawTrackingPose: HmdMatrix34_t, flScale: f32) ; + pub fn VR_IVRChaperoneSetup_RemoveWorkingTagPoseByName(usize, pchTagName: *const u8) ; + pub fn VR_IVRChaperoneSetup_RemoveAllWorkingTagPoses(usize, ) ; + pub fn VR_IVRChaperoneSetup_ReloadFromDisk(usize, ) ; + pub fn VR_IVRCompositor_GetLastError(usize, pchBuffer: *const u8, unBufferSize: u32) -> u32; + pub fn VR_IVRCompositor_SetVSync(usize, bVSync: bool) ; + pub fn VR_IVRCompositor_GetVSync(usize, ) -> bool; + pub fn VR_IVRCompositor_SetGamma(usize, fGamma: f32) ; + pub fn VR_IVRCompositor_GetGamma(usize, ) -> f32; + pub fn VR_IVRCompositor_SetGraphicsDevice(usize, eType: Compositor_DeviceType, pDevice: *mut ()) ; + pub fn VR_IVRCompositor_WaitGetPoses(usize, pRenderPoseArray: TrackedDevicePose_t, unRenderPoseArrayCount: u32, pGamePoseArray: TrackedDevicePose_t, unGamePoseArrayCount: u32) -> VRCompositorError; + pub fn VR_IVRCompositor_Submit(usize, eEye: Hmd_Eye, pTexture: *mut (), pBounds: VRTextureBounds_t) -> VRCompositorError; + pub fn VR_IVRCompositor_ClearLastSubmittedFrame(usize, ) ; + pub fn VR_IVRCompositor_GetFrameTiming(usize, pTiming: Compositor_FrameTiming, unFramesAgo: u32) -> bool; + pub fn VR_IVRCompositor_FadeToColor(usize, fSeconds: f32, fRed: f32, fGreen: f32, fBlue: f32, fAlpha: f32, bBackground: bool) ; + pub fn VR_IVRCompositor_FadeGrid(usize, fSeconds: f32, bFadeIn: bool) ; + pub fn VR_IVRCompositor_CompositorBringToFront(usize, ) ; + pub fn VR_IVRCompositor_CompositorGoToBack(usize, ) ; + pub fn VR_IVRCompositor_CompositorQuit(usize, ) ; + pub fn VR_IVRCompositor_IsFullscreen(usize, ) -> bool; + pub fn VR_IVRCompositor_SetTrackingSpace(usize, eOrigin: TrackingUniverseOrigin) ; + pub fn VR_IVRCompositor_GetTrackingSpace(usize, ) -> TrackingUniverseOrigin; + pub fn VR_IVRCompositor_GetCurrentSceneFocusProcess(usize, ) -> u32; + pub fn VR_IVRCompositor_CanRenderScene(usize, ) -> bool; + pub fn VR_IVROverlay_FindOverlay(usize, pchOverlayKey: *const u8, pOverlayHandle: *mut VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_CreateOverlay(usize, pchOverlayKey: *const u8, pchOverlayFriendlyName: *const u8, pOverlayHandle: *mut VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_DestroyOverlay(usize, ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_SetHighQualityOverlay(usize, ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_GetHighQualityOverlay(usize, ) -> VROverlayHandle_t; + pub fn VR_IVROverlay_GetOverlayErrorNameFromEnum(usize, error: VROverlayError) -> *const u8; + pub fn VR_IVROverlay_SetOverlayFlag(usize, ulOverlayHandle: VROverlayHandle_t, eOverlayFlag: VROverlayFlags, bEnabled: bool) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayFlag(usize, ulOverlayHandle: VROverlayHandle_t, eOverlayFlag: VROverlayFlags, pbEnabled: *mut bool) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayAlpha(usize, ulOverlayHandle: VROverlayHandle_t, fAlpha: f32) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayAlpha(usize, ulOverlayHandle: VROverlayHandle_t, pfAlpha: *mut f32) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayGamma(usize, ulOverlayHandle: VROverlayHandle_t, fGamma: f32) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayGamma(usize, ulOverlayHandle: VROverlayHandle_t, pfGamma: *mut f32) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayWidthInMeters(usize, ulOverlayHandle: VROverlayHandle_t, fWidthInMeters: f32) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayWidthInMeters(usize, ulOverlayHandle: VROverlayHandle_t, pfWidthInMeters: *mut f32) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayTextureBounds(usize, ulOverlayHandle: VROverlayHandle_t, pOverlayTextureBounds: VRTextureBounds_t) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayTextureBounds(usize, ulOverlayHandle: VROverlayHandle_t, pOverlayTextureBounds: VRTextureBounds_t) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayTransformType(usize, ulOverlayHandle: VROverlayHandle_t, peTransformType: *mut VROverlayTransformType) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayTransformAbsolute(usize, ulOverlayHandle: VROverlayHandle_t, eTrackingOrigin: TrackingUniverseOrigin, pmatTrackingOriginToOverlayTransform: HmdMatrix34_t) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayTransformAbsolute(usize, ulOverlayHandle: VROverlayHandle_t, peTrackingOrigin: *mut TrackingUniverseOrigin, pmatTrackingOriginToOverlayTransform: HmdMatrix34_t) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayTransformTrackedDeviceRelative(usize, ulOverlayHandle: VROverlayHandle_t, unTrackedDevice: TrackedDeviceIndex_t, pmatTrackedDeviceToOverlayTransform: HmdMatrix34_t) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayTransformTrackedDeviceRelative(usize, ulOverlayHandle: VROverlayHandle_t, punTrackedDevice: *mut TrackedDeviceIndex_t, pmatTrackedDeviceToOverlayTransform: HmdMatrix34_t) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayVisibility(usize, ulOverlayHandle: VROverlayHandle_t, peOverlayVisibility: *mut VROverlayVisibility) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayVisibility(usize, ulOverlayHandle: VROverlayHandle_t, eOverlayVisibility: VROverlayVisibility) -> VROverlayError; + pub fn VR_IVROverlay_ShowOverlay(usize, ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_HideOverlay(usize, ulOverlayHandle: VROverlayHandle_t) -> VROverlayError; + pub fn VR_IVROverlay_IsOverlayVisible(usize, ulOverlayHandle: VROverlayHandle_t) -> bool; + pub fn VR_IVROverlay_PollNextOverlayEvent(usize, ulOverlayHandle: VROverlayHandle_t, pEvent: VREvent_t) -> bool; + pub fn VR_IVROverlay_GetOverlayInputMethod(usize, ulOverlayHandle: VROverlayHandle_t, peInputMethod: *mut VROverlayInputMethod) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayInputMethod(usize, ulOverlayHandle: VROverlayHandle_t, eInputMethod: VROverlayInputMethod) -> VROverlayError; + pub fn VR_IVROverlay_GetOverlayMouseScale(usize, ulOverlayHandle: VROverlayHandle_t, pvecMouseScale: HmdVector2_t) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayMouseScale(usize, ulOverlayHandle: VROverlayHandle_t, pvecMouseScale: HmdVector2_t) -> VROverlayError; + pub fn VR_IVROverlay_ComputeOverlayIntersection(usize, ulOverlayHandle: VROverlayHandle_t, pParams: VROverlayIntersectionParams_t, pResults: VROverlayIntersectionResults_t) -> bool; + pub fn VR_IVROverlay_HandleControllerOverlayInteractionAsMouse(usize, ulOverlayHandle: VROverlayHandle_t, unControllerDeviceIndex: TrackedDeviceIndex_t) -> bool; + pub fn VR_IVROverlay_SetOverlayTexture(usize, ulOverlayHandle: VROverlayHandle_t, pTexture: *mut ()) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayRaw(usize, ulOverlayHandle: VROverlayHandle_t, pvBuffer: *mut (), unWidth: u32, unHeight: u32, unDepth: u32) -> VROverlayError; + pub fn VR_IVROverlay_SetOverlayFromFile(usize, ulOverlayHandle: VROverlayHandle_t, pchFilePath: *const u8) -> VROverlayError; + pub fn VR_IVROverlay_IsSystemOverlayVisible(usize, ) -> bool; + pub fn VR_IVROverlay_IsActiveSystemOverlay(usize, ulOverlayHandle: VROverlayHandle_t) -> bool; + pub fn VR_IVROverlay_SetSystemOverlaySceneProcess(usize, ulOverlayHandle: VROverlayHandle_t, unProcessId: u32) -> VROverlayError; + pub fn VR_IVROverlay_GetSystemOverlaySceneProcess(usize, ulOverlayHandle: VROverlayHandle_t, punProcessId: *mut u32) -> VROverlayError; + pub fn VR_IVRRenderModels_LoadRenderModel(usize, pchRenderModelName: *const u8, pRenderModel: RenderModel_t) -> bool; + pub fn VR_IVRRenderModels_FreeRenderModel(usize, pRenderModel: RenderModel_t) ; + pub fn VR_IVRRenderModels_GetRenderModelName(usize, unRenderModelIndex: u32, pchRenderModelName: *const u8, unRenderModelNameLen: u32) -> u32; + pub fn VR_IVRRenderModels_GetRenderModelCount(usize, ) -> u32; + pub fn VR_IVRNotifications_GetLastError(usize, pchBuffer: *const u8, unBufferSize: u32) -> u32; + pub fn VR_IVRNotifications_NotificationStart(usize, _type: *const u8, texture: NotificationBitmap, notificationId: *mut VRNotificationId) -> bool; + pub fn VR_IVRNotifications_UpdateTexture(usize, notificationId: VRNotificationId, texture: NotificationBitmap) -> bool; + pub fn VR_IVRNotifications_UpdateBitmap(usize, notificationId: VRNotificationId, texture: NotificationBitmap) -> bool; + pub fn VR_IVRNotifications_GetPointerLocation(usize, notificationId: VRNotificationId, pointerActive: *mut bool, pointerX: *mut i32, pointerY: *mut i32) -> bool; + pub fn VR_IVRNotifications_DismissNotification(usize, notificationId: VRNotificationId) -> bool; }