summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-07-12 14:12:58 -0700
committerTodd Stinson <stinson@lindenlab.com>2012-07-12 14:12:58 -0700
commit90fdf60d697f5c1e451a41eff0c6856e36cf1b64 (patch)
tree5a371aacf333e1a6546913af4d5c712acd160a92 /indra
parenta34c1e9a0c3f4cc675fd5edd59da35309b91aae8 (diff)
PATH-807: Adding an additional check for if the object is marked as volume-detect. Note that this will require Andrew's corresponding server-side change to take effect. However, the viewer change alone should have no neative effect prior to the server being updated.
Diffstat (limited to 'indra')
-rw-r--r--indra/llprimitive/object_flags.h28
-rw-r--r--indra/newview/llselectmgr.cpp1
-rw-r--r--indra/newview/llviewerobject.h3
3 files changed, 21 insertions, 11 deletions
diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h
index b06a5ad4e3..31dbd15ae0 100644
--- a/indra/llprimitive/object_flags.h
+++ b/indra/llprimitive/object_flags.h
@@ -40,26 +40,34 @@ const U32 FLAGS_OBJECT_MOVE = (1U << 8);
const U32 FLAGS_TAKES_MONEY = (1U << 9);
const U32 FLAGS_PHANTOM = (1U << 10);
const U32 FLAGS_INVENTORY_EMPTY = (1U << 11);
-const U32 FLAGS_OBJECT_PERMANENT = (1U << 12);
+
+const U32 FLAGS_AFFECTS_NAVMESH = (1U << 12);
const U32 FLAGS_CHARACTER = (1U << 13);
-//const U32 FLAGS_UNUSED_000 = (1U << 14); // was FLAGS_JOINT_LP2P
+const U32 FLAGS_VOLUME_DETECT = (1U << 14);
const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15);
+
const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16);
const U32 FLAGS_OBJECT_TRANSFER = (1U << 17);
const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18);
-//const U32 FLAGS_UNUSED_001 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER
+//const U32 FLAGS_UNUSED_000 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER
+
const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20);
const U32 FLAGS_ANIM_SOURCE = (1U << 21);
const U32 FLAGS_CAMERA_SOURCE = (1U << 22);
-//const U32 FLAGS_UNUSED_002 = (1U << 23); // was FLAGS_CAST_SHADOWS
-//const U32 FLAGS_UNUSED_003 = (1U << 24);
-//const U32 FLAGS_UNUSED_004 = (1U << 25);
-//const U32 FLAGS_UNUSED_005 = (1U << 26);
-//const U32 FLAGS_UNUSED_006 = (1U << 27);
+
+//const U32 FLAGS_UNUSED_001 = (1U << 23); // was FLAGS_CAST_SHADOWS
+
+//const U32 FLAGS_UNUSED_002 = (1U << 24);
+//const U32 FLAGS_UNUSED_003 = (1U << 25);
+//const U32 FLAGS_UNUSED_004 = (1U << 26);
+//const U32 FLAGS_UNUSED_005 = (1U << 27);
+
const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28);
+
const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29);
-//const U32 FLAGS_UNUSED_007 = (1U << 30); // was FLAGS_TEMPORARY
-//const U32 FLAGS_UNUSED_008 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED
+//const U32 FLAGS_UNUSED_006 = (1U << 30); // was FLAGS_TEMPORARY
+//const U32 FLAGS_UNUSED_007 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED
+
const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
typedef enum e_havok_joint_type
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index b9449e806f..a5d9db4a00 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -2804,6 +2804,7 @@ BOOL LLSelectMgr::selectGetEditableLinksets()
if (object->flagUsePhysics() ||
object->flagTemporaryOnRez() ||
object->flagCharacter() ||
+ object->flagVolumeDetect() ||
object->flagAnimSource() ||
(!gAgent.isGodlike() &&
!gAgent.canManageEstate() &&
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index 4a33c3a674..d63ab1e10d 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -477,8 +477,9 @@ public:
inline BOOL flagObjectCopy() const { return ((mFlags & FLAGS_OBJECT_COPY) != 0); }
inline BOOL flagObjectMove() const { return ((mFlags & FLAGS_OBJECT_MOVE) != 0); }
inline BOOL flagObjectTransfer() const { return ((mFlags & FLAGS_OBJECT_TRANSFER) != 0); }
- inline BOOL flagObjectPermanent() const { return gSavedSettings.getBOOL("PathfindingDisablePermanentObjects") ? FALSE : ((mFlags & FLAGS_OBJECT_PERMANENT) != 0); }
+ inline BOOL flagObjectPermanent() const { return gSavedSettings.getBOOL("PathfindingDisablePermanentObjects") ? FALSE : ((mFlags & FLAGS_AFFECTS_NAVMESH) != 0); }
inline BOOL flagCharacter() const { return gSavedSettings.getBOOL("PathfindingDisableCharacterObjects") ? FALSE : ((mFlags & FLAGS_CHARACTER) != 0); }
+ inline BOOL flagVolumeDetect() const { return ((mFlags & FLAGS_VOLUME_DETECT) != 0); }
inline BOOL flagIncludeInSearch() const { return ((mFlags & FLAGS_INCLUDE_IN_SEARCH) != 0); }
inline BOOL flagScripted() const { return ((mFlags & FLAGS_SCRIPTED) != 0); }
inline BOOL flagHandleTouch() const { return ((mFlags & FLAGS_HANDLE_TOUCH) != 0); }