diff options
author | Melanie | 2012-01-17 15:30:52 +0100 |
---|---|---|
committer | Melanie | 2012-01-17 15:30:52 +0100 |
commit | 5afb70b9feb58b17261bc6f04f9c923c0da588e5 (patch) | |
tree | fb042410f22154f5b112eb4fd333a4d82eb902f1 /OpenSim | |
parent | Spin off NPC deletion into a thread to avoid it being done on a script (diff) | |
download | opensim-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandObject.cs | 6 |
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 | } |