aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2012-01-17 15:30:52 +0100
committerMelanie2012-01-17 15:30:52 +0100
commit5afb70b9feb58b17261bc6f04f9c923c0da588e5 (patch)
treefb042410f22154f5b112eb4fd333a4d82eb902f1 /OpenSim
parentSpin off NPC deletion into a thread to avoid it being done on a script (diff)
downloadopensim-SC_OLD-5afb70b9feb58b17261bc6f04f9c923c0da588e5.zip
opensim-SC_OLD-5afb70b9feb58b17261bc6f04f9c923c0da588e5.tar.gz
opensim-SC_OLD-5afb70b9feb58b17261bc6f04f9c923c0da588e5.tar.bz2
opensim-SC_OLD-5afb70b9feb58b17261bc6f04f9c923c0da588e5.tar.xz
Fix prim calculations so that > 32767 prims are supported
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs6
2 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 873c56c..01e1383 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4612,7 +4612,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4612 4612
4613 if (landData.SimwideArea > 0) 4613 if (landData.SimwideArea > 0)
4614 { 4614 {
4615 int simulatorCapacity = (int)((double)(landData.SimwideArea * m_scene.RegionInfo.ObjectCapacity) * m_scene.RegionInfo.RegionSettings.ObjectBonus) / 65536; 4615 int simulatorCapacity = (int)((long)landData.SimwideArea * (long)m_scene.RegionInfo.ObjectCapacity * (long)m_scene.RegionInfo.RegionSettings.ObjectBonus / 65536L);
4616 // Never report more than sim total capacity 4616 // Never report more than sim total capacity
4617 if (simulatorCapacity > m_scene.RegionInfo.ObjectCapacity) 4617 if (simulatorCapacity > m_scene.RegionInfo.ObjectCapacity)
4618 simulatorCapacity = m_scene.RegionInfo.ObjectCapacity; 4618 simulatorCapacity = m_scene.RegionInfo.ObjectCapacity;
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
index 4f10fbf..48f58f0 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
@@ -194,6 +194,7 @@ namespace OpenSim.Region.CoreModules.World.Land
194 * m_scene.RegionInfo.ObjectCapacity) 194 * m_scene.RegionInfo.ObjectCapacity)
195 * m_scene.RegionInfo.RegionSettings.ObjectBonus) 195 * m_scene.RegionInfo.RegionSettings.ObjectBonus)
196 / 65536; 196 / 65536;
197 m_log.DebugFormat("Area: {0}, Capacity {1}, Bonus {2}, Parcel {3}", LandData.Area, m_scene.RegionInfo.ObjectCapacity, m_scene.RegionInfo.RegionSettings.ObjectBonus, parcelMax);
197 return parcelMax; 198 return parcelMax;
198 } 199 }
199 } 200 }
@@ -223,8 +224,9 @@ namespace OpenSim.Region.CoreModules.World.Land
223 else 224 else
224 { 225 {
225 //Normal Calculations 226 //Normal Calculations
226 int simMax = (int)(((float)LandData.SimwideArea / 65536.0f) 227 int simMax = (int)((long)LandData.SimwideArea
227 * (float)m_scene.RegionInfo.ObjectCapacity); 228 * (long)m_scene.RegionInfo.ObjectCapacity / 65536L);
229 m_log.DebugFormat("Simwide Area: {0}, Capacity {1}, SimMax {2}", LandData.SimwideArea, m_scene.RegionInfo.ObjectCapacity, simMax);
228 return simMax; 230 return simMax;
229 } 231 }
230 } 232 }