diff options
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 24 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.h | 5 | 
2 files changed, 26 insertions, 3 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1d616a76fb..8e9a82a77d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13842,6 +13842,28 @@        <string>F32</string>        <key>Value</key>        <real>255</real> -    </map>		 +    </map> +  <key>PathfindingDisablePermanentObjects</key> +  <map> +    <key>Comment</key> +    <string>Disables the viewer from seeing the permanent object flag.  Useful for testing server-side enforcement of permanent object rules.</string> +    <key>Persist</key> +    <integer>0</integer> +    <key>Type</key> +    <string>Boolean</string> +    <key>Value</key> +    <integer>0</integer> +  </map> +  <key>PathfindingDisableCharacterObjects</key> +  <map> +    <key>Comment</key> +    <string>Disables the viewer from seeing the character object flag.  Useful for testing server-side enforcement of character object rules.</string> +    <key>Persist</key> +    <integer>0</integer> +    <key>Type</key> +    <string>Boolean</string> +    <key>Value</key> +    <integer>0</integer> +  </map>  </map>  </llsd> diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index 192121c021..60665b4880 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -45,6 +45,7 @@  #include "llvertexbuffer.h"  #include "llbbox.h"  #include "llbbox.h" +#include "llviewercontrol.h"  class LLAgent;			// TODO: Get rid of this.  class LLAudioSource; @@ -476,8 +477,8 @@ 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 ((mFlags & FLAGS_OBJECT_PERMANENT) != 0); } -	inline BOOL		flagCharacter() const			{ return ((mFlags & FLAGS_CHARACTER) != 0); } +	inline BOOL		flagObjectPermanent() const		{ return gSavedSettings.getBOOL("PathfindingDisablePermanentObjects") ? FALSE : ((mFlags & FLAGS_OBJECT_PERMANENT) != 0); } +	inline BOOL		flagCharacter() const			{ return gSavedSettings.getBOOL("PathfindingDisableCharacterObjects") ? FALSE : ((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); } | 
