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