summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermessage.cpp
diff options
context:
space:
mode:
authorHadet <hadet@Mac.lan>2026-05-31 19:36:28 -0500
committerErik Kundiman <erik@megapahit.org>2026-06-01 08:33:17 +0700
commit56809d4eedd6f83ae5f018d8be9fb4234ef46224 (patch)
tree5dbde10556b8695c8d8cea7f45cce9a3c38e5e2a /indra/newview/llviewermessage.cpp
parent3b07dcd3de61bb47d7f5574606253996d7e85af7 (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.cpp11
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