diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h
index 2f07665e6fa2102091b8136b747a21c1a310ca52..f7f6841b530942ebe2869d1f04a73b0b1931492b 100644
--- a/indra/llprimitive/object_flags.h
+++ b/indra/llprimitive/object_flags.h
@@ -1,71 +1,75 @@
-/** 
- * @file object_flags.h
- * @brief Flags for object creation and transmission
- *
- * $LicenseInfo:firstyear=2001&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- * 
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_OBJECT_FLAGS_H
-#define LL_OBJECT_FLAGS_H
-
-// downstream flags from sim->viewer
-const U32	FLAGS_USE_PHYSICS			= 0x00000001;
-const U32	FLAGS_CREATE_SELECTED		= 0x00000002;
-const U32	FLAGS_OBJECT_MODIFY			= 0x00000004;
-const U32	FLAGS_OBJECT_COPY			= 0x00000008;
-const U32	FLAGS_OBJECT_ANY_OWNER		= 0x00000010;
-const U32	FLAGS_OBJECT_YOU_OWNER		= 0x00000020;
-const U32	FLAGS_SCRIPTED				= 0x00000040;
-const U32	FLAGS_HANDLE_TOUCH			= 0x00000080;
-const U32	FLAGS_OBJECT_MOVE			= 0x00000100;
-const U32	FLAGS_TAKES_MONEY			= 0x00000200;
-const U32	FLAGS_PHANTOM				= 0x00000400;
-const U32	FLAGS_INVENTORY_EMPTY		= 0x00000800;
-
-const U32	FLAGS_INCLUDE_IN_SEARCH		= 0x00008000;
-
-const U32	FLAGS_ALLOW_INVENTORY_DROP	= 0x00010000;
-const U32	FLAGS_OBJECT_TRANSFER		= 0x00020000;
-const U32	FLAGS_OBJECT_GROUP_OWNED	= 0x00040000;
-
-const U32 	FLAGS_CAMERA_DECOUPLED 		= 0x00100000;
-const U32	FLAGS_ANIM_SOURCE			= 0x00200000;
-const U32	FLAGS_CAMERA_SOURCE			= 0x00400000;
-
-const U32	FLAGS_OBJECT_OWNER_MODIFY	= 0x10000000;
-
-const U32	FLAGS_TEMPORARY_ON_REZ		= 0x20000000;
-
-const U32	FLAGS_LOCAL					= FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
-
-typedef enum e_havok_joint_type
-{
-	HJT_INVALID = 0,
-	HJT_HINGE  	= 1,
-	HJT_POINT 	= 2,
-//	HJT_LPOINT 	= 3,
-//	HJT_WHEEL 	= 4,
-	HJT_EOF 	= 3
-} EHavokJointType;
-
-#endif
-
+/** 
+ * @file object_flags.h
+ * @brief Flags for object creation and transmission
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_OBJECT_FLAGS_H
+#define LL_OBJECT_FLAGS_H
+
+// downstream flags from sim->viewer
+const U32   FLAGS_USE_PHYSICS          = (1U << 0);
+const U32   FLAGS_CREATE_SELECTED      = (1U << 1);
+const U32   FLAGS_OBJECT_MODIFY        = (1U << 2);
+const U32   FLAGS_OBJECT_COPY          = (1U << 3);
+const U32   FLAGS_OBJECT_ANY_OWNER     = (1U << 4);
+const U32   FLAGS_OBJECT_YOU_OWNER     = (1U << 5);
+const U32   FLAGS_SCRIPTED             = (1U << 6);
+const U32   FLAGS_HANDLE_TOUCH         = (1U << 7);
+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_CHARACTER            = (1U << 13);
+//const U32 FLAGS_UNUSED_000           = (1U << 14); // was FLAGS_JOINT_LP2P
+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_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_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_LOCAL                = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
+
+typedef enum e_havok_joint_type
+{
+	HJT_INVALID = 0,
+	HJT_HINGE  	= 1,
+	HJT_POINT 	= 2,
+//	HJT_LPOINT 	= 3,
+//	HJT_WHEEL 	= 4,
+	HJT_EOF 	= 3
+} EHavokJointType;
+
+#endif
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index b6e3f0442ea0492c35b293cd10df8e4b948607d4..63215942ac4e675c5921a9b93245e199e0a8d26e 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -477,6 +477,8 @@ class LLViewerObject : public LLPrimitive, public LLRefCount, public LLGLUpdate
 	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 ((mFlags & FLAGS_OBJECT_PERMANENT) != 0); }
+	inline BOOL		flagCharacter() const			{ return ((mFlags & FLAGS_CHARACTER) != 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); }
diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
index 38adda6655e64ae32e4d71638703ce567545629f..d00b85f5d7371738bc8f6467709ac12fec345e2c 100644
--- a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
+++ b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
@@ -28,10 +28,10 @@
   <floater.string name="linkset_terrain_dist_from_you">--</floater.string>
   <floater.string name="linkset_use_walkable">Walkable</floater.string>
   <floater.string name="linkset_use_static_obstacle">Static obstacle</floater.string>
-  <floater.string name="linkset_use_dynamic_obstacle">Dynamic obstacle</floater.string>
+  <floater.string name="linkset_use_dynamic_obstacle">Movable obstacle</floater.string>
   <floater.string name="linkset_use_material_volume">Material volume</floater.string>
   <floater.string name="linkset_use_exclusion_volume">Exclusion volume</floater.string>
-  <floater.string name="linkset_use_dynamic_phantom">Dynamic phantom</floater.string>
+  <floater.string name="linkset_use_dynamic_phantom">Movable phantom</floater.string>
   <floater.string name="linkset_is_terrain">[unmodifiable]</floater.string>
   <floater.string name="linkset_is_restricted_state">[restricted]</floater.string>
   <floater.string name="linkset_choose_use">Choose linkset use...</floater.string>
@@ -126,7 +126,7 @@
           name="filter_by_linkset_use_static_obstacle"
           value="2" />
       <combo_box.item
-          label="Dynamic obstacle"
+          label="Movable obstacle"
           name="filter_by_linkset_use_dynamic_obstacle"
           value="3" />
       <combo_box.item
@@ -138,7 +138,7 @@
           name="filter_by_linkset_use_exclusion_volume"
           value="5" />
       <combo_box.item
-          label="Dynamic phantom"
+          label="Movable phantom"
           name="filter_by_linkset_use_dynamic_phantom"
           value="6" />
     </combo_box>