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 {
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
}
}
}
+35 -25
View File
@@ -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
}
+9 -12
View File
@@ -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 {
+109 -92
View File
@@ -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 : {
+28 -10
View File
@@ -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
+1
View File
@@ -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;
+2 -2
View File
@@ -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];
+27 -24
View File
@@ -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();