From 625344a8e318b24b7d96a9bb9fa2da23166b991f Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Wed, 8 Nov 2017 20:38:26 +0000 Subject: [PATCH] Added debug setting AnimatedObjectIgnoreLimits for server testing --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llviewerobject.cpp | 18 +++++++++++++----- 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 e989733fc64..2fe01ab22f9 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 404a7715711..42f6b081e50 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 1c4a6e4eb74..cdbe87de750 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; -- GitLab