summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterjoystick.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterjoystick.cpp')
-rw-r--r--indra/newview/llfloaterjoystick.cpp510
1 files changed, 260 insertions, 250 deletions
diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp
index 558b14bba7..128cf56be0 100644
--- a/indra/newview/llfloaterjoystick.cpp
+++ b/indra/newview/llfloaterjoystick.cpp
@@ -1,25 +1,25 @@
-/**
+/**
* @file llfloaterjoystick.cpp
* @brief Joystick preferences panel
*
* $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -52,20 +52,20 @@
#include <dinput.h>
#endif
-static LLTrace::SampleStatHandle<> sJoystickAxis0("Joystick axis 0"),
- sJoystickAxis1("Joystick axis 1"),
- sJoystickAxis2("Joystick axis 2"),
- sJoystickAxis3("Joystick axis 3"),
- sJoystickAxis4("Joystick axis 4"),
- sJoystickAxis5("Joystick axis 5");
-static LLTrace::SampleStatHandle<>* sJoystickAxes[6] =
+static LLTrace::SampleStatHandle<> sJoystickAxis0("Joystick axis 0"),
+ sJoystickAxis1("Joystick axis 1"),
+ sJoystickAxis2("Joystick axis 2"),
+ sJoystickAxis3("Joystick axis 3"),
+ sJoystickAxis4("Joystick axis 4"),
+ sJoystickAxis5("Joystick axis 5");
+static LLTrace::SampleStatHandle<>* sJoystickAxes[6] =
{
- &sJoystickAxis0,
- &sJoystickAxis1,
- &sJoystickAxis2,
- &sJoystickAxis3,
- &sJoystickAxis4,
- &sJoystickAxis5
+ &sJoystickAxis0,
+ &sJoystickAxis1,
+ &sJoystickAxis2,
+ &sJoystickAxis3,
+ &sJoystickAxis4,
+ &sJoystickAxis5
};
@@ -93,7 +93,7 @@ BOOL CALLBACK di8_list_devices_callback(LPCDIDEVICEINSTANCE device_instance_ptr,
#endif
LLFloaterJoystick::LLFloaterJoystick(const LLSD& data)
- : LLFloater(data),
+ : LLFloater(data),
mHasDeviceList(false)
{
if (!LLViewerJoystick::getInstance()->isJoystickInitialized())
@@ -101,7 +101,7 @@ LLFloaterJoystick::LLFloaterJoystick(const LLSD& data)
LLViewerJoystick::getInstance()->init(false);
}
- initFromSettings();
+ initFromSettings();
}
void LLFloaterJoystick::draw()
@@ -113,59 +113,59 @@ void LLFloaterJoystick::draw()
refreshListOfDevices();
}
- for (U32 i = 0; i < 6; i++)
- {
- F32 value = joystick->getJoystickAxis(i);
- sample(*sJoystickAxes[i], value * gFrameIntervalSeconds.value());
- if (mAxisStatsBar[i])
- {
- F32 minbar, maxbar;
- mAxisStatsBar[i]->getRange(minbar, maxbar);
- if (llabs(value) > maxbar)
- {
- F32 range = llabs(value);
- mAxisStatsBar[i]->setRange(-range, range);
- }
- }
- }
-
- LLFloater::draw();
+ for (U32 i = 0; i < 6; i++)
+ {
+ F32 value = joystick->getJoystickAxis(i);
+ sample(*sJoystickAxes[i], value * gFrameIntervalSeconds.value());
+ if (mAxisStatsBar[i])
+ {
+ F32 minbar, maxbar;
+ mAxisStatsBar[i]->getRange(minbar, maxbar);
+ if (llabs(value) > maxbar)
+ {
+ F32 range = llabs(value);
+ mAxisStatsBar[i]->setRange(-range, range);
+ }
+ }
+ }
+
+ LLFloater::draw();
}
BOOL LLFloaterJoystick::postBuild()
-{
- center();
- F32 range = gSavedSettings.getBOOL("Cursor3D") ? 128.f : 2.f;
-
- for (U32 i = 0; i < 6; i++)
- {
- std::string stat_name(llformat("Joystick axis %d", i));
- std::string axisname = llformat("axis%d", i);
- mAxisStatsBar[i] = getChild<LLStatBar>(axisname);
- if (mAxisStatsBar[i])
- {
- mAxisStatsBar[i]->setStat(stat_name);
- mAxisStatsBar[i]->setRange(-range, range);
- }
- }
-
- mJoysticksCombo = getChild<LLComboBox>("joystick_combo");
- childSetCommitCallback("joystick_combo",onCommitJoystickEnabled,this);
- mCheckFlycamEnabled = getChild<LLCheckBoxCtrl>("JoystickFlycamEnabled");
- childSetCommitCallback("JoystickFlycamEnabled",onCommitJoystickEnabled,this);
-
- childSetAction("SpaceNavigatorDefaults", onClickRestoreSNDefaults, this);
- childSetAction("cancel_btn", onClickCancel, this);
- childSetAction("ok_btn", onClickOK, this);
-
- refresh();
- refreshListOfDevices();
- return TRUE;
+{
+ center();
+ F32 range = gSavedSettings.getBOOL("Cursor3D") ? 128.f : 2.f;
+
+ for (U32 i = 0; i < 6; i++)
+ {
+ std::string stat_name(llformat("Joystick axis %d", i));
+ std::string axisname = llformat("axis%d", i);
+ mAxisStatsBar[i] = getChild<LLStatBar>(axisname);
+ if (mAxisStatsBar[i])
+ {
+ mAxisStatsBar[i]->setStat(stat_name);
+ mAxisStatsBar[i]->setRange(-range, range);
+ }
+ }
+
+ mJoysticksCombo = getChild<LLComboBox>("joystick_combo");
+ childSetCommitCallback("joystick_combo",onCommitJoystickEnabled,this);
+ mCheckFlycamEnabled = getChild<LLCheckBoxCtrl>("JoystickFlycamEnabled");
+ childSetCommitCallback("JoystickFlycamEnabled",onCommitJoystickEnabled,this);
+
+ childSetAction("SpaceNavigatorDefaults", onClickRestoreSNDefaults, this);
+ childSetAction("cancel_btn", onClickCancel, this);
+ childSetAction("ok_btn", onClickOK, this);
+
+ refresh();
+ refreshListOfDevices();
+ return TRUE;
}
LLFloaterJoystick::~LLFloaterJoystick()
{
- // Children all cleaned up by default view destructor.
+ // Children all cleaned up by default view destructor.
}
@@ -175,79 +175,86 @@ void LLFloaterJoystick::apply()
void LLFloaterJoystick::initFromSettings()
{
- mJoystickEnabled = gSavedSettings.getBOOL("JoystickEnabled");
- mJoystickId = gSavedSettings.getLLSD("JoystickDeviceUUID");
-
- mJoystickAxis[0] = gSavedSettings.getS32("JoystickAxis0");
- mJoystickAxis[1] = gSavedSettings.getS32("JoystickAxis1");
- mJoystickAxis[2] = gSavedSettings.getS32("JoystickAxis2");
- mJoystickAxis[3] = gSavedSettings.getS32("JoystickAxis3");
- mJoystickAxis[4] = gSavedSettings.getS32("JoystickAxis4");
- mJoystickAxis[5] = gSavedSettings.getS32("JoystickAxis5");
- mJoystickAxis[6] = gSavedSettings.getS32("JoystickAxis6");
-
- m3DCursor = gSavedSettings.getBOOL("Cursor3D");
- mAutoLeveling = gSavedSettings.getBOOL("AutoLeveling");
- mZoomDirect = gSavedSettings.getBOOL("ZoomDirect");
-
- mAvatarEnabled = gSavedSettings.getBOOL("JoystickAvatarEnabled");
- mBuildEnabled = gSavedSettings.getBOOL("JoystickBuildEnabled");
- mFlycamEnabled = gSavedSettings.getBOOL("JoystickFlycamEnabled");
-
- mAvatarAxisScale[0] = gSavedSettings.getF32("AvatarAxisScale0");
- mAvatarAxisScale[1] = gSavedSettings.getF32("AvatarAxisScale1");
- mAvatarAxisScale[2] = gSavedSettings.getF32("AvatarAxisScale2");
- mAvatarAxisScale[3] = gSavedSettings.getF32("AvatarAxisScale3");
- mAvatarAxisScale[4] = gSavedSettings.getF32("AvatarAxisScale4");
- mAvatarAxisScale[5] = gSavedSettings.getF32("AvatarAxisScale5");
-
- mBuildAxisScale[0] = gSavedSettings.getF32("BuildAxisScale0");
- mBuildAxisScale[1] = gSavedSettings.getF32("BuildAxisScale1");
- mBuildAxisScale[2] = gSavedSettings.getF32("BuildAxisScale2");
- mBuildAxisScale[3] = gSavedSettings.getF32("BuildAxisScale3");
- mBuildAxisScale[4] = gSavedSettings.getF32("BuildAxisScale4");
- mBuildAxisScale[5] = gSavedSettings.getF32("BuildAxisScale5");
-
- mFlycamAxisScale[0] = gSavedSettings.getF32("FlycamAxisScale0");
- mFlycamAxisScale[1] = gSavedSettings.getF32("FlycamAxisScale1");
- mFlycamAxisScale[2] = gSavedSettings.getF32("FlycamAxisScale2");
- mFlycamAxisScale[3] = gSavedSettings.getF32("FlycamAxisScale3");
- mFlycamAxisScale[4] = gSavedSettings.getF32("FlycamAxisScale4");
- mFlycamAxisScale[5] = gSavedSettings.getF32("FlycamAxisScale5");
- mFlycamAxisScale[6] = gSavedSettings.getF32("FlycamAxisScale6");
-
- mAvatarAxisDeadZone[0] = gSavedSettings.getF32("AvatarAxisDeadZone0");
- mAvatarAxisDeadZone[1] = gSavedSettings.getF32("AvatarAxisDeadZone1");
- mAvatarAxisDeadZone[2] = gSavedSettings.getF32("AvatarAxisDeadZone2");
- mAvatarAxisDeadZone[3] = gSavedSettings.getF32("AvatarAxisDeadZone3");
- mAvatarAxisDeadZone[4] = gSavedSettings.getF32("AvatarAxisDeadZone4");
- mAvatarAxisDeadZone[5] = gSavedSettings.getF32("AvatarAxisDeadZone5");
-
- mBuildAxisDeadZone[0] = gSavedSettings.getF32("BuildAxisDeadZone0");
- mBuildAxisDeadZone[1] = gSavedSettings.getF32("BuildAxisDeadZone1");
- mBuildAxisDeadZone[2] = gSavedSettings.getF32("BuildAxisDeadZone2");
- mBuildAxisDeadZone[3] = gSavedSettings.getF32("BuildAxisDeadZone3");
- mBuildAxisDeadZone[4] = gSavedSettings.getF32("BuildAxisDeadZone4");
- mBuildAxisDeadZone[5] = gSavedSettings.getF32("BuildAxisDeadZone5");
-
- mFlycamAxisDeadZone[0] = gSavedSettings.getF32("FlycamAxisDeadZone0");
- mFlycamAxisDeadZone[1] = gSavedSettings.getF32("FlycamAxisDeadZone1");
- mFlycamAxisDeadZone[2] = gSavedSettings.getF32("FlycamAxisDeadZone2");
- mFlycamAxisDeadZone[3] = gSavedSettings.getF32("FlycamAxisDeadZone3");
- mFlycamAxisDeadZone[4] = gSavedSettings.getF32("FlycamAxisDeadZone4");
- mFlycamAxisDeadZone[5] = gSavedSettings.getF32("FlycamAxisDeadZone5");
- mFlycamAxisDeadZone[6] = gSavedSettings.getF32("FlycamAxisDeadZone6");
-
- mAvatarFeathering = gSavedSettings.getF32("AvatarFeathering");
- mBuildFeathering = gSavedSettings.getF32("BuildFeathering");
- mFlycamFeathering = gSavedSettings.getF32("FlycamFeathering");
+ mJoystickEnabled = gSavedSettings.getBOOL("JoystickEnabled");
+ mJoystickId = gSavedSettings.getLLSD("JoystickDeviceUUID");
+
+ mJoystickAxis[0] = gSavedSettings.getS32("JoystickAxis0");
+ mJoystickAxis[1] = gSavedSettings.getS32("JoystickAxis1");
+ mJoystickAxis[2] = gSavedSettings.getS32("JoystickAxis2");
+ mJoystickAxis[3] = gSavedSettings.getS32("JoystickAxis3");
+ mJoystickAxis[4] = gSavedSettings.getS32("JoystickAxis4");
+ mJoystickAxis[5] = gSavedSettings.getS32("JoystickAxis5");
+ mJoystickAxis[6] = gSavedSettings.getS32("JoystickAxis6");
+
+ m3DCursor = gSavedSettings.getBOOL("Cursor3D");
+ mAutoLeveling = gSavedSettings.getBOOL("AutoLeveling");
+ mZoomDirect = gSavedSettings.getBOOL("ZoomDirect");
+
+ mAvatarEnabled = gSavedSettings.getBOOL("JoystickAvatarEnabled");
+ mBuildEnabled = gSavedSettings.getBOOL("JoystickBuildEnabled");
+ mFlycamEnabled = gSavedSettings.getBOOL("JoystickFlycamEnabled");
+
+ mAvatarAxisScale[0] = gSavedSettings.getF32("AvatarAxisScale0");
+ mAvatarAxisScale[1] = gSavedSettings.getF32("AvatarAxisScale1");
+ mAvatarAxisScale[2] = gSavedSettings.getF32("AvatarAxisScale2");
+ mAvatarAxisScale[3] = gSavedSettings.getF32("AvatarAxisScale3");
+ mAvatarAxisScale[4] = gSavedSettings.getF32("AvatarAxisScale4");
+ mAvatarAxisScale[5] = gSavedSettings.getF32("AvatarAxisScale5");
+
+ mBuildAxisScale[0] = gSavedSettings.getF32("BuildAxisScale0");
+ mBuildAxisScale[1] = gSavedSettings.getF32("BuildAxisScale1");
+ mBuildAxisScale[2] = gSavedSettings.getF32("BuildAxisScale2");
+ mBuildAxisScale[3] = gSavedSettings.getF32("BuildAxisScale3");
+ mBuildAxisScale[4] = gSavedSettings.getF32("BuildAxisScale4");
+ mBuildAxisScale[5] = gSavedSettings.getF32("BuildAxisScale5");
+
+ mFlycamAxisScale[0] = gSavedSettings.getF32("FlycamAxisScale0");
+ mFlycamAxisScale[1] = gSavedSettings.getF32("FlycamAxisScale1");
+ mFlycamAxisScale[2] = gSavedSettings.getF32("FlycamAxisScale2");
+ mFlycamAxisScale[3] = gSavedSettings.getF32("FlycamAxisScale3");
+ mFlycamAxisScale[4] = gSavedSettings.getF32("FlycamAxisScale4");
+ mFlycamAxisScale[5] = gSavedSettings.getF32("FlycamAxisScale5");
+ mFlycamAxisScale[6] = gSavedSettings.getF32("FlycamAxisScale6");
+
+ mAvatarAxisDeadZone[0] = gSavedSettings.getF32("AvatarAxisDeadZone0");
+ mAvatarAxisDeadZone[1] = gSavedSettings.getF32("AvatarAxisDeadZone1");
+ mAvatarAxisDeadZone[2] = gSavedSettings.getF32("AvatarAxisDeadZone2");
+ mAvatarAxisDeadZone[3] = gSavedSettings.getF32("AvatarAxisDeadZone3");
+ mAvatarAxisDeadZone[4] = gSavedSettings.getF32("AvatarAxisDeadZone4");
+ mAvatarAxisDeadZone[5] = gSavedSettings.getF32("AvatarAxisDeadZone5");
+
+ mBuildAxisDeadZone[0] = gSavedSettings.getF32("BuildAxisDeadZone0");
+ mBuildAxisDeadZone[1] = gSavedSettings.getF32("BuildAxisDeadZone1");
+ mBuildAxisDeadZone[2] = gSavedSettings.getF32("BuildAxisDeadZone2");
+ mBuildAxisDeadZone[3] = gSavedSettings.getF32("BuildAxisDeadZone3");
+ mBuildAxisDeadZone[4] = gSavedSettings.getF32("BuildAxisDeadZone4");
+ mBuildAxisDeadZone[5] = gSavedSettings.getF32("BuildAxisDeadZone5");
+
+ mFlycamAxisDeadZone[0] = gSavedSettings.getF32("FlycamAxisDeadZone0");
+ mFlycamAxisDeadZone[1] = gSavedSettings.getF32("FlycamAxisDeadZone1");
+ mFlycamAxisDeadZone[2] = gSavedSettings.getF32("FlycamAxisDeadZone2");
+ mFlycamAxisDeadZone[3] = gSavedSettings.getF32("FlycamAxisDeadZone3");
+ mFlycamAxisDeadZone[4] = gSavedSettings.getF32("FlycamAxisDeadZone4");
+ mFlycamAxisDeadZone[5] = gSavedSettings.getF32("FlycamAxisDeadZone5");
+ mFlycamAxisDeadZone[6] = gSavedSettings.getF32("FlycamAxisDeadZone6");
+
+ mAvatarFeathering = gSavedSettings.getF32("AvatarFeathering");
+ mBuildFeathering = gSavedSettings.getF32("BuildFeathering");
+ mFlycamFeathering = gSavedSettings.getF32("FlycamFeathering");
}
void LLFloaterJoystick::refresh()
{
- LLFloater::refresh();
+ LLFloater::refresh();
- initFromSettings();
+ initFromSettings();
+}
+
+bool LLFloaterJoystick::addDeviceCallback(std::string &name, LLSD& value, void* userdata)
+{
+ LLFloaterJoystick * floater = (LLFloaterJoystick*)userdata;
+ floater->mJoysticksCombo->add(name, value, ADD_BOTTOM, 1);
+ return false; // keep searching
}
void LLFloaterJoystick::addDevice(std::string &name, LLSD& value)
@@ -263,20 +270,22 @@ void LLFloaterJoystick::refreshListOfDevices()
addDevice(no_device, value);
mHasDeviceList = false;
-
+
+ void* win_calback = nullptr;
// di8_devices_callback callback is immediate and happens in scope of getInputDevices()
#if LL_WINDOWS && !LL_MESA_HEADLESS
// space navigator is marked as DI8DEVCLASS_GAMECTRL in ndof lib
U32 device_type = DI8DEVCLASS_GAMECTRL;
- void* callback = &di8_list_devices_callback;
+ win_calback = di8_list_devices_callback;
+#elif LL_DARWIN
+ U32 device_type = 0;
#else
- // MAC doesn't support device search yet
- // On MAC there is an ndof_idsearch and it is possible to specify product
- // and manufacturer in NDOF_Device for ndof_init_first to pick specific one
+ // On MAC it is possible to specify product
+ // and manufacturer in NDOF_Device for
+ // ndof_init_first to pick specific device
U32 device_type = 0;
- void* callback = NULL;
#endif
- if (gViewerWindow->getWindow()->getInputDevices(device_type, callback, this))
+ if (gViewerWindow->getWindow()->getInputDevices(device_type, addDeviceCallback, win_calback, this))
{
mHasDeviceList = true;
}
@@ -318,77 +327,77 @@ void LLFloaterJoystick::refreshListOfDevices()
void LLFloaterJoystick::cancel()
{
- gSavedSettings.setBOOL("JoystickEnabled", mJoystickEnabled);
- gSavedSettings.setLLSD("JoystickDeviceUUID", mJoystickId);
-
- gSavedSettings.setS32("JoystickAxis0", mJoystickAxis[0]);
- gSavedSettings.setS32("JoystickAxis1", mJoystickAxis[1]);
- gSavedSettings.setS32("JoystickAxis2", mJoystickAxis[2]);
- gSavedSettings.setS32("JoystickAxis3", mJoystickAxis[3]);
- gSavedSettings.setS32("JoystickAxis4", mJoystickAxis[4]);
- gSavedSettings.setS32("JoystickAxis5", mJoystickAxis[5]);
- gSavedSettings.setS32("JoystickAxis6", mJoystickAxis[6]);
-
- gSavedSettings.setBOOL("Cursor3D", m3DCursor);
- gSavedSettings.setBOOL("AutoLeveling", mAutoLeveling);
- gSavedSettings.setBOOL("ZoomDirect", mZoomDirect );
-
- gSavedSettings.setBOOL("JoystickAvatarEnabled", mAvatarEnabled);
- gSavedSettings.setBOOL("JoystickBuildEnabled", mBuildEnabled);
- gSavedSettings.setBOOL("JoystickFlycamEnabled", mFlycamEnabled);
-
- gSavedSettings.setF32("AvatarAxisScale0", mAvatarAxisScale[0]);
- gSavedSettings.setF32("AvatarAxisScale1", mAvatarAxisScale[1]);
- gSavedSettings.setF32("AvatarAxisScale2", mAvatarAxisScale[2]);
- gSavedSettings.setF32("AvatarAxisScale3", mAvatarAxisScale[3]);
- gSavedSettings.setF32("AvatarAxisScale4", mAvatarAxisScale[4]);
- gSavedSettings.setF32("AvatarAxisScale5", mAvatarAxisScale[5]);
-
- gSavedSettings.setF32("BuildAxisScale0", mBuildAxisScale[0]);
- gSavedSettings.setF32("BuildAxisScale1", mBuildAxisScale[1]);
- gSavedSettings.setF32("BuildAxisScale2", mBuildAxisScale[2]);
- gSavedSettings.setF32("BuildAxisScale3", mBuildAxisScale[3]);
- gSavedSettings.setF32("BuildAxisScale4", mBuildAxisScale[4]);
- gSavedSettings.setF32("BuildAxisScale5", mBuildAxisScale[5]);
-
- gSavedSettings.setF32("FlycamAxisScale0", mFlycamAxisScale[0]);
- gSavedSettings.setF32("FlycamAxisScale1", mFlycamAxisScale[1]);
- gSavedSettings.setF32("FlycamAxisScale2", mFlycamAxisScale[2]);
- gSavedSettings.setF32("FlycamAxisScale3", mFlycamAxisScale[3]);
- gSavedSettings.setF32("FlycamAxisScale4", mFlycamAxisScale[4]);
- gSavedSettings.setF32("FlycamAxisScale5", mFlycamAxisScale[5]);
- gSavedSettings.setF32("FlycamAxisScale6", mFlycamAxisScale[6]);
-
- gSavedSettings.setF32("AvatarAxisDeadZone0", mAvatarAxisDeadZone[0]);
- gSavedSettings.setF32("AvatarAxisDeadZone1", mAvatarAxisDeadZone[1]);
- gSavedSettings.setF32("AvatarAxisDeadZone2", mAvatarAxisDeadZone[2]);
- gSavedSettings.setF32("AvatarAxisDeadZone3", mAvatarAxisDeadZone[3]);
- gSavedSettings.setF32("AvatarAxisDeadZone4", mAvatarAxisDeadZone[4]);
- gSavedSettings.setF32("AvatarAxisDeadZone5", mAvatarAxisDeadZone[5]);
-
- gSavedSettings.setF32("BuildAxisDeadZone0", mBuildAxisDeadZone[0]);
- gSavedSettings.setF32("BuildAxisDeadZone1", mBuildAxisDeadZone[1]);
- gSavedSettings.setF32("BuildAxisDeadZone2", mBuildAxisDeadZone[2]);
- gSavedSettings.setF32("BuildAxisDeadZone3", mBuildAxisDeadZone[3]);
- gSavedSettings.setF32("BuildAxisDeadZone4", mBuildAxisDeadZone[4]);
- gSavedSettings.setF32("BuildAxisDeadZone5", mBuildAxisDeadZone[5]);
-
- gSavedSettings.setF32("FlycamAxisDeadZone0", mFlycamAxisDeadZone[0]);
- gSavedSettings.setF32("FlycamAxisDeadZone1", mFlycamAxisDeadZone[1]);
- gSavedSettings.setF32("FlycamAxisDeadZone2", mFlycamAxisDeadZone[2]);
- gSavedSettings.setF32("FlycamAxisDeadZone3", mFlycamAxisDeadZone[3]);
- gSavedSettings.setF32("FlycamAxisDeadZone4", mFlycamAxisDeadZone[4]);
- gSavedSettings.setF32("FlycamAxisDeadZone5", mFlycamAxisDeadZone[5]);
- gSavedSettings.setF32("FlycamAxisDeadZone6", mFlycamAxisDeadZone[6]);
-
- gSavedSettings.setF32("AvatarFeathering", mAvatarFeathering);
- gSavedSettings.setF32("BuildFeathering", mBuildFeathering);
- gSavedSettings.setF32("FlycamFeathering", mFlycamFeathering);
+ gSavedSettings.setBOOL("JoystickEnabled", mJoystickEnabled);
+ gSavedSettings.setLLSD("JoystickDeviceUUID", mJoystickId);
+
+ gSavedSettings.setS32("JoystickAxis0", mJoystickAxis[0]);
+ gSavedSettings.setS32("JoystickAxis1", mJoystickAxis[1]);
+ gSavedSettings.setS32("JoystickAxis2", mJoystickAxis[2]);
+ gSavedSettings.setS32("JoystickAxis3", mJoystickAxis[3]);
+ gSavedSettings.setS32("JoystickAxis4", mJoystickAxis[4]);
+ gSavedSettings.setS32("JoystickAxis5", mJoystickAxis[5]);
+ gSavedSettings.setS32("JoystickAxis6", mJoystickAxis[6]);
+
+ gSavedSettings.setBOOL("Cursor3D", m3DCursor);
+ gSavedSettings.setBOOL("AutoLeveling", mAutoLeveling);
+ gSavedSettings.setBOOL("ZoomDirect", mZoomDirect );
+
+ gSavedSettings.setBOOL("JoystickAvatarEnabled", mAvatarEnabled);
+ gSavedSettings.setBOOL("JoystickBuildEnabled", mBuildEnabled);
+ gSavedSettings.setBOOL("JoystickFlycamEnabled", mFlycamEnabled);
+
+ gSavedSettings.setF32("AvatarAxisScale0", mAvatarAxisScale[0]);
+ gSavedSettings.setF32("AvatarAxisScale1", mAvatarAxisScale[1]);
+ gSavedSettings.setF32("AvatarAxisScale2", mAvatarAxisScale[2]);
+ gSavedSettings.setF32("AvatarAxisScale3", mAvatarAxisScale[3]);
+ gSavedSettings.setF32("AvatarAxisScale4", mAvatarAxisScale[4]);
+ gSavedSettings.setF32("AvatarAxisScale5", mAvatarAxisScale[5]);
+
+ gSavedSettings.setF32("BuildAxisScale0", mBuildAxisScale[0]);
+ gSavedSettings.setF32("BuildAxisScale1", mBuildAxisScale[1]);
+ gSavedSettings.setF32("BuildAxisScale2", mBuildAxisScale[2]);
+ gSavedSettings.setF32("BuildAxisScale3", mBuildAxisScale[3]);
+ gSavedSettings.setF32("BuildAxisScale4", mBuildAxisScale[4]);
+ gSavedSettings.setF32("BuildAxisScale5", mBuildAxisScale[5]);
+
+ gSavedSettings.setF32("FlycamAxisScale0", mFlycamAxisScale[0]);
+ gSavedSettings.setF32("FlycamAxisScale1", mFlycamAxisScale[1]);
+ gSavedSettings.setF32("FlycamAxisScale2", mFlycamAxisScale[2]);
+ gSavedSettings.setF32("FlycamAxisScale3", mFlycamAxisScale[3]);
+ gSavedSettings.setF32("FlycamAxisScale4", mFlycamAxisScale[4]);
+ gSavedSettings.setF32("FlycamAxisScale5", mFlycamAxisScale[5]);
+ gSavedSettings.setF32("FlycamAxisScale6", mFlycamAxisScale[6]);
+
+ gSavedSettings.setF32("AvatarAxisDeadZone0", mAvatarAxisDeadZone[0]);
+ gSavedSettings.setF32("AvatarAxisDeadZone1", mAvatarAxisDeadZone[1]);
+ gSavedSettings.setF32("AvatarAxisDeadZone2", mAvatarAxisDeadZone[2]);
+ gSavedSettings.setF32("AvatarAxisDeadZone3", mAvatarAxisDeadZone[3]);
+ gSavedSettings.setF32("AvatarAxisDeadZone4", mAvatarAxisDeadZone[4]);
+ gSavedSettings.setF32("AvatarAxisDeadZone5", mAvatarAxisDeadZone[5]);
+
+ gSavedSettings.setF32("BuildAxisDeadZone0", mBuildAxisDeadZone[0]);
+ gSavedSettings.setF32("BuildAxisDeadZone1", mBuildAxisDeadZone[1]);
+ gSavedSettings.setF32("BuildAxisDeadZone2", mBuildAxisDeadZone[2]);
+ gSavedSettings.setF32("BuildAxisDeadZone3", mBuildAxisDeadZone[3]);
+ gSavedSettings.setF32("BuildAxisDeadZone4", mBuildAxisDeadZone[4]);
+ gSavedSettings.setF32("BuildAxisDeadZone5", mBuildAxisDeadZone[5]);
+
+ gSavedSettings.setF32("FlycamAxisDeadZone0", mFlycamAxisDeadZone[0]);
+ gSavedSettings.setF32("FlycamAxisDeadZone1", mFlycamAxisDeadZone[1]);
+ gSavedSettings.setF32("FlycamAxisDeadZone2", mFlycamAxisDeadZone[2]);
+ gSavedSettings.setF32("FlycamAxisDeadZone3", mFlycamAxisDeadZone[3]);
+ gSavedSettings.setF32("FlycamAxisDeadZone4", mFlycamAxisDeadZone[4]);
+ gSavedSettings.setF32("FlycamAxisDeadZone5", mFlycamAxisDeadZone[5]);
+ gSavedSettings.setF32("FlycamAxisDeadZone6", mFlycamAxisDeadZone[6]);
+
+ gSavedSettings.setF32("AvatarFeathering", mAvatarFeathering);
+ gSavedSettings.setF32("BuildFeathering", mBuildFeathering);
+ gSavedSettings.setF32("FlycamFeathering", mFlycamFeathering);
}
void LLFloaterJoystick::onCommitJoystickEnabled(LLUICtrl*, void *joy_panel)
{
- LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
+ LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
LLSD value = self->mJoysticksCombo->getValue();
bool joystick_enabled = true;
@@ -407,72 +416,73 @@ void LLFloaterJoystick::onCommitJoystickEnabled(LLUICtrl*, void *joy_panel)
joystick_enabled = true;
}
gSavedSettings.setBOOL("JoystickEnabled", joystick_enabled);
- BOOL flycam_enabled = self->mCheckFlycamEnabled->get();
-
- if (!joystick_enabled || !flycam_enabled)
- {
- // Turn off flycam
- LLViewerJoystick* joystick(LLViewerJoystick::getInstance());
- if (joystick->getOverrideCamera())
- {
- joystick->toggleFlycam();
- }
- }
-
- std::string device_id = LLViewerJoystick::getInstance()->getDeviceUUIDString();
- gSavedSettings.setString("JoystickDeviceUUID", device_id);
- LL_DEBUGS("Joystick") << "Selected " << device_id << " as joystick." << LL_ENDL;
+ BOOL flycam_enabled = self->mCheckFlycamEnabled->get();
+
+ if (!joystick_enabled || !flycam_enabled)
+ {
+ // Turn off flycam
+ LLViewerJoystick* joystick(LLViewerJoystick::getInstance());
+ if (joystick->getOverrideCamera())
+ {
+ joystick->toggleFlycam();
+ }
+ }
+
+ LLViewerJoystick::getInstance()->saveDeviceIdToSettings();
+
+ std::string device_string = LLViewerJoystick::getInstance()->getDeviceUUIDString();
+ LL_DEBUGS("Joystick") << "Selected " << device_string << " as joystick." << LL_ENDL;
self->refreshListOfDevices();
}
void LLFloaterJoystick::onClickRestoreSNDefaults(void *joy_panel)
{
- setSNDefaults();
+ setSNDefaults();
}
void LLFloaterJoystick::onClickCancel(void *joy_panel)
{
- if (joy_panel)
- {
- LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
-
- if (self)
- {
- self->cancel();
- self->closeFloater();
- }
- }
+ if (joy_panel)
+ {
+ LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
+
+ if (self)
+ {
+ self->cancel();
+ self->closeFloater();
+ }
+ }
}
void LLFloaterJoystick::onClickOK(void *joy_panel)
{
- if (joy_panel)
- {
- LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
-
- if (self)
- {
- self->closeFloater();
- }
- }
+ if (joy_panel)
+ {
+ LLFloaterJoystick* self = (LLFloaterJoystick*)joy_panel;
+
+ if (self)
+ {
+ self->closeFloater();
+ }
+ }
}
void LLFloaterJoystick::onClickCloseBtn(bool app_quitting)
{
- cancel();
- closeFloater(app_quitting);
+ cancel();
+ closeFloater(app_quitting);
}
void LLFloaterJoystick::setSNDefaults()
{
- LLViewerJoystick::getInstance()->setSNDefaults();
+ LLViewerJoystick::getInstance()->setSNDefaults();
}
void LLFloaterJoystick::onClose(bool app_quitting)
{
- if (app_quitting)
- {
- cancel();
- }
+ if (app_quitting)
+ {
+ cancel();
+ }
}