diff options
| author | Hadet <hadet@Mac.lan> | 2026-05-28 21:27:52 -0500 |
|---|---|---|
| committer | Hadet <hadet@Mac.lan> | 2026-05-29 18:03:54 -0500 |
| commit | 4c6584d1ecc57e8a34e078935b03851b59d4f9eb (patch) | |
| tree | 5c8a3edc3a5ae79c93a0d35becdc510606cfdec1 /indra/newview/llviewermenu.cpp | |
| parent | 184cd85f01b7654e8dd3e476b2c268849d97ee78 (diff) | |
add Over-The-Shoulder mouse look alternative
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 24 |
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; |
