diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7e5a991c7..0ccac5736 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9,6 +9,17 @@ settings_rlv.xml + SGIgnoreSimulatorCameraConstraints + + Comment + Don't let the simulator push your camera around + Persist + 1 + Type + Boolean + Value + 0 + SGAllowRiggedMeshSelection Comment diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 08c35ec43..93390e1e5 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -1844,7 +1844,10 @@ LLVector3d LLAgentCamera::calcCameraPositionTargetGlobal(BOOL *hit_limit) local_camera_offset = gAgent.getFrameAgent().rotateToAbsolute( local_camera_offset ); } - if (!mCameraCollidePlane.isExactlyZero() && (!isAgentAvatarValid() || !gAgentAvatarp->isSitting())) + if ( !mCameraCollidePlane.isExactlyZero() + && !gSavedSettings.getBOOL("SGIgnoreSimulatorCameraConstraints") + && isAgentAvatarValid() + && !gAgentAvatarp->isSitting()) { LLVector3 plane_normal; plane_normal.setVec(mCameraCollidePlane.mV);