aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llhudeffectlookat.cpp
diff options
context:
space:
mode:
authorArmin Weatherwax2010-02-26 17:33:44 +0100
committerJacek Antonelli2010-03-04 21:34:08 -0600
commitcedce34ead32b5b6b595c133b94bbbede0324f6b (patch)
tree46e1366257c8480081d93fa10fe69ba95c938bca /linden/indra/newview/llhudeffectlookat.cpp
parentPorted temporary texture uploads from Emerald. (diff)
downloadmeta-impy-cedce34ead32b5b6b595c133b94bbbede0324f6b.zip
meta-impy-cedce34ead32b5b6b595c133b94bbbede0324f6b.tar.gz
meta-impy-cedce34ead32b5b6b595c133b94bbbede0324f6b.tar.bz2
meta-impy-cedce34ead32b5b6b595c133b94bbbede0324f6b.tar.xz
Added PrivateLookAtTarget option.
When true, viewer won't tell where your avatar is looking.
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llhudeffectlookat.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/linden/indra/newview/llhudeffectlookat.cpp b/linden/indra/newview/llhudeffectlookat.cpp
index 3a5bec2..b54101e 100644
--- a/linden/indra/newview/llhudeffectlookat.cpp
+++ b/linden/indra/newview/llhudeffectlookat.cpp
@@ -285,18 +285,36 @@ void LLHUDEffectLookAt::packData(LLMessageSystem *mesgsys)
285 285
286 // pack both target object and position 286 // pack both target object and position
287 // position interpreted as offset if target object is non-null 287 // position interpreted as offset if target object is non-null
288 ELookAtType target_type = mTargetType;
289 LLVector3d target_offset_global = mTargetOffsetGlobal;
290 LLViewerObject* target_object = (LLViewerObject*) mTargetObject;
291
292 LLVOAvatar* source_avatar = (LLVOAvatar*)(LLViewerObject*)mSourceObject;
293 bool is_self = source_avatar-> isSelf();
294 bool is_private = gSavedSettings.getBOOL("PrivateLookAtTarget");
295
296 if (is_private && is_self)
297 {
298 //this mimicks own avatar selected, consider not to change this
299 //because bots could profile other settings for evil client detection
300 target_type = LOOKAT_TARGET_SELECT;
301 target_offset_global.setVec(5.0, 0.0, 0.0);
302 target_object = mSourceObject;
303 }
304
305
288 if (mTargetObject) 306 if (mTargetObject)
289 { 307 {
290 htonmemcpy(&(packed_data[TARGET_OBJECT]), mTargetObject->mID.mData, MVT_LLUUID, 16); 308 htonmemcpy(&(packed_data[TARGET_OBJECT]), target_object->mID.mData, MVT_LLUUID, 16);
291 } 309 }
292 else 310 else
293 { 311 {
294 htonmemcpy(&(packed_data[TARGET_OBJECT]), LLUUID::null.mData, MVT_LLUUID, 16); 312 htonmemcpy(&(packed_data[TARGET_OBJECT]), LLUUID::null.mData, MVT_LLUUID, 16);
295 } 313 }
296 314
297 htonmemcpy(&(packed_data[TARGET_POS]), mTargetOffsetGlobal.mdV, MVT_LLVector3d, 24); 315 htonmemcpy(&(packed_data[TARGET_POS]), target_offset_global.mdV, MVT_LLVector3d, 24);
298 316
299 U8 lookAtTypePacked = (U8)mTargetType; 317 U8 lookAtTypePacked = (U8)target_type;
300 318
301 htonmemcpy(&(packed_data[LOOKAT_TYPE]), &lookAtTypePacked, MVT_U8, 1); 319 htonmemcpy(&(packed_data[LOOKAT_TYPE]), &lookAtTypePacked, MVT_U8, 1);
302 320