summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
authorHadet <hadet@terminus.local>2026-05-23 21:28:25 -0500
committerErik Kundiman <erik@megapahit.org>2026-05-25 09:47:04 +0700
commit3ac400d744971db9cf7bbfb6df3c1f0ef5662c82 (patch)
tree53323b654c60b80af2d9d9e1123573b0b0424267 /indra/newview/llviewermenu.cpp
parent9b1fa446a1148485bfc075fb6c5c8b286e827589 (diff)
Add Firestorm-based features: quick prefs, mouselook zoom, group nameplate tinting
- Quick Preferences floater with hover height and bandwidth sliders - Mouselook right-click zoom with scroll wheel adjustment - Group-based nameplate color tinting via group profile
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r--indra/newview/llviewermenu.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8dab1e42d0..4632800e2d 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -4784,6 +4784,19 @@ class LLViewMouselook : public view_listener_t
}
else
{
+ // NaCl: Right-click + scroll wheel zoom in mouselook (ported from Firestorm).
+ // If we were zoomed when the user toggles out of mouselook, restore the
+ // normal (pre-zoom) FOV before switching back to the default camera.
+ LLVector3 mlFovValues = gSavedSettings.getVector3("_NACL_MLFovValues");
+ F32 cameraAngle = gSavedSettings.getF32("CameraAngle");
+ if (mlFovValues.mV[VZ] > 0.0f)
+ {
+ mlFovValues.mV[VY] = cameraAngle; // preserve last zoomed FOV
+ mlFovValues.mV[VZ] = 0.0f;
+ gSavedSettings.setVector3("_NACL_MLFovValues", mlFovValues);
+ gSavedSettings.setF32("CameraAngle", mlFovValues.mV[VX]); // restore normal FOV
+ }
+ // NaCl End
gAgentCamera.changeCameraToDefault();
}
return true;
@@ -7154,6 +7167,13 @@ void handle_hover_height()
LLFloaterReg::showInstance("edit_hover_height");
}
+// Firestorm port: Quick Preferences floater (hover height, bandwidth)
+void handle_quick_prefs()
+{
+ LLFloaterReg::toggleInstance("quick_prefs");
+}
+// End Firestorm port
+
void handle_edit_physics()
{
LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_physics"));
@@ -9983,6 +10003,7 @@ void initialize_menus()
commit.add("EditShape", boost::bind(&handle_edit_shape));
commit.add("HoverHeight", boost::bind(&handle_hover_height));
commit.add("EditPhysics", boost::bind(&handle_edit_physics));
+ commit.add("QuickPrefs", boost::bind(&handle_quick_prefs)); // Firestorm port
// View menu
view_listener_t::addMenu(new LLViewMouselook(), "View.Mouselook");