diff options
-rw-r--r-- | linden/indra/newview/hippolimits.cpp | 20 | ||||
-rw-r--r-- | linden/indra/newview/hippolimits.h | 1 | ||||
-rwxr-xr-x | linden/indra/newview/llviewermessage.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llviewerregion.cpp | 2 |
4 files changed, 23 insertions, 4 deletions
diff --git a/linden/indra/newview/hippolimits.cpp b/linden/indra/newview/hippolimits.cpp index bb2e805..2990a45 100644 --- a/linden/indra/newview/hippolimits.cpp +++ b/linden/indra/newview/hippolimits.cpp | |||
@@ -8,7 +8,8 @@ | |||
8 | #include "llviewercontrol.h" | 8 | #include "llviewercontrol.h" |
9 | 9 | ||
10 | #include <llerror.h> | 10 | #include <llerror.h> |
11 | 11 | #include "llagent.h" | |
12 | #include "llviewerregion.h" | ||
12 | 13 | ||
13 | HippoLimits *gHippoLimits = 0; | 14 | HippoLimits *gHippoLimits = 0; |
14 | 15 | ||
@@ -90,7 +91,7 @@ void HippoLimits::setSecondLifeLimits() | |||
90 | S32 max_groups = gHippoGridManager->getConnectedGrid()->getMaxAgentGroups(); | 91 | S32 max_groups = gHippoGridManager->getConnectedGrid()->getMaxAgentGroups(); |
91 | mMaxAgentGroups = llmax(max_groups, 25); | 92 | mMaxAgentGroups = llmax(max_groups, 25); |
92 | 93 | ||
93 | mMaxPrimScale = 10.0f; | 94 | setSecondLifeMaxPrimScale(); |
94 | mMinPrimScale = 0.01f; | 95 | mMinPrimScale = 0.01f; |
95 | mMaxHeight = 4096.0f; | 96 | mMaxHeight = 4096.0f; |
96 | mMinHoleSize = 0.05f; | 97 | mMinHoleSize = 0.05f; |
@@ -115,6 +116,21 @@ void HippoLimits::setSecondLifeLimits() | |||
115 | mVoiceConnector = "SLVoice"; | 116 | mVoiceConnector = "SLVoice"; |
116 | } | 117 | } |
117 | 118 | ||
119 | void HippoLimits::setSecondLifeMaxPrimScale() | ||
120 | { | ||
121 | // SecondLife Mesh sims that allow 64m prims are ones that have BOTH these caps | ||
122 | if (gAgent.getRegion() | ||
123 | && !gAgent.getRegion()->getCapability("GetMesh").empty() | ||
124 | && !gAgent.getRegion()->getCapability("ObjectAdd").empty()) | ||
125 | { | ||
126 | mMaxPrimScale = 64.f; | ||
127 | } | ||
128 | else | ||
129 | { | ||
130 | mMaxPrimScale = 10.f; | ||
131 | } | ||
132 | } | ||
133 | |||
118 | F32 HippoLimits::getMaxPrimScale() const | 134 | F32 HippoLimits::getMaxPrimScale() const |
119 | { | 135 | { |
120 | if (gSavedSettings.getBOOL("DisableMaxBuildConstraints") && !mEnforceMaxBuild) | 136 | if (gSavedSettings.getBOOL("DisableMaxBuildConstraints") && !mEnforceMaxBuild) |
diff --git a/linden/indra/newview/hippolimits.h b/linden/indra/newview/hippolimits.h index 9d6b2f6..d63d1b0 100644 --- a/linden/indra/newview/hippolimits.h +++ b/linden/indra/newview/hippolimits.h | |||
@@ -64,6 +64,7 @@ public: | |||
64 | private: | 64 | private: |
65 | void setOpenSimLimits(); | 65 | void setOpenSimLimits(); |
66 | void setSecondLifeLimits(); | 66 | void setSecondLifeLimits(); |
67 | void setSecondLifeMaxPrimScale(); | ||
67 | }; | 68 | }; |
68 | 69 | ||
69 | 70 | ||
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index f67f0dc..32d7172 100755 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -3828,10 +3828,10 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) | |||
3828 | return; | 3828 | return; |
3829 | } | 3829 | } |
3830 | 3830 | ||
3831 | gHippoLimits->setLimits(); | ||
3832 | |||
3831 | if (!gLastVersionChannel.empty()) | 3833 | if (!gLastVersionChannel.empty()) |
3832 | { | 3834 | { |
3833 | gHippoLimits->setLimits(); | ||
3834 | |||
3835 | if (gSavedSettings.getBOOL("ServerVersionChangedChat")) | 3835 | if (gSavedSettings.getBOOL("ServerVersionChangedChat")) |
3836 | { | 3836 | { |
3837 | LLStringUtil::format_map_t args; | 3837 | LLStringUtil::format_map_t args; |
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index eba0db7..a43e0c0 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp | |||
@@ -1439,12 +1439,14 @@ void LLViewerRegion::setSeedCapability(const std::string& url) | |||
1439 | capabilityNames.append("FetchLibDescendents"); | 1439 | capabilityNames.append("FetchLibDescendents"); |
1440 | capabilityNames.append("GetDisplayNames"); | 1440 | capabilityNames.append("GetDisplayNames"); |
1441 | capabilityNames.append("SetDisplayName"); | 1441 | capabilityNames.append("SetDisplayName"); |
1442 | capabilityNames.append("GetMesh"); // lets us know if this is a SL-Mesh region | ||
1442 | capabilityNames.append("GetTexture"); | 1443 | capabilityNames.append("GetTexture"); |
1443 | capabilityNames.append("GroupProposalBallot"); | 1444 | capabilityNames.append("GroupProposalBallot"); |
1444 | capabilityNames.append("HomeLocation"); | 1445 | capabilityNames.append("HomeLocation"); |
1445 | capabilityNames.append("MapLayer"); | 1446 | capabilityNames.append("MapLayer"); |
1446 | capabilityNames.append("MapLayerGod"); | 1447 | capabilityNames.append("MapLayerGod"); |
1447 | capabilityNames.append("NewFileAgentInventory"); | 1448 | capabilityNames.append("NewFileAgentInventory"); |
1449 | capabilityNames.append("ObjectAdd"); // lets us know if this is a SL-Mesh region | ||
1448 | capabilityNames.append("ParcelPropertiesUpdate"); | 1450 | capabilityNames.append("ParcelPropertiesUpdate"); |
1449 | capabilityNames.append("ParcelMediaURLFilterList"); | 1451 | capabilityNames.append("ParcelMediaURLFilterList"); |
1450 | capabilityNames.append("ParcelNavigateMedia"); | 1452 | capabilityNames.append("ParcelNavigateMedia"); |