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 | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 9c148d1..7081416 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"); |
@@ -3043,7 +3066,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3043 | sp.ControllingClient.Kick(alert); | 3066 | sp.ControllingClient.Kick(alert); |
3044 | 3067 | ||
3045 | // ...and close on our side | 3068 | // ...and close on our side |
3046 | sp.Scene.IncomingCloseAgent(sp.UUID, false); | 3069 | sp.Scene.CloseAgent(sp.UUID, false); |
3047 | } | 3070 | } |
3048 | }); | 3071 | }); |
3049 | } | 3072 | } |