diff options
| author | Hadet <hadet@Mac.lan> | 2026-05-31 19:36:28 -0500 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-06-01 08:33:17 +0700 |
| commit | 56809d4eedd6f83ae5f018d8be9fb4234ef46224 (patch) | |
| tree | 5dbde10556b8695c8d8cea7f45cce9a3c38e5e2a /indra/newview/llviewermessage.cpp | |
| parent | 3b07dcd3de61bb47d7f5574606253996d7e85af7 (diff) | |
Add Teleports preferences tab: keep camera on local teleport and disable teleport screen
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index b8515fd92b..1c6544f3f9 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6120,11 +6120,18 @@ void process_teleport_local(LLMessageSystem *msg,void**) } gAgent.setPositionAgent(pos); - gAgentCamera.slamLookAt(look_at); + + bool keep_camera_local_tp = gSavedSettings.getBOOL("KeepCameraOnLocalTeleport"); + + if (!keep_camera_local_tp) + { + gAgentCamera.slamLookAt(look_at); + } if ( !(gAgent.getTeleportKeepsLookAt() && LLViewerJoystick::getInstance()->getOverrideCamera()) ) { - gAgentCamera.resetView(true, true); + // resetView still runs (cleanup); the false args just leave the camera alone. + gAgentCamera.resetView(!keep_camera_local_tp, !keep_camera_local_tp); } // send camera update to new region |
