Bugfixes and Improvements.

This commit is contained in:
2016-12-22 00:51:17 +01:00
parent 613610c050
commit 3f53235b1b
8 changed files with 215 additions and 178 deletions
+4 -13
View File
@@ -186,24 +186,15 @@ MyStackViewPage {
MyText { MyText {
text: "Name: " text: "Name: "
} }
TextField { MyTextField {
id: pttNewProfileName id: pttNewProfileName
keyBoardUID: 590
color: "#cccccc" color: "#cccccc"
text: "" text: ""
Layout.fillWidth: true Layout.fillWidth: true
font.pointSize: 20 font.pointSize: 20
onActiveFocusChanged: { function onInputEvent(input) {
if (activeFocus) { pttNewProfileName.text = input
OverlayController.showKeyboard(text, 101)
}
}
Connections {
target: OverlayController
onKeyBoardInputSignal: {
if (userValue == 101) {
pttNewProfileName.text = input
}
}
} }
} }
} }
+35 -25
View File
@@ -41,24 +41,15 @@ MyStackViewPage {
MyText { MyText {
text: "Name: " text: "Name: "
} }
TextField { MyTextField {
id: chaperoneNewProfileName id: chaperoneNewProfileName
keyBoardUID: 390
color: "#cccccc" color: "#cccccc"
text: "" text: ""
Layout.fillWidth: true Layout.fillWidth: true
font.pointSize: 20 font.pointSize: 20
onActiveFocusChanged: { function onInputEvent(input) {
if (activeFocus) { chaperoneNewProfileName.text = input
OverlayController.showKeyboard(text, 101)
}
}
Connections {
target: OverlayController
onKeyBoardInputSignal: {
if (userValue == 101) {
chaperoneNewProfileName.text = input
}
}
} }
} }
} }
@@ -285,8 +276,11 @@ MyStackViewPage {
val = 100.0 val = 100.0
} }
var v = (val/100).toFixed(2) var v = (val/100).toFixed(2)
chaperoneVisibilitySlider.value = v if (v <= chaperoneVisibilitySlider.to) {
ChaperoneTabController.setBoundsVisibility(v, false) chaperoneVisibilitySlider.value = v
} else {
ChaperoneTabController.setBoundsVisibility(v, false)
}
} }
text = Math.round(ChaperoneTabController.boundsVisibility * 100) + "%" text = Math.round(ChaperoneTabController.boundsVisibility * 100) + "%"
} }
@@ -343,8 +337,11 @@ MyStackViewPage {
val = 0.0 val = 0.0
} }
var v = val.toFixed(1) var v = val.toFixed(1)
chaperoneFadeDistanceSlider.value = v if (v <= chaperoneFadeDistanceSlider.to) {
ChaperoneTabController.setFadeDistance(v, false) chaperoneFadeDistanceSlider.value = v
} else {
ChaperoneTabController.setFadeDistance(v, false)
}
} }
text = ChaperoneTabController.fadeDistance.toFixed(1) text = ChaperoneTabController.fadeDistance.toFixed(1)
} }
@@ -366,7 +363,7 @@ MyStackViewPage {
MySlider { MySlider {
id: chaperoneHeightSlider id: chaperoneHeightSlider
from: 0.01 from: 0.01
to: 5.0 to: 15.0
stepSize: 0.01 stepSize: 0.01
value: 2.0 value: 2.0
Layout.fillWidth: true Layout.fillWidth: true
@@ -404,8 +401,11 @@ MyStackViewPage {
val = 0.01 val = 0.01
} }
var v = val.toFixed(2) var v = val.toFixed(2)
chaperoneHeightSlider.value = v if (v <= chaperoneHeightSlider.to) {
ChaperoneTabController.setHeight(v, false) chaperoneHeightSlider.value = v
} else {
ChaperoneTabController.setHeight(v, false)
}
} }
text = ChaperoneTabController.height.toFixed(2) text = ChaperoneTabController.height.toFixed(2)
} }
@@ -479,9 +479,15 @@ MyStackViewPage {
Component.onCompleted: { Component.onCompleted: {
chaperoneVisibilitySlider.value = ChaperoneTabController.boundsVisibility chaperoneVisibilitySlider.value = ChaperoneTabController.boundsVisibility
chaperoneFadeDistanceSlider.value = ChaperoneTabController.fadeDistance var d = ChaperoneTabController.fadeDistance.toFixed(1)
if (d <= chaperoneFadeDistanceSlider.to) {
chaperoneFadeDistanceSlider.value = d
}
chaperoneFadeDistanceText.text = d
var h = ChaperoneTabController.height.toFixed(2) var h = ChaperoneTabController.height.toFixed(2)
chaperoneHeightSlider.value = h if (h <= chaperoneHeightSlider.to) {
chaperoneHeightSlider.value = h
}
chaperoneHeightText.text = h chaperoneHeightText.text = h
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker
chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker
@@ -497,13 +503,17 @@ MyStackViewPage {
} }
} }
onFadeDistanceChanged: { onFadeDistanceChanged: {
if (Math.abs(chaperoneFadeDistanceSlider.value - ChaperoneTabController.fadeDistance) > 0.08) { var d = ChaperoneTabController.fadeDistance.toFixed(1)
chaperoneFadeDistanceSlider.value = ChaperoneTabController.fadeDistance if (d <= chaperoneFadeDistanceSlider.to && Math.abs(chaperoneFadeDistanceSlider.value - d) > 0.008) {
chaperoneFadeDistanceSlider.value = d
} }
chaperoneFadeDistanceText.text = d
} }
onHeightChanged: { onHeightChanged: {
var h = ChaperoneTabController.height.toFixed(2) var h = ChaperoneTabController.height.toFixed(2)
chaperoneHeightSlider.value = h if (h <= chaperoneHeightSlider.to && Math.abs(chaperoneHeightSlider.value - h) > 0.008) {
chaperoneHeightSlider.value = h
}
chaperoneHeightText.text = h chaperoneHeightText.text = h
} }
+9 -12
View File
@@ -204,9 +204,9 @@ MyStackViewPage {
Layout.preferredWidth: 40 Layout.preferredWidth: 40
text: "-" text: "-"
onClicked: { onClicked: {
var val = (MoveCenterTabController.rotation - 45) % 360 var val = MoveCenterTabController.rotation - 45
if (val < 0) { if (val < -180) {
val = 360 + val; val = val + 360;
} }
MoveCenterTabController.rotation = val MoveCenterTabController.rotation = val
} }
@@ -214,8 +214,8 @@ MyStackViewPage {
MySlider { MySlider {
id: playspaceRotationSlider id: playspaceRotationSlider
from: 0 from: -180
to: 359 to: 180
stepSize: 1 stepSize: 1
value: 0 value: 0
Layout.fillWidth: true Layout.fillWidth: true
@@ -234,9 +234,9 @@ MyStackViewPage {
Layout.preferredWidth: 40 Layout.preferredWidth: 40
text: "+" text: "+"
onClicked: { onClicked: {
var val = (MoveCenterTabController.rotation + 45) % 360 var val = MoveCenterTabController.rotation + 45
if (val < 0) { if (val > 180) {
val = 360 + val; val = val -360;
} }
MoveCenterTabController.rotation = val MoveCenterTabController.rotation = val
} }
@@ -252,10 +252,7 @@ MyStackViewPage {
function onInputEvent(input) { function onInputEvent(input) {
var val = parseInt(input) var val = parseInt(input)
if (!isNaN(val)) { if (!isNaN(val)) {
val = val % 360 val = val % 180
if (val < 0) {
val = 360 + val;
}
MoveCenterTabController.rotation = val MoveCenterTabController.rotation = val
text = MoveCenterTabController.rotation + "°" text = MoveCenterTabController.rotation + "°"
} else { } else {
+109 -92
View File
@@ -103,7 +103,7 @@ MyStackViewPage {
pixelsPerDisplayPixelText.text = val.toFixed(1) pixelsPerDisplayPixelText.text = val.toFixed(1)
} }
onValueChanged: { onValueChanged: {
ReviveTabController.setPixelsPerDisplayPixelOverride(value) ReviveTabController.setPixelsPerDisplayPixelOverride(value.toFixed(1), false)
} }
} }
@@ -129,82 +129,13 @@ MyStackViewPage {
val = 0.1 val = 0.1
} }
var v = val.toFixed(1) var v = val.toFixed(1)
pixelsPerDisplayPixelSlider.value = v if (v <= pixelsPerDisplayPixelSlider.to) {
ReviveTabController.setPixelsPerDisplayPixelOverride(v, false) pixelsPerDisplayPixelSlider.value = v
text = v
} else {
text = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
}
}
}
}
ColumnLayout {
spacing: 8
Layout.topMargin: 12
Layout.bottomMargin: 8
RowLayout {
spacing: 8
MyText {
Layout.preferredWidth: 347
text: "Controller Profile:"
}
MyComboBox {
id: reviveControllerProfileComboBox
Layout.maximumWidth: 557
Layout.minimumWidth: 557
Layout.preferredWidth: 557
Layout.fillWidth: true
model: [""]
onCurrentIndexChanged: {
if (currentIndex > 0) {
reviveControllerApplyProfileButton.enabled = true
reviveControllerDeleteProfileButton.enabled = true
} else { } else {
reviveControllerApplyProfileButton.enabled = false ReviveTabController.setPixelsPerDisplayPixelOverride(v, false)
reviveControllerDeleteProfileButton.enabled = false
} }
} }
} text = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
MyPushButton {
id: reviveControllerApplyProfileButton
enabled: false
Layout.preferredWidth: 200
text: "Apply"
onClicked: {
if (reviveControllerProfileComboBox.currentIndex > 0) {
ReviveTabController.applyControllerProfile(reviveControllerProfileComboBox.currentIndex - 1)
reviveControllerProfileComboBox.currentIndex = 0
}
}
}
}
RowLayout {
spacing: 8
Item {
Layout.fillWidth: true
}
MyPushButton {
id: reviveControllerDeleteProfileButton
enabled: false
Layout.preferredWidth: 200
text: "Delete Profile"
onClicked: {
if (reviveControllerProfileComboBox.currentIndex > 0) {
reviveDeleteProfileDialog.profileIndex = reviveControllerProfileComboBox.currentIndex - 1
reviveDeleteProfileDialog.open()
}
}
}
MyPushButton {
Layout.preferredWidth: 200
text: "New Profile"
onClicked: {
reviveNewProfileDialog.openPopup()
}
} }
} }
} }
@@ -277,7 +208,7 @@ MyStackViewPage {
thumbDeadzoneText.text = val.toFixed(2) thumbDeadzoneText.text = val.toFixed(2)
} }
onValueChanged: { onValueChanged: {
ReviveTabController.setThumbDeadzone(value.toFixed(2)) ReviveTabController.setThumbDeadzone(value.toFixed(2), false)
} }
} }
@@ -306,12 +237,13 @@ MyStackViewPage {
val = 1.0 val = 1.0
} }
var v = val.toFixed(2) var v = val.toFixed(2)
thumbDeadzoneSlider.value = v if (v <= thumbDeadzoneSlider.to) {
ReviveTabController.setThumbDeadzone(v, false) thumbDeadzoneSlider.value = v
text = v } else {
} else { ReviveTabController.setThumbDeadzone(v, false)
text = ReviveTabController.thumbDeadzone.toFixed(2) }
} }
text = ReviveTabController.thumbDeadzone.toFixed(2)
} }
} }
} }
@@ -343,7 +275,7 @@ MyStackViewPage {
thumbRangeText.text = val.toFixed(2) thumbRangeText.text = val.toFixed(2)
} }
onValueChanged: { onValueChanged: {
ReviveTabController.setThumbRange(value.toFixed(2)) ReviveTabController.setThumbRange(value.toFixed(2), false)
} }
} }
@@ -370,12 +302,13 @@ MyStackViewPage {
val = 0.01 val = 0.01
} }
var v = val.toFixed(2) var v = val.toFixed(2)
thumbRangeSlider.value = v if (v <= thumbRangeSlider.to) {
ReviveTabController.setThumbRange(v, false) thumbRangeSlider.value = v
text = v } else {
} else { ReviveTabController.setThumbRange(v, false)
text = ReviveTabController.thumbRange.toFixed(2) }
} }
text = ReviveTabController.thumbRange.toFixed(2)
} }
} }
} }
@@ -923,6 +856,78 @@ MyStackViewPage {
} }
ColumnLayout {
spacing: 8
Layout.topMargin: 12
Layout.bottomMargin: 8
RowLayout {
spacing: 8
MyText {
Layout.preferredWidth: 347
text: "Controller Profile:"
}
MyComboBox {
id: reviveControllerProfileComboBox
Layout.maximumWidth: 557
Layout.minimumWidth: 557
Layout.preferredWidth: 557
Layout.fillWidth: true
model: [""]
onCurrentIndexChanged: {
if (currentIndex > 0) {
reviveControllerApplyProfileButton.enabled = true
reviveControllerDeleteProfileButton.enabled = true
} else {
reviveControllerApplyProfileButton.enabled = false
reviveControllerDeleteProfileButton.enabled = false
}
}
}
MyPushButton {
id: reviveControllerApplyProfileButton
enabled: false
Layout.preferredWidth: 200
text: "Apply"
onClicked: {
if (reviveControllerProfileComboBox.currentIndex > 0) {
ReviveTabController.applyControllerProfile(reviveControllerProfileComboBox.currentIndex - 1)
reviveControllerProfileComboBox.currentIndex = 0
}
}
}
}
RowLayout {
spacing: 8
Item {
Layout.fillWidth: true
}
MyPushButton {
id: reviveControllerDeleteProfileButton
enabled: false
Layout.preferredWidth: 200
text: "Delete Profile"
onClicked: {
if (reviveControllerProfileComboBox.currentIndex > 0) {
reviveDeleteProfileDialog.profileIndex = reviveControllerProfileComboBox.currentIndex - 1
reviveDeleteProfileDialog.open()
}
}
}
MyPushButton {
Layout.preferredWidth: 200
text: "New Profile"
onClicked: {
reviveNewProfileDialog.openPopup()
}
}
}
}
Item { Item {
Layout.fillHeight: true Layout.fillHeight: true
} }
@@ -954,17 +959,23 @@ MyStackViewPage {
Component.onCompleted: { Component.onCompleted: {
pixelsPerDisplayPixelToggle.checked = ReviveTabController.pixelsPerDisplayPixelOverrideEnabled pixelsPerDisplayPixelToggle.checked = ReviveTabController.pixelsPerDisplayPixelOverrideEnabled
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1) var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
pixelsPerDisplayPixelSlider.value = v if (v <= pixelsPerDisplayPixelSlider.to) {
pixelsPerDisplayPixelSlider.value = v
}
pixelsPerDisplayPixelText.text = v pixelsPerDisplayPixelText.text = v
gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode
v = ReviveTabController.thumbDeadzone.toFixed(2) v = ReviveTabController.thumbDeadzone.toFixed(2)
thumbDeadzoneSlider.value = v if (v <= thumbDeadzoneSlider.to) {
thumbDeadzoneSlider.value = v
}
thumbDeadzoneText.text = v thumbDeadzoneText.text = v
v = ReviveTabController.thumbRange.toFixed(2) v = ReviveTabController.thumbRange.toFixed(2)
thumbRangeSlider.value = v if (v <= thumbRangeSlider.to) {
thumbRangeSlider.value = v
}
thumbRangeText.text = v thumbRangeText.text = v
touchPitchInputField.text = ReviveTabController.touchPitch.toFixed(1) + "°" touchPitchInputField.text = ReviveTabController.touchPitch.toFixed(1) + "°"
@@ -986,17 +997,23 @@ MyStackViewPage {
} }
onPixelsPerDisplayPixelOverrideChanged : { onPixelsPerDisplayPixelOverrideChanged : {
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1) var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
pixelsPerDisplayPixelSlider.value = v if (v <= pixelsPerDisplayPixelSlider.to) {
pixelsPerDisplayPixelSlider.value = v
}
pixelsPerDisplayPixelText.text = v pixelsPerDisplayPixelText.text = v
} }
onThumbDeadzoneChanged : { onThumbDeadzoneChanged : {
var v = ReviveTabController.thumbDeadzone.toFixed(2) var v = ReviveTabController.thumbDeadzone.toFixed(2)
thumbDeadzoneSlider.value = v if (v <= thumbDeadzoneSlider.to) {
thumbDeadzoneSlider.value = v
}
thumbDeadzoneText.text = v thumbDeadzoneText.text = v
} }
onThumbRangeChanged : { onThumbRangeChanged : {
var v = ReviveTabController.thumbRange.toFixed(2) var v = ReviveTabController.thumbRange.toFixed(2)
thumbRangeSlider.value = v if (v >= thumbRangeSlider.from && v <= thumbRangeSlider.to) {
thumbRangeSlider.value = v
}
thumbRangeText.text = v thumbRangeText.text = v
} }
onTouchPitchChanged : { onTouchPitchChanged : {
+28 -10
View File
@@ -68,8 +68,11 @@ MyStackViewPage {
} }
console.debug("Supersampling TextField: valueChanged(", val, ")") console.debug("Supersampling TextField: valueChanged(", val, ")")
var v = val.toFixed(1) var v = val.toFixed(1)
steamvrSupersamplingSlider.value = v if (v <= steamvrSupersamplingSlider.to) {
SteamVRTabController.setSuperSampling(v, false) steamvrSupersamplingSlider.value = v
} else {
SteamVRTabController.setSuperSampling(v, false)
}
} }
text = SteamVRTabController.superSampling.toFixed(1) text = SteamVRTabController.superSampling.toFixed(1)
} }
@@ -135,8 +138,11 @@ MyStackViewPage {
} }
console.debug("Compositor Supersampling TextField: valueChanged(", val, ")") console.debug("Compositor Supersampling TextField: valueChanged(", val, ")")
var v = val.toFixed(1) var v = val.toFixed(1)
steamvrCompositorSupersamplingSlider.value = v if (v <= steamvrCompositorSupersamplingSlider.to) {
SteamVRTabController.setCompositorSuperSampling(v, false) steamvrCompositorSupersamplingSlider.value = v
} else {
SteamVRTabController.setCompositorSuperSampling(v, false)
}
} }
text = SteamVRTabController.compositorSuperSampling.toFixed(1) text = SteamVRTabController.compositorSuperSampling.toFixed(1)
} }
@@ -201,8 +207,16 @@ MyStackViewPage {
} }
Component.onCompleted: { Component.onCompleted: {
steamvrSupersamplingSlider.value = SteamVRTabController.superSampling var s1 = SteamVRTabController.superSampling.toFixed(1)
steamvrCompositorSupersamplingSlider.value = SteamVRTabController.compositorSuperSampling if (s1 <= steamvrSupersamplingSlider.to) {
steamvrSupersamplingSlider.value = s1
}
steamvrSupersamplingText.text = s1
var s2 = SteamVRTabController.compositorSuperSampling.toFixed(1)
if (s2 <= steamvrCompositorSupersamplingSlider.to) {
steamvrCompositorSupersamplingSlider.value = s2
}
steamvrCompositorSupersamplingText.text = s2
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
steamvrAllowAsyncReprojectionToggle.checked = SteamVRTabController.allowAsyncReprojection steamvrAllowAsyncReprojectionToggle.checked = SteamVRTabController.allowAsyncReprojection
steamvrForceReprojectionToggle.checked = SteamVRTabController.forceReprojection steamvrForceReprojectionToggle.checked = SteamVRTabController.forceReprojection
@@ -211,14 +225,18 @@ MyStackViewPage {
Connections { Connections {
target: SteamVRTabController target: SteamVRTabController
onSuperSamplingChanged: { onSuperSamplingChanged: {
if (Math.abs(steamvrSupersamplingSlider.value-SteamVRTabController.superSampling) > 0.08) { var s1 = SteamVRTabController.superSampling.toFixed(1)
steamvrSupersamplingSlider.value = SteamVRTabController.superSampling if (s1 <= steamvrSupersamplingSlider.to && Math.abs(steamvrSupersamplingSlider.value-s1) > 0.08) {
steamvrSupersamplingSlider.value = s1
} }
steamvrSupersamplingText.text = s1
} }
onCompositorSuperSamplingChanged: { onCompositorSuperSamplingChanged: {
if (Math.abs(steamvrCompositorSupersamplingSlider.value-SteamVRTabController.compositorSuperSampling) > 0.08) { var s2 = SteamVRTabController.compositorSuperSampling.toFixed(1)
steamvrCompositorSupersamplingSlider.value = SteamVRTabController.compositorSuperSampling if (s2 <= steamvrCompositorSupersamplingSlider.to && Math.abs(steamvrCompositorSupersamplingSlider.value-s2) > 0.08) {
steamvrCompositorSupersamplingSlider.value = s2
} }
steamvrCompositorSupersamplingText.text = s2
} }
onAllowInterleavedReprojectionChanged: { onAllowInterleavedReprojectionChanged: {
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
+1
View File
@@ -174,6 +174,7 @@ int main(int argc, char *argv[]) {
} }
conf.setRemainingToDefault(); conf.setRemainingToDefault();
el::Loggers::reconfigureAllLoggers(conf); el::Loggers::reconfigureAllLoggers(conf);
LOG(INFO) << "Application started";
LOG(INFO) << "Log Config: " << QDir::toNativeSeparators(logconfigfile).toStdString(); LOG(INFO) << "Log Config: " << QDir::toNativeSeparators(logconfigfile).toStdString();
if (!logFilePath.isEmpty()) { if (!logFilePath.isEmpty()) {
LOG(INFO) << "Log File: " << logFilePath; LOG(INFO) << "Log File: " << logFilePath;
+2 -2
View File
@@ -407,7 +407,7 @@ void OverlayController::RotateUniverseCenter(vr::ETrackingUniverseOrigin univers
vr::HmdMatrix34_t rotMat; vr::HmdMatrix34_t rotMat;
vr::HmdMatrix34_t newPos; vr::HmdMatrix34_t newPos;
utils::initRotationMatrix(rotMat, 0, yAngle); utils::initRotationMatrix(rotMat, 1, yAngle);
utils::matMul33(newPos, rotMat, curPos); utils::matMul33(newPos, rotMat, curPos);
newPos.m[0][3] = curPos.m[0][3]; newPos.m[0][3] = curPos.m[0][3];
newPos.m[1][3] = curPos.m[1][3]; newPos.m[1][3] = curPos.m[1][3];
@@ -464,7 +464,7 @@ void OverlayController::RotateCollisionBounds(float angle, bool commit) {
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo(collisionBounds, &collisionBoundsCount); vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo(collisionBounds, &collisionBoundsCount);
vr::HmdMatrix34_t rotMat; vr::HmdMatrix34_t rotMat;
utils::initRotationMatrix(rotMat, 0, angle); utils::initRotationMatrix(rotMat, 1, angle);
for (unsigned b = 0; b < collisionBoundsCount; b++) { for (unsigned b = 0; b < collisionBoundsCount; b++) {
for (unsigned c = 0; c < 4; c++) { for (unsigned c = 0; c < 4; c++) {
auto& corner = collisionBounds[b].vCorners[c]; auto& corner = collisionBounds[b].vCorners[c];
+27 -24
View File
@@ -90,35 +90,38 @@ void MoveCenterTabController::setAdjustChaperone(bool value, bool notify) {
m_adjustChaperone = value; m_adjustChaperone = value;
if (m_trackingUniverse == vr::TrackingUniverseStanding) { if (m_trackingUniverse == vr::TrackingUniverseStanding) {
vr::VRChaperoneSetup()->RevertWorkingCopy(); vr::VRChaperoneSetup()->RevertWorkingCopy();
float offsetdir;
if (m_adjustChaperone) { if (m_adjustChaperone) {
if (m_offsetX != 0.0f) { offsetdir = -1.0;
parent->AddOffsetToCollisionBounds(0, -m_offsetX, false);
}
if (m_offsetY != 0.0f) {
parent->AddOffsetToCollisionBounds(1, -m_offsetY, false);
}
if (m_offsetZ != 0.0f) {
parent->AddOffsetToCollisionBounds(2, -m_offsetZ, false);
}
if (m_rotation != 0) {
float angle = m_rotation * 2 * M_PI / 360.0;
parent->RotateCollisionBounds(-angle, false);
}
} else { } else {
if (m_offsetX != 0.0f) { offsetdir = 1.0;
parent->AddOffsetToCollisionBounds(0, m_offsetX, false); }
if (m_offsetX != 0.0f) {
if (m_adjustChaperone || m_rotation == 0) {
parent->AddOffsetToCollisionBounds(0, offsetdir * m_offsetX, false);
} else {
auto angle = m_rotation * 2 * M_PI / 360.0;
parent->AddOffsetToCollisionBounds(0, offsetdir * m_offsetX * std::cos(angle), false);
parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetX * std::sin(angle), false);
} }
if (m_offsetY != 0.0f) { }
parent->AddOffsetToCollisionBounds(1, m_offsetY, false); if (m_offsetY != 0.0f) {
} parent->AddOffsetToCollisionBounds(1, offsetdir * m_offsetY, false);
if (m_offsetZ != 0.0f) { }
parent->AddOffsetToCollisionBounds(2, m_offsetZ, false); if (m_offsetZ != 0.0f) {
} if (m_adjustChaperone || m_rotation == 0) {
if (m_rotation != 0) { parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetZ, false);
float angle = m_rotation * 2 * M_PI / 360.0; } else {
parent->RotateCollisionBounds(angle, false); auto angle = m_rotation * 2 * M_PI / 360.0;
parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetZ * std::cos(angle), false);
parent->AddOffsetToCollisionBounds(0, -offsetdir * m_offsetZ * std::sin(angle), false);
} }
} }
if (m_rotation != 0) {
float angle = m_rotation * 2 * M_PI / 360.0;
parent->RotateCollisionBounds(offsetdir * angle, false);
}
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live); vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
} }
auto settings = OverlayController::appSettings(); auto settings = OverlayController::appSettings();