Merge pull request #298 from OpenVR-Advanced-Settings/seated-debug

Seated debug
This commit is contained in:
Kung-vr
2019-10-22 00:34:52 +09:00
committed by GitHub
5 changed files with 91 additions and 20 deletions
+21 -17
View File
@@ -530,11 +530,12 @@ MyStackViewPage {
if (MoveCenterTabController.trackingUniverse === 0) { if (MoveCenterTabController.trackingUniverse === 0) {
spaceModeText.text = "Sitting" spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion offsetsGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion rotationGroupBox.visible = boolEnableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion resetButtonRow.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
} else if (MoveCenterTabController.trackingUniverse === 1) { } else if (MoveCenterTabController.trackingUniverse === 1) {
spaceModeText.text = "Standing" spaceModeText.text = "Standing"
@@ -570,8 +571,9 @@ MyStackViewPage {
spaceRotationSlider.value = ( MoveCenterTabController.rotation / 100 ) spaceRotationSlider.value = ( MoveCenterTabController.rotation / 100 )
} }
onTempRotationChanged: { onTempRotationChanged: {
spaceRotationSlider.value = ( MoveCenterTabController.tempRotation / 100 ) var intTempRotation = MoveCenterTabController.tempRotation
spaceRotationText.text = ( MoveCenterTabController.tempRotation / 100 ) + "°" spaceRotationSlider.value = ( intTempRotation / 100 )
spaceRotationText.text = ( intTempRotation / 100 ) + "°"
} }
onAdjustChaperoneChanged: { onAdjustChaperoneChanged: {
spaceAdjustChaperoneToggle.checked = MoveCenterTabController.adjustChaperone spaceAdjustChaperoneToggle.checked = MoveCenterTabController.adjustChaperone
@@ -589,22 +591,24 @@ MyStackViewPage {
if (MoveCenterTabController.trackingUniverse === 0) { if (MoveCenterTabController.trackingUniverse === 0) {
spaceModeText.text = "Sitting" spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion offsetsGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion rotationGroupBox.visible = boolEnableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion resetButtonRow.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
} }
} }
onTrackingUniverseChanged: { onTrackingUniverseChanged: {
if (MoveCenterTabController.trackingUniverse === 0) { if (MoveCenterTabController.trackingUniverse === 0) {
spaceModeText.text = "Sitting" spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion offsetsGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion rotationGroupBox.visible = boolEnableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion resetButtonRow.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
} else if (MoveCenterTabController.trackingUniverse === 1) { } else if (MoveCenterTabController.trackingUniverse === 1) {
spaceModeText.text = "Standing" spaceModeText.text = "Standing"
spaceSeatedRecenter.visible = false spaceSeatedRecenter.visible = false
+18
View File
@@ -165,6 +165,24 @@ MyStackViewPage {
Layout.fillHeight: true Layout.fillHeight: true
} }
RowLayout {
Layout.fillWidth: true
// set visible to true here in builds when we need a debug toggle checkbox, otherwise false when on master branch.
visible: false
Item {
Layout.fillWidth: true
}
MyToggleButton {
id: debugToggle
text: "Debug"
onCheckedChanged: {
OverlayController.setEnableDebug(checked, true)
}
}
}
Component.onCompleted: { Component.onCompleted: {
settingsAutoStartToggle.checked = SettingsTabController.autoStartEnabled settingsAutoStartToggle.checked = SettingsTabController.autoStartEnabled
@@ -632,7 +632,7 @@ void ChaperoneTabController::eventLoopTick(
if ( m_updateTicksChaperoneReload >= 500 ) if ( m_updateTicksChaperoneReload >= 500 )
{ {
m_updateTicksChaperoneReload = 0; m_updateTicksChaperoneReload = 0;
LOG( WARNING ) << "Attempting to Reloading Chaperone Data"; LOG( WARNING ) << "Attempting to reload chaperone data";
parent->chaperoneUtils().loadChaperoneData(); parent->chaperoneUtils().loadChaperoneData();
} }
} }
+44 -1
View File
@@ -158,6 +158,11 @@ void MoveCenterTabController::initStage1()
{ {
m_enableSeatedMotion = value.toBool(); m_enableSeatedMotion = value.toBool();
} }
value = settings->value( "simpleRecenter", m_simpleRecenter );
if ( value.isValid() && !value.isNull() )
{
m_simpleRecenter = value.toBool();
}
settings->endGroup(); settings->endGroup();
reloadOffsetProfiles(); reloadOffsetProfiles();
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now(); m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
@@ -351,6 +356,10 @@ void MoveCenterTabController::outputLogSettings()
{ {
LOG( INFO ) << "LOADED SETTINGS: Seated Motion Enabled"; LOG( INFO ) << "LOADED SETTINGS: Seated Motion Enabled";
} }
if ( m_simpleRecenter )
{
LOG( INFO ) << "LOADED SETTINGS: Simple Recenter Enabled";
}
if ( m_dragBounds ) if ( m_dragBounds )
{ {
LOG( INFO ) << "LOADED SETTINGS: Space Drag Force Bounds Enabled"; LOG( INFO ) << "LOADED SETTINGS: Space Drag Force Bounds Enabled";
@@ -1207,6 +1216,27 @@ void MoveCenterTabController::setEnableSeatedMotion( bool value, bool notify )
<< m_enableSeatedMotion; << m_enableSeatedMotion;
} }
bool MoveCenterTabController::simpleRecenter() const
{
return m_simpleRecenter;
}
void MoveCenterTabController::setSimpleRecenter( bool value, bool notify )
{
m_simpleRecenter = value;
auto settings = OverlayController::appSettings();
settings->beginGroup( "playspaceSettings" );
settings->setValue( "simpleRecenter", m_simpleRecenter );
settings->endGroup();
settings->sync();
if ( notify )
{
emit simpleRecenterChanged( m_simpleRecenter );
}
LOG( INFO ) << "CHANGED SETTINGS: Simple Recenter Set: "
<< m_simpleRecenter;
}
void MoveCenterTabController::modOffsetX( float value, bool notify ) void MoveCenterTabController::modOffsetX( float value, bool notify )
{ {
if ( !m_lockXToggle ) if ( !m_lockXToggle )
@@ -1253,7 +1283,18 @@ void MoveCenterTabController::incomingSeatedReset()
{ {
if ( m_enableSeatedMotion ) if ( m_enableSeatedMotion )
{ {
updateSeatedResetData(); // if we didn't send the request from OVRAS, we need to send another
// ResetSeatedZeroPose(). It seems that only after this is sent from
// OVRAS does ReloadFromDisk return valid info on WMR.
if ( !m_selfRequestedSeatedRecenter && !m_simpleRecenter )
{
m_selfRequestedSeatedRecenter = true;
vr::VRSystem()->ResetSeatedZeroPose();
}
else
{
updateSeatedResetData();
}
} }
} }
@@ -1479,6 +1520,8 @@ void MoveCenterTabController::updateSeatedResetData()
emit offsetZChanged( m_offsetZ ); emit offsetZChanged( m_offsetZ );
emit rotationChanged( m_rotation ); emit rotationChanged( m_rotation );
vr::VRChaperoneSetup()->ReloadFromDisk( vr::EChaperoneConfigFile_Live ); vr::VRChaperoneSetup()->ReloadFromDisk( vr::EChaperoneConfigFile_Live );
// done with this recenter, so set self request back to false for next time.
m_selfRequestedSeatedRecenter = false;
// set pending update here, will be processed on next instance of motion or // set pending update here, will be processed on next instance of motion or
// running the reset() function. // running the reset() function.
m_pendingSeatedRecenter = true; m_pendingSeatedRecenter = true;
+7 -1
View File
@@ -100,6 +100,8 @@ class MoveCenterTabController : public QObject
setUniverseCenteredRotation NOTIFY universeCenteredRotationChanged ) setUniverseCenteredRotation NOTIFY universeCenteredRotationChanged )
Q_PROPERTY( bool enableSeatedMotion READ enableSeatedMotion WRITE Q_PROPERTY( bool enableSeatedMotion READ enableSeatedMotion WRITE
setEnableSeatedMotion NOTIFY enableSeatedMotionChanged ) setEnableSeatedMotion NOTIFY enableSeatedMotionChanged )
Q_PROPERTY( bool simpleRecenter READ simpleRecenter WRITE setSimpleRecenter
NOTIFY simpleRecenterChanged )
private: private:
OverlayController* parent; OverlayController* parent;
@@ -136,7 +138,6 @@ private:
float m_gravityFloor = 0.0f; float m_gravityFloor = 0.0f;
float m_gravityStrength = 9.8f; float m_gravityStrength = 9.8f;
float m_flingStrength = 1.0f; float m_flingStrength = 1.0f;
float m_seatedHeight = 1.0f;
bool m_momentumSave = false; bool m_momentumSave = false;
bool m_lockXToggle = false; bool m_lockXToggle = false;
bool m_lockYToggle = false; bool m_lockYToggle = false;
@@ -175,6 +176,7 @@ private:
bool m_chaperoneCommitted = true; bool m_chaperoneCommitted = true;
bool m_pendingZeroOffsets = true; bool m_pendingZeroOffsets = true;
bool m_pendingSeatedRecenter = false; bool m_pendingSeatedRecenter = false;
bool m_selfRequestedSeatedRecenter = false;
bool m_dashWasOpenPreviousFrame = false; bool m_dashWasOpenPreviousFrame = false;
bool m_roomSetupModeDetected = false; bool m_roomSetupModeDetected = false;
bool m_seatedModeDetected = false; bool m_seatedModeDetected = false;
@@ -183,6 +185,7 @@ private:
bool m_oldStyleMotion = false; bool m_oldStyleMotion = false;
bool m_universeCenteredRotation = false; bool m_universeCenteredRotation = false;
bool m_enableSeatedMotion = false; bool m_enableSeatedMotion = false;
bool m_simpleRecenter = false;
unsigned settingsUpdateCounter = 0; unsigned settingsUpdateCounter = 0;
int m_hmdRotationStatsUpdateCounter = 0; int m_hmdRotationStatsUpdateCounter = 0;
unsigned m_dragComfortFrameSkipCounter = 0; unsigned m_dragComfortFrameSkipCounter = 0;
@@ -255,6 +258,7 @@ public:
bool oldStyleMotion() const; bool oldStyleMotion() const;
bool universeCenteredRotation() const; bool universeCenteredRotation() const;
bool enableSeatedMotion() const; bool enableSeatedMotion() const;
bool simpleRecenter() const;
bool isInitComplete() const; bool isInitComplete() const;
double getHmdYawTotal(); double getHmdYawTotal();
void resetHmdYawTotal(); void resetHmdYawTotal();
@@ -331,6 +335,7 @@ public slots:
void setOldStyleMotion( bool value, bool notify = true ); void setOldStyleMotion( bool value, bool notify = true );
void setUniverseCenteredRotation( bool value, bool notify = true ); void setUniverseCenteredRotation( bool value, bool notify = true );
void setEnableSeatedMotion( bool value, bool notify = true ); void setEnableSeatedMotion( bool value, bool notify = true );
void setSimpleRecenter( bool value, bool notify = true );
void shutdown(); void shutdown();
void reset(); void reset();
@@ -375,6 +380,7 @@ signals:
void oldStyleMotionChanged( bool value ); void oldStyleMotionChanged( bool value );
void universeCenteredRotationChanged( bool value ); void universeCenteredRotationChanged( bool value );
void enableSeatedMotionChanged( bool value ); void enableSeatedMotionChanged( bool value );
void simpleRecenterChanged( bool value );
void offsetProfilesUpdated(); void offsetProfilesUpdated();
}; };