mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 13:49:12 +02:00
Merge pull request #13652 from r3tk0n/16206-flying-settings
MS16206 - Enable flight by default in desktop, controls menu changes re: flying
This commit is contained in:
commit
27b35d84cc
4 changed files with 54 additions and 10 deletions
|
@ -299,7 +299,7 @@ Item {
|
||||||
anchors.fill: stackView
|
anchors.fill: stackView
|
||||||
id: controllerPrefereneces
|
id: controllerPrefereneces
|
||||||
objectName: "TabletControllerPreferences"
|
objectName: "TabletControllerPreferences"
|
||||||
showCategories: ["VR Movement", "Game Controller", "Sixense Controllers", "Perception Neuron", "Leap Motion"]
|
showCategories: [( (HMD.active) ? "VR Movement" : "Movement"), "Game Controller", "Sixense Controllers", "Perception Neuron", "Leap Motion"]
|
||||||
categoryProperties: {
|
categoryProperties: {
|
||||||
"VR Movement" : {
|
"VR Movement" : {
|
||||||
"User real-world height (meters)" : { "anchors.right" : "undefined" },
|
"User real-world height (meters)" : { "anchors.right" : "undefined" },
|
||||||
|
|
|
@ -4839,6 +4839,13 @@ void Application::loadSettings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
isFirstPerson = (qApp->isHMDMode());
|
isFirstPerson = (qApp->isHMDMode());
|
||||||
|
|
||||||
|
// Flying should be disabled by default in HMD mode on first run, and it
|
||||||
|
// should be enabled by default in desktop mode.
|
||||||
|
|
||||||
|
auto myAvatar = getMyAvatar();
|
||||||
|
myAvatar->setFlyingEnabled(!isFirstPerson);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// if this is not the first run, the camera will be initialized differently depending on user settings
|
// if this is not the first run, the camera will be initialized differently depending on user settings
|
||||||
|
|
||||||
|
|
|
@ -1281,7 +1281,8 @@ void MyAvatar::loadData() {
|
||||||
settings.remove("avatarEntityData");
|
settings.remove("avatarEntityData");
|
||||||
}
|
}
|
||||||
setAvatarEntityDataChanged(true);
|
setAvatarEntityDataChanged(true);
|
||||||
setFlyingEnabled(settings.value("enabledFlying").toBool());
|
Setting::Handle<bool> firstRunVal { Settings::firstRun, true };
|
||||||
|
setFlyingEnabled(firstRunVal.get() ? getFlyingEnabled() : settings.value("enabledFlying").toBool());
|
||||||
setDisplayName(settings.value("displayName").toString());
|
setDisplayName(settings.value("displayName").toString());
|
||||||
setCollisionSoundURL(settings.value("collisionSoundURL", DEFAULT_AVATAR_COLLISION_SOUND_URL).toString());
|
setCollisionSoundURL(settings.value("collisionSoundURL", DEFAULT_AVATAR_COLLISION_SOUND_URL).toString());
|
||||||
setSnapTurn(settings.value("useSnapTurn", _useSnapTurn).toBool());
|
setSnapTurn(settings.value("useSnapTurn", _useSnapTurn).toBool());
|
||||||
|
|
|
@ -266,20 +266,15 @@ void setupPreferences() {
|
||||||
preferences->addPreference(new SliderPreference(FACE_TRACKING, "Eye Deflection", getter, setter));
|
preferences->addPreference(new SliderPreference(FACE_TRACKING, "Eye Deflection", getter, setter));
|
||||||
}
|
}
|
||||||
|
|
||||||
static const QString MOVEMENT{ "VR Movement" };
|
static const QString MOVEMENT{ "Movement" };
|
||||||
{
|
{
|
||||||
|
|
||||||
static const QString movementsControlChannel = QStringLiteral("Hifi-Advanced-Movement-Disabler");
|
static const QString movementsControlChannel = QStringLiteral("Hifi-Advanced-Movement-Disabler");
|
||||||
auto getter = [=]()->bool { return myAvatar->useAdvancedMovementControls(); };
|
auto getter = [=]()->bool { return myAvatar->useAdvancedMovementControls(); };
|
||||||
auto setter = [=](bool value) { myAvatar->setUseAdvancedMovementControls(value); };
|
auto setter = [=](bool value) { myAvatar->setUseAdvancedMovementControls(value); };
|
||||||
preferences->addPreference(new CheckPreference(MOVEMENT,
|
preferences->addPreference(new CheckPreference(MOVEMENT,
|
||||||
QStringLiteral("Advanced movement for hand controllers"),
|
QStringLiteral("Advanced movement for hand controllers"),
|
||||||
getter, setter));
|
getter, setter));
|
||||||
}
|
|
||||||
{
|
|
||||||
auto getter = [=]()->bool { return myAvatar->getFlyingEnabled(); };
|
|
||||||
auto setter = [=](bool value) { myAvatar->setFlyingEnabled(value); };
|
|
||||||
preferences->addPreference(new CheckPreference(MOVEMENT, "Flying & jumping", getter, setter));
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto getter = [=]()->int { return myAvatar->getSnapTurn() ? 0 : 1; };
|
auto getter = [=]()->int { return myAvatar->getSnapTurn() ? 0 : 1; };
|
||||||
|
@ -307,6 +302,47 @@ void setupPreferences() {
|
||||||
preferences->addPreference(preference);
|
preferences->addPreference(preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const QString VR_MOVEMENT{ "VR Movement" };
|
||||||
|
{
|
||||||
|
|
||||||
|
static const QString movementsControlChannel = QStringLiteral("Hifi-Advanced-Movement-Disabler");
|
||||||
|
auto getter = [=]()->bool { return myAvatar->useAdvancedMovementControls(); };
|
||||||
|
auto setter = [=](bool value) { myAvatar->setUseAdvancedMovementControls(value); };
|
||||||
|
preferences->addPreference(new CheckPreference(VR_MOVEMENT,
|
||||||
|
QStringLiteral("Advanced movement for hand controllers"),
|
||||||
|
getter, setter));
|
||||||
|
}
|
||||||
|
{
|
||||||
|
auto getter = [=]()->bool { return myAvatar->getFlyingEnabled(); };
|
||||||
|
auto setter = [=](bool value) { myAvatar->setFlyingEnabled(value); };
|
||||||
|
preferences->addPreference(new CheckPreference(VR_MOVEMENT, "Flying & jumping", getter, setter));
|
||||||
|
}
|
||||||
|
{
|
||||||
|
auto getter = [=]()->int { return myAvatar->getSnapTurn() ? 0 : 1; };
|
||||||
|
auto setter = [=](int value) { myAvatar->setSnapTurn(value == 0); };
|
||||||
|
auto preference = new RadioButtonsPreference(VR_MOVEMENT, "Snap turn / Smooth turn", getter, setter);
|
||||||
|
QStringList items;
|
||||||
|
items << "Snap turn" << "Smooth turn";
|
||||||
|
preference->setItems(items);
|
||||||
|
preferences->addPreference(preference);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
auto getter = [=]()->float { return myAvatar->getUserHeight(); };
|
||||||
|
auto setter = [=](float value) { myAvatar->setUserHeight(value); };
|
||||||
|
auto preference = new SpinnerPreference(VR_MOVEMENT, "User real-world height (meters)", getter, setter);
|
||||||
|
preference->setMin(1.0f);
|
||||||
|
preference->setMax(2.2f);
|
||||||
|
preference->setDecimals(3);
|
||||||
|
preference->setStep(0.001f);
|
||||||
|
preferences->addPreference(preference);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
auto preference = new ButtonPreference(VR_MOVEMENT, "RESET SENSORS", [] {
|
||||||
|
qApp->resetSensors();
|
||||||
|
});
|
||||||
|
preferences->addPreference(preference);
|
||||||
|
}
|
||||||
|
|
||||||
static const QString AVATAR_CAMERA{ "Mouse Sensitivity" };
|
static const QString AVATAR_CAMERA{ "Mouse Sensitivity" };
|
||||||
{
|
{
|
||||||
auto getter = [=]()->float { return myAvatar->getPitchSpeed(); };
|
auto getter = [=]()->float { return myAvatar->getPitchSpeed(); };
|
||||||
|
|
Loading…
Reference in a new issue