Skip to content

Commit

Permalink
OpenVR SDK 0.9.18
Browse files Browse the repository at this point in the history
General:
* Added VREvent_Compositor_ChaperoneBoundsShown and VREvent_Compositor_ChaperoneBoundsHidden, which are sent when the chaperone bounds become visible/hidden.
* Added VREvent_SeatedZeroPoseReset, which is sent whenever the user resets the seated zero pose in the dashboard or via the API.

IVROverlay:
* Added new overlay flag, VROverlayFlags_ShowTouchPadScrollWheel, to let you cause a scrollwheel to be draw on the active controller even if it isn't in scroll mode

IVRApplications:
* Added LaunchInternalProcess, which allows an application to switch which process is providing 3D frames for that application without showing any application transition UI.

[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3330105]
  • Loading branch information
JoeLudwig committed Mar 4, 2016
1 parent 6f671fc commit 217ae22
Show file tree
Hide file tree
Showing 19 changed files with 2,561 additions and 2,122 deletions.
Binary file modified bin/linux64/libopenvr_api.so
Binary file not shown.
Binary file modified bin/linux64/libopenvr_api.so.dbg
Binary file not shown.
Binary file modified bin/osx32/libopenvr_api.dylib
Binary file not shown.
Binary file not shown.
Binary file modified bin/win32/openvr_api.dll
Binary file not shown.
Binary file modified bin/win32/openvr_api.pdb
Binary file not shown.
Binary file modified bin/win64/openvr_api.dll
Binary file not shown.
Binary file modified bin/win64/openvr_api.pdb
Binary file not shown.
56 changes: 47 additions & 9 deletions headers/openvr.h
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,7 @@ enum EVREventType
VREvent_ChaperoneUniverseHasChanged = 801,
VREvent_ChaperoneTempDataHasChanged = 802,
VREvent_ChaperoneSettingsHaveChanged = 803,
VREvent_SeatedZeroPoseReset = 804,

VREvent_BackgroundSettingHasChanged = 850,
VREvent_CameraSettingsHaveChanged = 851,
Expand All @@ -427,6 +428,8 @@ enum EVREventType

VREvent_Compositor_MirrorWindowShown = 1400,
VREvent_Compositor_MirrorWindowHidden = 1401,
VREvent_Compositor_ChaperoneBoundsShown = 1410,
VREvent_Compositor_ChaperoneBoundsHidden = 1411,

VREvent_TrackedCamera_StartVideoStream = 1500,
VREvent_TrackedCamera_StopVideoStream = 1501,
Expand Down Expand Up @@ -592,6 +595,11 @@ struct VREvent_PerformanceTest_t
uint32_t m_nFidelityLevel;
};

struct VREvent_SeatedZeroPoseReset_t
{
bool bResetBySystemMenu;
};

/** If you change this you must manually update openvr_interop.cs.py */
typedef union
{
Expand All @@ -608,6 +616,7 @@ typedef union
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 */
Expand Down Expand Up @@ -1077,7 +1086,7 @@ class IVRSystem
* 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, vr::VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0;
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;
Expand Down Expand Up @@ -1340,6 +1349,13 @@ namespace vr

/** 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;
};

static const char * const IVRApplications_Version = "IVRApplications_004";
Expand Down Expand Up @@ -1389,6 +1405,7 @@ namespace vr
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_EnableDistortion_Bool = "enableDistortion";
static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
Expand All @@ -1402,11 +1419,9 @@ namespace vr
static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit";
static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout";
static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout";
static const char * const k_pch_SteamVR_AutomaticDirectModeEnabled_Bool = "automaticDirectModeEnabled";
static const char * const k_pch_SteamVR_RequestDirectModeEnabled_Bool = "requestDirectModeEnabled";
static const char * const k_pch_SteamVR_RequestDirectModeDisabled_Bool = "requestDirectModeDisabled";
static const char * const k_pch_SteamVR_RequestDirectModeEdidVid_Int32 = "requestDirectModeEdidVid";
static const char * const k_pch_SteamVR_RequestDirectModeEdidPid_Int32 = "requestDirectModeEdidPid";
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";

Expand Down Expand Up @@ -1477,6 +1492,14 @@ namespace vr

static const char * const IVRSettings_Version = "IVRSettings_001";

//-----------------------------------------------------------------------------
// 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_OffPlaybackDevice_String = "offPlaybackDevice";
static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice";
static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
} // namespace vr

// ivrchaperone.h
Expand Down Expand Up @@ -1569,6 +1592,11 @@ enum EChaperoneConfigFile
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
Expand Down Expand Up @@ -1634,6 +1662,9 @@ class IVRChaperoneSetup

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";
Expand Down Expand Up @@ -1810,17 +1841,20 @@ class IVRCompositor
/** Closes the mirror window. */
virtual void HideMirrorWindow() = 0;

/** Returns true if the mirror window is shown */
/** 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 */
/** 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;
};

static const char * const IVRCompositor_Version = "IVRCompositor_012";
static const char * const IVRCompositor_Version = "IVRCompositor_013";

} // namespace vr

Expand Down Expand Up @@ -1959,6 +1993,10 @@ namespace vr
// 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,
};

struct VROverlayIntersectionParams_t
Expand Down
Loading

0 comments on commit 217ae22

Please sign in to comment.