summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-05-31 08:11:04 +0700
committerGitHub <noreply@github.com>2026-05-31 08:11:04 +0700
commite1290b7bcfad38602c15f764481840ecd69d2f02 (patch)
treecb0ca16c8a6e19701723048608f3c5ca9f671585 /indra/newview/llviewermenu.cpp
parent184cd85f01b7654e8dd3e476b2c268849d97ee78 (diff)
parent390597c3bd532b29b4dfb4fb63cae9ac71bdbed9 (diff)
Merge pull request #23 from HadetTheUndying/combat-features
Combat features
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r--indra/newview/llviewermenu.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 4632800e2d..833a3cde6f 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -4778,25 +4778,37 @@ class LLViewMouselook : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
+ // When OTS is enabled M toggles OTS mode (shoulder cam).
+ // When disabled M toggles normal first-person mouselook.
+ if (gSavedSettings.getBOOL("OTSEnabled"))
+ {
+ if (!gAgentCamera.cameraOTS())
+ {
+ gAgentCamera.changeCameraToOTS();
+ }
+ else
+ {
+ gAgentCamera.changeCameraFromOTS();
+ }
+ return true;
+ }
+
if (!gAgentCamera.cameraMouselook())
{
gAgentCamera.changeCameraToMouselook();
}
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.
+ // NaCl: restore FOV on mouselook exit
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[VY] = cameraAngle;
mlFovValues.mV[VZ] = 0.0f;
gSavedSettings.setVector3("_NACL_MLFovValues", mlFovValues);
- gSavedSettings.setF32("CameraAngle", mlFovValues.mV[VX]); // restore normal FOV
+ gSavedSettings.setF32("CameraAngle", mlFovValues.mV[VX]);
}
- // NaCl End
gAgentCamera.changeCameraToDefault();
}
return true;