Settings Tab new options for seated motion and recentering
This commit is contained in:
@@ -25,6 +25,17 @@ MyStackViewPage {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MyText {
|
||||||
|
text: "(Disabled in 'Seated' Universe Type)"
|
||||||
|
id: seatedWarningText
|
||||||
|
visible: false
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
font.pointSize: 28
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@@ -94,6 +105,14 @@ MyStackViewPage {
|
|||||||
statusMessageText.text = ""
|
statusMessageText.text = ""
|
||||||
//undoFixButton.enabled = FixFloorTabController.canUndo
|
//undoFixButton.enabled = FixFloorTabController.canUndo
|
||||||
fixButton.enabled = true
|
fixButton.enabled = true
|
||||||
|
|
||||||
|
if (MoveCenterTabController.trackingUniverse === 0) {
|
||||||
|
fixButton.enabled = false
|
||||||
|
recenterButton.enabled = false
|
||||||
|
zeroSpaceButton.enabled = false
|
||||||
|
undoFixButton.enabled = false
|
||||||
|
seatedWarningText.visible = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
@@ -129,6 +148,32 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: MoveCenterTabController
|
||||||
|
onTrackingUniverseChanged: {
|
||||||
|
if (MoveCenterTabController.trackingUniverse === 0) {
|
||||||
|
fixButton.enabled = false
|
||||||
|
recenterButton.enabled = false
|
||||||
|
zeroSpaceButton.enabled = false
|
||||||
|
undoFixButton.enabled = false
|
||||||
|
seatedWarningText.visible = true
|
||||||
|
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
||||||
|
fixButton.enabled = true
|
||||||
|
recenterButton.enabled = true
|
||||||
|
zeroSpaceButton.enabled = true
|
||||||
|
// undoFixButton.enabled = true
|
||||||
|
// TODO Fix Undo Feature -^
|
||||||
|
seatedWarningText.visible = false
|
||||||
|
} else {
|
||||||
|
fixButton.enabled = false
|
||||||
|
recenterButton.enabled = false
|
||||||
|
zeroSpaceButton.enabled = false
|
||||||
|
undoFixButton.enabled = false
|
||||||
|
seatedWarningText.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,16 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MyText {
|
||||||
|
id: seatedDisableWarningText
|
||||||
|
visible: false
|
||||||
|
text: "Settings Tab: 'Disable Motion in Seated Mode' checked"
|
||||||
|
}
|
||||||
|
|
||||||
GroupBox {
|
GroupBox {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
id: offsetsGroupBox
|
||||||
|
visible: true
|
||||||
|
|
||||||
label: MyText {
|
label: MyText {
|
||||||
leftPadding: 10
|
leftPadding: 10
|
||||||
@@ -220,6 +228,8 @@ MyStackViewPage {
|
|||||||
|
|
||||||
GroupBox {
|
GroupBox {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
id: rotationGroupBox
|
||||||
|
visible: true
|
||||||
|
|
||||||
label: MyText {
|
label: MyText {
|
||||||
leftPadding: 10
|
leftPadding: 10
|
||||||
@@ -322,6 +332,8 @@ MyStackViewPage {
|
|||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
id: resetButtonRow
|
||||||
|
visible: true
|
||||||
|
|
||||||
MyPushButton {
|
MyPushButton {
|
||||||
id: spaceResetButton
|
id: spaceResetButton
|
||||||
@@ -385,11 +397,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.disableSeatedMotion
|
||||||
|
rotationGroupBox.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
resetButtonRow.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
seatedDisableWarningText.visible = MoveCenterTabController.disableSeatedMotion
|
||||||
|
|
||||||
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
||||||
spaceModeText.text = "Standing"
|
spaceModeText.text = "Standing"
|
||||||
spaceSeatedRecenter.visible = false
|
spaceSeatedRecenter.visible = false
|
||||||
|
offsetsGroupBox.visible = true
|
||||||
|
rotationGroupBox.visible = true
|
||||||
|
resetButtonRow.visible = true
|
||||||
|
seatedDisableWarningText.visible = false
|
||||||
} else {
|
} else {
|
||||||
spaceModeText.text = "Unknown(" + MoveCenterTabController.trackingUniverse + ")"
|
spaceModeText.text = "Unknown(" + MoveCenterTabController.trackingUniverse + ")"
|
||||||
|
offsetsGroupBox.visible = false
|
||||||
|
rotationGroupBox.visible = false
|
||||||
|
resetButtonRow.visible = false
|
||||||
|
seatedDisableWarningText.visible = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,15 +448,37 @@ MyStackViewPage {
|
|||||||
onLockZToggleChanged: {
|
onLockZToggleChanged: {
|
||||||
lockZToggle.checked = MoveCenterTabController.lockZToggle
|
lockZToggle.checked = MoveCenterTabController.lockZToggle
|
||||||
}
|
}
|
||||||
|
onDisableSeatedMotionChanged: {
|
||||||
|
if (MoveCenterTabController.trackingUniverse === 0) {
|
||||||
|
spaceModeText.text = "Sitting"
|
||||||
|
spaceSeatedRecenter.visible = true
|
||||||
|
offsetsGroupBox.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
rotationGroupBox.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
resetButtonRow.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
seatedDisableWarningText.visible = MoveCenterTabController.disableSeatedMotion
|
||||||
|
}
|
||||||
|
}
|
||||||
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.disableSeatedMotion
|
||||||
|
rotationGroupBox.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
resetButtonRow.visible = !MoveCenterTabController.disableSeatedMotion
|
||||||
|
seatedDisableWarningText.visible = MoveCenterTabController.disableSeatedMotion
|
||||||
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
||||||
spaceModeText.text = "Standing"
|
spaceModeText.text = "Standing"
|
||||||
spaceSeatedRecenter.visible = false
|
spaceSeatedRecenter.visible = false
|
||||||
|
offsetsGroupBox.visible = true
|
||||||
|
rotationGroupBox.visible = true
|
||||||
|
resetButtonRow.visible = true
|
||||||
|
seatedDisableWarningText.visible = false
|
||||||
} else {
|
} else {
|
||||||
spaceModeText.text = "Unknown(" + MoveCenterTabController.trackingUniverse + ")"
|
spaceModeText.text = "Unknown(" + MoveCenterTabController.trackingUniverse + ")"
|
||||||
|
offsetsGroupBox.visible = false
|
||||||
|
rotationGroupBox.visible = false
|
||||||
|
resetButtonRow.visible = false
|
||||||
|
seatedDisableWarningText.visible = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,22 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MyToggleButton {
|
||||||
|
id: enableSeatedOffsetsRecenterToggle
|
||||||
|
text: "Enable Auto-set Seated Offsets During Seated Recenter"
|
||||||
|
onCheckedChanged: {
|
||||||
|
MoveCenterTabController.setEnableSeatedOffsetsRecenter(checked, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MyToggleButton {
|
||||||
|
id: disableSeatedMotionToggle
|
||||||
|
text: "Disable All Motion Features When in Seated Mode"
|
||||||
|
onCheckedChanged: {
|
||||||
|
MoveCenterTabController.setDisableSeatedMotion(checked, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@@ -107,6 +123,8 @@ MyStackViewPage {
|
|||||||
allowExternalEditsToggle.checked = MoveCenterTabController.allowExternalEdits
|
allowExternalEditsToggle.checked = MoveCenterTabController.allowExternalEdits
|
||||||
oldStyleMotionToggle.checked = MoveCenterTabController.oldStyleMotion
|
oldStyleMotionToggle.checked = MoveCenterTabController.oldStyleMotion
|
||||||
universeCenteredRotationToggle.checked = MoveCenterTabController.universeCenteredRotation
|
universeCenteredRotationToggle.checked = MoveCenterTabController.universeCenteredRotation
|
||||||
|
enableSeatedOffsetsRecenterToggle.checked = MoveCenterTabController.enableSeatedOffsetsRecenter
|
||||||
|
disableSeatedMotionToggle.checked = MoveCenterTabController.disableSeatedMotion
|
||||||
|
|
||||||
customTickRateText.text = OverlayController.customTickRateMs
|
customTickRateText.text = OverlayController.customTickRateMs
|
||||||
vsyncDisabledToggle.checked = OverlayController.vsyncDisabled
|
vsyncDisabledToggle.checked = OverlayController.vsyncDisabled
|
||||||
@@ -133,6 +151,12 @@ MyStackViewPage {
|
|||||||
onUniverseCenteredRotationChanged: {
|
onUniverseCenteredRotationChanged: {
|
||||||
universeCenteredRotationToggle.checked = MoveCenterTabController.universeCenteredRotation
|
universeCenteredRotationToggle.checked = MoveCenterTabController.universeCenteredRotation
|
||||||
}
|
}
|
||||||
|
onEnableSeatedOffsetsRecenterChanged: {
|
||||||
|
enableSeatedOffsetsRecenterToggle.checked = MoveCenterTabController.enableSeatedOffsetsRecenter
|
||||||
|
}
|
||||||
|
onDisableSeatedMotionChanged: {
|
||||||
|
disableSeatedMotionToggle.checked = MoveCenterTabController.disableSeatedMotion
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
|
|||||||
@@ -153,6 +153,17 @@ void MoveCenterTabController::initStage1()
|
|||||||
{
|
{
|
||||||
m_universeCenteredRotation = value.toBool();
|
m_universeCenteredRotation = value.toBool();
|
||||||
}
|
}
|
||||||
|
value = settings->value( "enableSeatedOffsetsRecenter",
|
||||||
|
m_enableSeatedOffsetsRecenter );
|
||||||
|
if ( value.isValid() && !value.isNull() )
|
||||||
|
{
|
||||||
|
m_enableSeatedOffsetsRecenter = value.toBool();
|
||||||
|
}
|
||||||
|
value = settings->value( "disableSeatedMotion", m_disableSeatedMotion );
|
||||||
|
if ( value.isValid() && !value.isNull() )
|
||||||
|
{
|
||||||
|
m_disableSeatedMotion = value.toBool();
|
||||||
|
}
|
||||||
settings->endGroup();
|
settings->endGroup();
|
||||||
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
|
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
|
||||||
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
|
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
|
||||||
@@ -221,6 +232,14 @@ void MoveCenterTabController::outputLogSettings()
|
|||||||
{
|
{
|
||||||
LOG( INFO ) << "LOADED SETTINGS: Universe-Centered Rotation Enabled";
|
LOG( INFO ) << "LOADED SETTINGS: Universe-Centered Rotation Enabled";
|
||||||
}
|
}
|
||||||
|
if ( m_enableSeatedOffsetsRecenter )
|
||||||
|
{
|
||||||
|
LOG( INFO ) << "LOADED SETTINGS: Seated Offsets Recenter Enabled";
|
||||||
|
}
|
||||||
|
if ( m_disableSeatedMotion )
|
||||||
|
{
|
||||||
|
LOG( INFO ) << "LOADED SETTINGS: Seated Motion Disabled";
|
||||||
|
}
|
||||||
if ( m_dragBounds )
|
if ( m_dragBounds )
|
||||||
{
|
{
|
||||||
LOG( INFO ) << "LOADED SETTINGS: Space Drag Force Bounds Enabled";
|
LOG( INFO ) << "LOADED SETTINGS: Space Drag Force Bounds Enabled";
|
||||||
@@ -1051,6 +1070,51 @@ void MoveCenterTabController::setUniverseCenteredRotation( bool value,
|
|||||||
<< m_universeCenteredRotation;
|
<< m_universeCenteredRotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MoveCenterTabController::enableSeatedOffsetsRecenter() const
|
||||||
|
{
|
||||||
|
return m_enableSeatedOffsetsRecenter;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MoveCenterTabController::setEnableSeatedOffsetsRecenter( bool value,
|
||||||
|
bool notify )
|
||||||
|
{
|
||||||
|
m_enableSeatedOffsetsRecenter = value;
|
||||||
|
auto settings = OverlayController::appSettings();
|
||||||
|
settings->beginGroup( "playspaceSettings" );
|
||||||
|
settings->setValue( "enableSeatedOffsetsRecenter",
|
||||||
|
m_enableSeatedOffsetsRecenter );
|
||||||
|
settings->endGroup();
|
||||||
|
settings->sync();
|
||||||
|
if ( notify )
|
||||||
|
{
|
||||||
|
emit enableSeatedOffsetsRecenterChanged(
|
||||||
|
m_enableSeatedOffsetsRecenter );
|
||||||
|
}
|
||||||
|
LOG( INFO ) << "CHANGED SETTINGS: Enable Seated Offsets Recenter Set: "
|
||||||
|
<< m_enableSeatedOffsetsRecenter;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MoveCenterTabController::disableSeatedMotion() const
|
||||||
|
{
|
||||||
|
return m_disableSeatedMotion;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MoveCenterTabController::setDisableSeatedMotion( bool value, bool notify )
|
||||||
|
{
|
||||||
|
m_disableSeatedMotion = value;
|
||||||
|
auto settings = OverlayController::appSettings();
|
||||||
|
settings->beginGroup( "playspaceSettings" );
|
||||||
|
settings->setValue( "disableSeatedMotion", m_disableSeatedMotion );
|
||||||
|
settings->endGroup();
|
||||||
|
settings->sync();
|
||||||
|
if ( notify )
|
||||||
|
{
|
||||||
|
emit disableSeatedMotionChanged( m_disableSeatedMotion );
|
||||||
|
}
|
||||||
|
LOG( INFO ) << "CHANGED SETTINGS: Disable Seated Motion Set: "
|
||||||
|
<< m_disableSeatedMotion;
|
||||||
|
}
|
||||||
|
|
||||||
void MoveCenterTabController::modOffsetX( float value, bool notify )
|
void MoveCenterTabController::modOffsetX( float value, bool notify )
|
||||||
{
|
{
|
||||||
if ( !m_lockXToggle )
|
if ( !m_lockXToggle )
|
||||||
@@ -1095,7 +1159,10 @@ void MoveCenterTabController::shutdown()
|
|||||||
|
|
||||||
void MoveCenterTabController::incomingSeatedReset()
|
void MoveCenterTabController::incomingSeatedReset()
|
||||||
{
|
{
|
||||||
updateSeatedResetData();
|
if ( !m_disableSeatedMotion )
|
||||||
|
{
|
||||||
|
updateSeatedResetData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveCenterTabController::reset()
|
void MoveCenterTabController::reset()
|
||||||
@@ -1299,14 +1366,18 @@ void MoveCenterTabController::updateSeatedResetData()
|
|||||||
m_seatedHeight = hmdMatrix.m[1][3];
|
m_seatedHeight = hmdMatrix.m[1][3];
|
||||||
m_seatedCenterForReset.m[1][3] += m_seatedHeight;
|
m_seatedCenterForReset.m[1][3] += m_seatedHeight;
|
||||||
|
|
||||||
m_offsetX = hmdMatrix.m[0][3];
|
if ( m_enableSeatedOffsetsRecenter )
|
||||||
m_offsetY = 0.0f;
|
{
|
||||||
m_offsetZ = hmdMatrix.m[2][3];
|
m_offsetX = hmdMatrix.m[0][3];
|
||||||
m_rotation = hmdYawCentideg;
|
m_offsetY = 0.0f;
|
||||||
emit offsetXChanged( m_offsetX );
|
m_offsetZ = hmdMatrix.m[2][3];
|
||||||
emit offsetYChanged( m_offsetY );
|
m_rotation = hmdYawCentideg;
|
||||||
emit offsetZChanged( m_offsetZ );
|
emit offsetXChanged( m_offsetX );
|
||||||
emit rotationChanged( m_rotation );
|
emit offsetYChanged( m_offsetY );
|
||||||
|
emit offsetZChanged( m_offsetZ );
|
||||||
|
emit rotationChanged( m_rotation );
|
||||||
|
}
|
||||||
|
|
||||||
unsigned checkQuadCount = 0;
|
unsigned checkQuadCount = 0;
|
||||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
|
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
|
||||||
&checkQuadCount );
|
&checkQuadCount );
|
||||||
@@ -2810,6 +2881,10 @@ void MoveCenterTabController::eventLoopTick(
|
|||||||
// m_roomSetupModeDetected is set to false in zeroOffsets() if it's
|
// m_roomSetupModeDetected is set to false in zeroOffsets() if it's
|
||||||
// successful.
|
// successful.
|
||||||
}
|
}
|
||||||
|
else if ( m_seatedModeDetected && m_disableSeatedMotion )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setTrackingUniverse( int( universe ) );
|
setTrackingUniverse( int( universe ) );
|
||||||
|
|||||||
@@ -89,6 +89,12 @@ class MoveCenterTabController : public QObject
|
|||||||
Q_PROPERTY(
|
Q_PROPERTY(
|
||||||
bool universeCenteredRotation READ universeCenteredRotation WRITE
|
bool universeCenteredRotation READ universeCenteredRotation WRITE
|
||||||
setUniverseCenteredRotation NOTIFY universeCenteredRotationChanged )
|
setUniverseCenteredRotation NOTIFY universeCenteredRotationChanged )
|
||||||
|
Q_PROPERTY(
|
||||||
|
bool enableSeatedOffsetsRecenter READ enableSeatedOffsetsRecenter WRITE
|
||||||
|
setEnableSeatedOffsetsRecenter NOTIFY
|
||||||
|
enableSeatedOffsetsRecenterChanged )
|
||||||
|
Q_PROPERTY( bool disableSeatedMotion READ disableSeatedMotion WRITE
|
||||||
|
setDisableSeatedMotion NOTIFY disableSeatedMotionChanged )
|
||||||
|
|
||||||
private:
|
private:
|
||||||
OverlayController* parent;
|
OverlayController* parent;
|
||||||
@@ -170,6 +176,8 @@ private:
|
|||||||
bool m_allowExternalEdits = false;
|
bool m_allowExternalEdits = false;
|
||||||
bool m_oldStyleMotion = false;
|
bool m_oldStyleMotion = false;
|
||||||
bool m_universeCenteredRotation = false;
|
bool m_universeCenteredRotation = false;
|
||||||
|
bool m_enableSeatedOffsetsRecenter = false;
|
||||||
|
bool m_disableSeatedMotion = false;
|
||||||
unsigned settingsUpdateCounter = 0;
|
unsigned settingsUpdateCounter = 0;
|
||||||
int m_hmdRotationStatsUpdateCounter = 0;
|
int m_hmdRotationStatsUpdateCounter = 0;
|
||||||
unsigned m_dragComfortFrameSkipCounter = 0;
|
unsigned m_dragComfortFrameSkipCounter = 0;
|
||||||
@@ -238,6 +246,8 @@ public:
|
|||||||
bool allowExternalEdits() const;
|
bool allowExternalEdits() const;
|
||||||
bool oldStyleMotion() const;
|
bool oldStyleMotion() const;
|
||||||
bool universeCenteredRotation() const;
|
bool universeCenteredRotation() const;
|
||||||
|
bool enableSeatedOffsetsRecenter() const;
|
||||||
|
bool disableSeatedMotion() const;
|
||||||
double getHmdYawTotal();
|
double getHmdYawTotal();
|
||||||
void resetHmdYawTotal();
|
void resetHmdYawTotal();
|
||||||
void incomingSeatedReset();
|
void incomingSeatedReset();
|
||||||
@@ -305,6 +315,8 @@ public slots:
|
|||||||
void setAllowExternalEdits( bool value, bool notify = true );
|
void setAllowExternalEdits( bool value, bool notify = true );
|
||||||
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 setEnableSeatedOffsetsRecenter( bool value, bool notify = true );
|
||||||
|
void setDisableSeatedMotion( bool value, bool notify = true );
|
||||||
|
|
||||||
void shutdown();
|
void shutdown();
|
||||||
void reset();
|
void reset();
|
||||||
@@ -343,6 +355,8 @@ signals:
|
|||||||
void allowExternalEditsChanged( bool value );
|
void allowExternalEditsChanged( bool value );
|
||||||
void oldStyleMotionChanged( bool value );
|
void oldStyleMotionChanged( bool value );
|
||||||
void universeCenteredRotationChanged( bool value );
|
void universeCenteredRotationChanged( bool value );
|
||||||
|
void enableSeatedOffsetsRecenterChanged( bool value );
|
||||||
|
void disableSeatedMotionChanged( bool value );
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace advsettings
|
} // namespace advsettings
|
||||||
|
|||||||
Reference in New Issue
Block a user