From f7ebdef157eba6ced63bb73472c5a965cbaf41bc Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Sat, 5 Jun 2010 16:19:06 -0700 Subject: Reverted cedce34e in favor of the coolviewer anti-show look at patch (fixes the crash in #322). Kept the debug setting the same --- linden/indra/newview/llglsandbox.cpp | 20 ++++++++++++++++++++ linden/indra/newview/llhudeffectlookat.cpp | 24 +++--------------------- 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llglsandbox.cpp b/linden/indra/newview/llglsandbox.cpp index 7213e24..a316069 100644 --- a/linden/indra/newview/llglsandbox.cpp +++ b/linden/indra/newview/llglsandbox.cpp @@ -71,6 +71,16 @@ BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position) { + if (object && target_type != LOOKAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAtTarget")) + { + if ((object->getPositionGlobal() - gAgent.getPositionGlobal()).magVec() > 20.0) + { + target_type = LOOKAT_TARGET_NONE; + object = mAvatarObject; + position.clearVec(); + } + } + if(object && object->isAttachment()) { LLViewerObject* parent = object; @@ -102,6 +112,16 @@ BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVec return FALSE; } + if (object && target_type != POINTAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAtTarget")) + { + if ((object->getPositionGlobal() - gAgent.getPositionGlobal()).magVec() > 20.0) + { + target_type = POINTAT_TARGET_NONE; + object = NULL; + position.clearVec(); + } + } + if(!mPointAt || mPointAt->isDead()) { mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT); diff --git a/linden/indra/newview/llhudeffectlookat.cpp b/linden/indra/newview/llhudeffectlookat.cpp index 7de5f14..60b2b89 100644 --- a/linden/indra/newview/llhudeffectlookat.cpp +++ b/linden/indra/newview/llhudeffectlookat.cpp @@ -287,36 +287,18 @@ void LLHUDEffectLookAt::packData(LLMessageSystem *mesgsys) // pack both target object and position // position interpreted as offset if target object is non-null - ELookAtType target_type = mTargetType; - LLVector3d target_offset_global = mTargetOffsetGlobal; - LLViewerObject* target_object = (LLViewerObject*) mTargetObject; - - LLVOAvatar* source_avatar = (LLVOAvatar*)(LLViewerObject*)mSourceObject; - bool is_self = source_avatar-> isSelf(); - bool is_private = gSavedSettings.getBOOL("PrivateLookAtTarget"); - - if (is_private && is_self) - { - //this mimicks own avatar selected, consider not to change this - //because bots could profile other settings for evil client detection - target_type = LOOKAT_TARGET_SELECT; - target_offset_global.setVec(5.0, 0.0, 0.0); - target_object = mSourceObject; - } - - if (mTargetObject) { - htonmemcpy(&(packed_data[TARGET_OBJECT]), target_object->mID.mData, MVT_LLUUID, 16); + htonmemcpy(&(packed_data[TARGET_OBJECT]), mTargetObject->mID.mData, MVT_LLUUID, 16); } else { htonmemcpy(&(packed_data[TARGET_OBJECT]), LLUUID::null.mData, MVT_LLUUID, 16); } - htonmemcpy(&(packed_data[TARGET_POS]), target_offset_global.mdV, MVT_LLVector3d, 24); + htonmemcpy(&(packed_data[TARGET_POS]), mTargetOffsetGlobal.mdV, MVT_LLVector3d, 24); - U8 lookAtTypePacked = (U8)target_type; + U8 lookAtTypePacked = (U8)mTargetType; htonmemcpy(&(packed_data[LOOKAT_TYPE]), &lookAtTypePacked, MVT_U8, 1); -- cgit v1.1