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) {
spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion
var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
offsetsGroupBox.visible = boolEnableSeatedMotion
rotationGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = boolEnableSeatedMotion
profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
} else if (MoveCenterTabController.trackingUniverse === 1) {
spaceModeText.text = "Standing"
@@ -570,8 +571,9 @@ MyStackViewPage {
spaceRotationSlider.value = ( MoveCenterTabController.rotation / 100 )
}
onTempRotationChanged: {
spaceRotationSlider.value = ( MoveCenterTabController.tempRotation / 100 )
spaceRotationText.text = ( MoveCenterTabController.tempRotation / 100 ) + "°"
var intTempRotation = MoveCenterTabController.tempRotation
spaceRotationSlider.value = ( intTempRotation / 100 )
spaceRotationText.text = ( intTempRotation / 100 ) + "°"
}
onAdjustChaperoneChanged: {
spaceAdjustChaperoneToggle.checked = MoveCenterTabController.adjustChaperone
@@ -589,22 +591,24 @@ MyStackViewPage {
if (MoveCenterTabController.trackingUniverse === 0) {
spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion
var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
offsetsGroupBox.visible = boolEnableSeatedMotion
rotationGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = boolEnableSeatedMotion
profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
}
}
onTrackingUniverseChanged: {
if (MoveCenterTabController.trackingUniverse === 0) {
spaceModeText.text = "Sitting"
spaceSeatedRecenter.visible = true
offsetsGroupBox.visible = MoveCenterTabController.enableSeatedMotion
rotationGroupBox.visible = MoveCenterTabController.enableSeatedMotion
resetButtonRow.visible = MoveCenterTabController.enableSeatedMotion
profileSection.visible = MoveCenterTabController.enableSeatedMotion
seatedDisableWarningText.visible = !MoveCenterTabController.enableSeatedMotion
var boolEnableSeatedMotion = MoveCenterTabController.enableSeatedMotion
offsetsGroupBox.visible = boolEnableSeatedMotion
rotationGroupBox.visible = boolEnableSeatedMotion
resetButtonRow.visible = boolEnableSeatedMotion
profileSection.visible = boolEnableSeatedMotion
seatedDisableWarningText.visible = !boolEnableSeatedMotion
} else if (MoveCenterTabController.trackingUniverse === 1) {
spaceModeText.text = "Standing"
spaceSeatedRecenter.visible = false
+18
View File
@@ -165,6 +165,24 @@ MyStackViewPage {
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: {
settingsAutoStartToggle.checked = SettingsTabController.autoStartEnabled
@@ -632,7 +632,7 @@ void ChaperoneTabController::eventLoopTick(
if ( m_updateTicksChaperoneReload >= 500 )
{
m_updateTicksChaperoneReload = 0;
LOG( WARNING ) << "Attempting to Reloading Chaperone Data";
LOG( WARNING ) << "Attempting to reload chaperone data";
parent->chaperoneUtils().loadChaperoneData();
}
}
+44 -1
View File
@@ -158,6 +158,11 @@ void MoveCenterTabController::initStage1()
{
m_enableSeatedMotion = value.toBool();
}
value = settings->value( "simpleRecenter", m_simpleRecenter );
if ( value.isValid() && !value.isNull() )
{
m_simpleRecenter = value.toBool();
}
settings->endGroup();
reloadOffsetProfiles();
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
@@ -351,6 +356,10 @@ void MoveCenterTabController::outputLogSettings()
{
LOG( INFO ) << "LOADED SETTINGS: Seated Motion Enabled";
}
if ( m_simpleRecenter )
{
LOG( INFO ) << "LOADED SETTINGS: Simple Recenter Enabled";
}
if ( m_dragBounds )
{
LOG( INFO ) << "LOADED SETTINGS: Space Drag Force Bounds Enabled";
@@ -1207,6 +1216,27 @@ void MoveCenterTabController::setEnableSeatedMotion( bool value, bool notify )
<< 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 )
{
if ( !m_lockXToggle )
@@ -1253,7 +1283,18 @@ void MoveCenterTabController::incomingSeatedReset()
{
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 rotationChanged( m_rotation );
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
// running the reset() function.
m_pendingSeatedRecenter = true;
+7 -1
View File
@@ -100,6 +100,8 @@ class MoveCenterTabController : public QObject
setUniverseCenteredRotation NOTIFY universeCenteredRotationChanged )
Q_PROPERTY( bool enableSeatedMotion READ enableSeatedMotion WRITE
setEnableSeatedMotion NOTIFY enableSeatedMotionChanged )
Q_PROPERTY( bool simpleRecenter READ simpleRecenter WRITE setSimpleRecenter
NOTIFY simpleRecenterChanged )
private:
OverlayController* parent;
@@ -136,7 +138,6 @@ private:
float m_gravityFloor = 0.0f;
float m_gravityStrength = 9.8f;
float m_flingStrength = 1.0f;
float m_seatedHeight = 1.0f;
bool m_momentumSave = false;
bool m_lockXToggle = false;
bool m_lockYToggle = false;
@@ -175,6 +176,7 @@ private:
bool m_chaperoneCommitted = true;
bool m_pendingZeroOffsets = true;
bool m_pendingSeatedRecenter = false;
bool m_selfRequestedSeatedRecenter = false;
bool m_dashWasOpenPreviousFrame = false;
bool m_roomSetupModeDetected = false;
bool m_seatedModeDetected = false;
@@ -183,6 +185,7 @@ private:
bool m_oldStyleMotion = false;
bool m_universeCenteredRotation = false;
bool m_enableSeatedMotion = false;
bool m_simpleRecenter = false;
unsigned settingsUpdateCounter = 0;
int m_hmdRotationStatsUpdateCounter = 0;
unsigned m_dragComfortFrameSkipCounter = 0;
@@ -255,6 +258,7 @@ public:
bool oldStyleMotion() const;
bool universeCenteredRotation() const;
bool enableSeatedMotion() const;
bool simpleRecenter() const;
bool isInitComplete() const;
double getHmdYawTotal();
void resetHmdYawTotal();
@@ -331,6 +335,7 @@ public slots:
void setOldStyleMotion( bool value, bool notify = true );
void setUniverseCenteredRotation( bool value, bool notify = true );
void setEnableSeatedMotion( bool value, bool notify = true );
void setSimpleRecenter( bool value, bool notify = true );
void shutdown();
void reset();
@@ -375,6 +380,7 @@ signals:
void oldStyleMotionChanged( bool value );
void universeCenteredRotationChanged( bool value );
void enableSeatedMotionChanged( bool value );
void simpleRecenterChanged( bool value );
void offsetProfilesUpdated();
};