diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 5c57971..c474173 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -3005,6 +3005,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3005 | return ret; | 3005 | return ret; |
3006 | } | 3006 | } |
3007 | 3007 | ||
3008 | public LSL_Vector osGetRegionSize() | ||
3009 | { | ||
3010 | CheckThreatLevel(ThreatLevel.None, "osGetRegionSize"); | ||
3011 | m_host.AddScriptLPS(1); | ||
3012 | |||
3013 | bool isMegaregion; | ||
3014 | IRegionCombinerModule rcMod = World.RequestModuleInterface<IRegionCombinerModule>(); | ||
3015 | if (rcMod != null) | ||
3016 | isMegaregion = rcMod.IsRootForMegaregion(World.RegionInfo.RegionID); | ||
3017 | else | ||
3018 | isMegaregion = false; | ||
3019 | |||
3020 | if (isMegaregion) | ||
3021 | { | ||
3022 | Vector2 size = rcMod.GetSizeOfMegaregion(World.RegionInfo.RegionID); | ||
3023 | return new LSL_Vector(size.X, size.Y, Constants.RegionHeight); | ||
3024 | } | ||
3025 | else | ||
3026 | { | ||
3027 | return new LSL_Vector((float)Constants.RegionSize, (float)Constants.RegionSize, Constants.RegionHeight); | ||
3028 | } | ||
3029 | } | ||
3030 | |||
3008 | public int osGetSimulatorMemory() | 3031 | public int osGetSimulatorMemory() |
3009 | { | 3032 | { |
3010 | CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory"); | 3033 | CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory"); |