diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-11-08 20:38:26 +0000 | 
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-11-08 20:38:26 +0000 | 
| commit | 625344a8e318b24b7d96a9bb9fa2da23166b991f (patch) | |
| tree | eff3086c3950c214aae74ec3feebd1f00037ca37 | |
| parent | c7a0b25977a5ca30fc1726370f6363349ff9f836 (diff) | |
Added debug setting AnimatedObjectIgnoreLimits for server testing
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 18 | 
3 files changed, 37 insertions, 10 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e989733fc6..2fe01ab22f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2193,6 +2193,17 @@      <key>Value</key>      <integer>0</integer>    </map> +  <key>AnimatedObjectsIgnoreLimits</key> +  <map> +    <key>Comment</key> +    <string>Ignore server-enforced limits on animated objects. This is only useful for server testing.</string> +    <key>Persist</key> +    <integer>1</integer> +    <key>Type</key> +    <string>Boolean</string> +    <key>Value</key> +    <integer>0</integer> +  </map>    <key>DebugAvatarAppearanceMessage</key>    <map>      <key>Comment</key> diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 404a771571..42f6b081e5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -3607,13 +3607,21 @@ F32 LLViewerObject::recursiveGetEstTrianglesMax() const  S32 LLViewerObject::getAnimatedObjectMaxTris() const  {      S32 max_tris = 0; -    LLSD features; -    if (gAgent.getRegion()) +    // AXON remove after server testing done +    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits"))      { -        gAgent.getRegion()->getSimulatorFeatures(features); -        if (features.has("AnimatedObjects")) +        max_tris = S32_MAX; +    } +    else +    { +        if (gAgent.getRegion())          { -            max_tris = features["AnimatedObjects"]["AnimatedObjectMaxTris"].asInteger(); +            LLSD features; +            gAgent.getRegion()->getSimulatorFeatures(features); +            if (features.has("AnimatedObjects")) +            { +                max_tris = features["AnimatedObjects"]["AnimatedObjectMaxTris"].asInteger(); +            }          }      }      return max_tris; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 1c4a6e4eb7..cdbe87de75 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6675,13 +6675,21 @@ U32 LLVOAvatar::getNumAnimatedObjectAttachments() const  S32 LLVOAvatar::getMaxAnimatedObjectAttachments() const  {      S32 max_attach = 0; -    LLSD features; -    if (gAgent.getRegion()) +    // AXON remove after server testing done +    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits"))      { -        gAgent.getRegion()->getSimulatorFeatures(features); -        if (features.has("AnimatedObjects")) +        max_attach = MAX_AGENT_ATTACHMENTS; +    } +    else +    { +        if (gAgent.getRegion())          { -            max_attach = features["AnimatedObjects"]["MaxAgentAnimatedObjectAttachments"].asInteger(); +            LLSD features; +            gAgent.getRegion()->getSimulatorFeatures(features); +            if (features.has("AnimatedObjects")) +            { +                max_attach = features["AnimatedObjects"]["MaxAgentAnimatedObjectAttachments"].asInteger(); +            }          }      }      return max_attach;  | 
