From aca9fd182ee6dec5ac778f7aafd9a8fa6a5fd4e2 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 24 Sep 2009 20:27:11 +1000 Subject: * Added two new commands to EstateManagementModule * Also, I hate git. --- .../World/Estate/EstateManagementModule.cs | 61 +++++++++++++++++++--- 1 file changed, 55 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 75b3fe6..f52a287 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -33,7 +33,6 @@ using log4net; using Nini.Config; using OpenMetaverse; using OpenSim.Framework; -using OpenSim.Region.CoreModules.World.Terrain; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; @@ -47,7 +46,7 @@ namespace OpenSim.Region.CoreModules.World.Estate private Scene m_scene; - private EstateTerrainXferHandler TerrainUploader = null; + private EstateTerrainXferHandler TerrainUploader; #region Packet Data Responders @@ -668,7 +667,7 @@ namespace OpenSim.Region.CoreModules.World.Estate LookupUUID(uuidNameLookupList); } - private void LookupUUIDSCompleted(IAsyncResult iar) + private static void LookupUUIDSCompleted(IAsyncResult iar) { LookupUUIDS icon = (LookupUUIDS)iar.AsyncState; icon.EndInvoke(iar); @@ -683,7 +682,7 @@ namespace OpenSim.Region.CoreModules.World.Estate } private void LookupUUIDsAsync(List uuidLst) { - UUID[] uuidarr = new UUID[0]; + UUID[] uuidarr; lock (uuidLst) { @@ -707,7 +706,7 @@ namespace OpenSim.Region.CoreModules.World.Estate for (int i = 0; i < avatars.Count; i++) { - HandleRegionInfoRequest(avatars[i].ControllingClient); ; + HandleRegionInfoRequest(avatars[i].ControllingClient); } } @@ -768,7 +767,7 @@ namespace OpenSim.Region.CoreModules.World.Estate else { m_scene.RegionInfo.EstateSettings.UseGlobalTime = false; - m_scene.RegionInfo.EstateSettings.SunPosition = (double)(parms2 - 0x1800)/1024.0; + m_scene.RegionInfo.EstateSettings.SunPosition = (parms2 - 0x1800)/1024.0; } if ((parms1 & 0x00000010) != 0) @@ -828,8 +827,58 @@ namespace OpenSim.Region.CoreModules.World.Estate m_scene.RegisterModuleInterface(this); m_scene.EventManager.OnNewClient += EventManager_OnNewClient; m_scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; + + m_scene.AddCommand(this, "set terrain texture", + "set terrain texture [] []", + "Sets the terrain to , if or are specified, it will only " + + "set it on regions with a matching coordinate. Specify -1 in or to wildcard" + + " that coordinate.", + consoleSetTerrainTexture); + + m_scene.AddCommand(this, "set terrain heights", + "set terrain heights [] []", + "Sets the terrain texture heights on corner # to /, if or are specified, it will only " + + "set it on regions with a matching coordinate. Specify -1 in or to wildcard" + + " that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.", + consoleSetTerrainTexture); } + #region Console Commands + + public void consoleSetTerrainTexture(string module, string[] args) + { + string num = args[3]; + string uuid = args[4]; + int x = (args.Length > 5 ? int.Parse(args[5]) : -1); + int y = (args.Length > 6 ? int.Parse(args[6]) : -1); + + if (x != -1 && m_scene.RegionInfo.RegionLocX != x) + { + if (y != -1 && m_scene.RegionInfo.RegionLocY != y) + { + setEstateTerrainBaseTexture(null, int.Parse(num), UUID.Parse(uuid)); + } + } + } + + public void consoleSetTerrainHeights(string module, string[] args) + { + string num = args[3]; + string min = args[4]; + string max = args[5]; + int x = (args.Length > 6 ? int.Parse(args[6]) : -1); + int y = (args.Length > 7 ? int.Parse(args[7]) : -1); + + if (x != -1 && m_scene.RegionInfo.RegionLocX != x) + { + if (y != -1 && m_scene.RegionInfo.RegionLocY != y) + { + setEstateTerrainTextureHeights(null, int.Parse(num), float.Parse(min), float.Parse(max)); + } + } + } + + #endregion public void PostInitialise() { -- cgit v1.1 From 57429423bbb080d5381dd91ffe4d927537fbf62f Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 24 Sep 2009 21:29:57 +1000 Subject: * Fixing typo. --- OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index f52a287..fa52334 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -840,7 +840,7 @@ namespace OpenSim.Region.CoreModules.World.Estate "Sets the terrain texture heights on corner # to /, if or are specified, it will only " + "set it on regions with a matching coordinate. Specify -1 in or to wildcard" + " that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.", - consoleSetTerrainTexture); + consoleSetTerrainHeights); } #region Console Commands -- cgit v1.1 From 8605c5d2eb0d514c1475b94120fd6db9644874cf Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 24 Sep 2009 21:46:41 +1000 Subject: * Establishing why new console commands fail to work. >_> --- .../Region/CoreModules/World/Estate/EstateManagementModule.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index fa52334..bb77bd5 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -852,10 +852,11 @@ namespace OpenSim.Region.CoreModules.World.Estate int x = (args.Length > 5 ? int.Parse(args[5]) : -1); int y = (args.Length > 6 ? int.Parse(args[6]) : -1); - if (x != -1 && m_scene.RegionInfo.RegionLocX != x) + if (x == -1 || m_scene.RegionInfo.RegionLocX == x) { - if (y != -1 && m_scene.RegionInfo.RegionLocY != y) + if (y == -1 || m_scene.RegionInfo.RegionLocY == y) { + m_log.Debug("[ESTATEMODULE] Setting terrain textures for " + m_scene.RegionInfo.RegionName); setEstateTerrainBaseTexture(null, int.Parse(num), UUID.Parse(uuid)); } } @@ -869,10 +870,11 @@ namespace OpenSim.Region.CoreModules.World.Estate int x = (args.Length > 6 ? int.Parse(args[6]) : -1); int y = (args.Length > 7 ? int.Parse(args[7]) : -1); - if (x != -1 && m_scene.RegionInfo.RegionLocX != x) + if (x == -1 || m_scene.RegionInfo.RegionLocX == x) { - if (y != -1 && m_scene.RegionInfo.RegionLocY != y) + if (y == -1 || m_scene.RegionInfo.RegionLocY == y) { + m_log.Debug("[ESTATEMODULE] Setting terrain heights " + m_scene.RegionInfo.RegionName); setEstateTerrainTextureHeights(null, int.Parse(num), float.Parse(min), float.Parse(max)); } } -- cgit v1.1 From ca69fac13e2a0b648b02bf32a368f77d2fbec1fb Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 24 Sep 2009 22:02:29 +1000 Subject: * Send Updated Information Packet to Clients after updating estate settings. --- OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index bb77bd5..0d51cf4 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -154,6 +154,7 @@ namespace OpenSim.Region.CoreModules.World.Estate break; } m_scene.RegionInfo.RegionSettings.Save(); + sendRegionInfoPacketToAll(); } public void setEstateTerrainTextureHeights(IClientAPI client, int corner, float lowValue, float highValue) @@ -178,6 +179,7 @@ namespace OpenSim.Region.CoreModules.World.Estate break; } m_scene.RegionInfo.RegionSettings.Save(); + sendRegionInfoPacketToAll(); } private void handleCommitEstateTerrainTextureRequest(IClientAPI remoteClient) -- cgit v1.1 From a030e3d61bc0edf1b51abf245cda3d33a5fb091f Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Fri, 2 Oct 2009 10:53:21 +1000 Subject: * Attempting to fix a issue with console commands & the estate module. Again. --- .../World/Estate/EstateManagementModule.cs | 56 ++++++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 0d51cf4..4896edf 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -858,8 +858,30 @@ namespace OpenSim.Region.CoreModules.World.Estate { if (y == -1 || m_scene.RegionInfo.RegionLocY == y) { - m_log.Debug("[ESTATEMODULE] Setting terrain textures for " + m_scene.RegionInfo.RegionName); - setEstateTerrainBaseTexture(null, int.Parse(num), UUID.Parse(uuid)); + int corner = int.Parse(num); + UUID texture = UUID.Parse(uuid); + + m_log.Debug("[ESTATEMODULE] Setting terrain textures for " + m_scene.RegionInfo.RegionName + + string.Format(" (C#{0} = {1})", corner, texture)); + + switch (corner) + { + case 0: + m_scene.RegionInfo.RegionSettings.TerrainTexture1 = texture; + break; + case 1: + m_scene.RegionInfo.RegionSettings.TerrainTexture2 = texture; + break; + case 2: + m_scene.RegionInfo.RegionSettings.TerrainTexture3 = texture; + break; + case 3: + m_scene.RegionInfo.RegionSettings.TerrainTexture4 = texture; + break; + } + m_scene.RegionInfo.RegionSettings.Save(); + sendRegionInfoPacketToAll(); + } } } @@ -876,8 +898,34 @@ namespace OpenSim.Region.CoreModules.World.Estate { if (y == -1 || m_scene.RegionInfo.RegionLocY == y) { - m_log.Debug("[ESTATEMODULE] Setting terrain heights " + m_scene.RegionInfo.RegionName); - setEstateTerrainTextureHeights(null, int.Parse(num), float.Parse(min), float.Parse(max)); + int corner = int.Parse(num); + float lowValue = float.Parse(min); + float highValue = float.Parse(max); + + m_log.Debug("[ESTATEMODULE] Setting terrain heights " + m_scene.RegionInfo.RegionName + + string.Format(" (C{0}, {1}-{2}", corner, lowValue, highValue)); + + switch (corner) + { + case 0: + m_scene.RegionInfo.RegionSettings.Elevation1SW = lowValue; + m_scene.RegionInfo.RegionSettings.Elevation2SW = highValue; + break; + case 1: + m_scene.RegionInfo.RegionSettings.Elevation1NW = lowValue; + m_scene.RegionInfo.RegionSettings.Elevation2NW = highValue; + break; + case 2: + m_scene.RegionInfo.RegionSettings.Elevation1SE = lowValue; + m_scene.RegionInfo.RegionSettings.Elevation2SE = highValue; + break; + case 3: + m_scene.RegionInfo.RegionSettings.Elevation1NE = lowValue; + m_scene.RegionInfo.RegionSettings.Elevation2NE = highValue; + break; + } + m_scene.RegionInfo.RegionSettings.Save(); + sendRegionHandshakeToAll(); } } } -- cgit v1.1