From 22d4c52ffc374e167cb674e0e20815615d8a6927 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 24 Nov 2012 03:15:24 +0000 Subject: Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests --- OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs index 52ed846..a522277 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs @@ -48,7 +48,7 @@ using OpenSim.Tests.Common.Mock; namespace OpenSim.Region.OptionalModules.World.NPC.Tests { [TestFixture] - public class NPCModuleTests + public class NPCModuleTests : OpenSimTestCase { private TestScene m_scene; private AvatarFactoryModule m_afMod; -- cgit v1.1 From 79b7c571ffa5cd7b40272dc56642d43f688202f6 Mon Sep 17 00:00:00 2001 From: SignpostMarv Date: Mon, 29 Oct 2012 11:27:05 +0000 Subject: updating documentation in SampleMoneyModule based on doxygen error log output; changing an xml-style hint to a uri-style hint in the class summary, improving documentation of Initialise method and removing a superfluous parameter, improving documentating of ClientClosed method and documenting an omitted parameter --- .../OptionalModules/World/MoneyModule/SampleMoneyModule.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs index 8f04ede..7bbf500 100644 --- a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs +++ b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs @@ -49,7 +49,7 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule /// (such as land transfers). There is no money code here! Use FORGE as an example for money code. /// Demo Economy/Money Module. This is a purposely crippled module! /// // To land transfer you need to add: - /// -helperuri
+ /// -helperuri http://serveraddress:port/ /// to the command line parameters you use to start up your client /// This commonly looks like -helperuri http://127.0.0.1:9000/ /// @@ -116,10 +116,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule } /// - /// Startup + /// Called on startup so the module can be configured. /// - /// - /// + /// Configuration source. public void Initialise(IConfigSource config) { m_gConfig = config; @@ -674,9 +673,12 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule } /// - /// When the client closes the connection we remove their accounting info from memory to free up resources. + /// When the client closes the connection we remove their accounting + /// info from memory to free up resources. /// - /// + /// UUID of agent + /// Scene the agent was connected to. + /// public void ClientClosed(UUID AgentID, Scene scene) { -- cgit v1.1 From a16ae5d7e3e687fdcdae39f848f66087f16433a2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 10 Jan 2013 23:49:48 +0000 Subject: Move scene debug commands into separate module. Command changes from "debug scene " to "debug scene set " to accomodate future settings --- .../World/SceneCommands/SceneCommandsModule.cs | 236 +++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs new file mode 100644 index 0000000..5dbf207 --- /dev/null +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -0,0 +1,236 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Console; +using OpenSim.Framework.Monitoring; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.OptionalModules.Avatar.Attachments +{ + /// + /// A module that just holds commands for inspecting avatar appearance. + /// + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SceneCommandsModule")] + public class SceneCommandsModule : ISceneCommandsModule, INonSharedRegionModule + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private Scene m_scene; +// private IAvatarFactoryModule m_avatarFactory; + + public string Name { get { return "Scene Commands Module"; } } + + public Type ReplaceableInterface { get { return null; } } + + public void Initialise(IConfigSource source) + { +// m_log.DebugFormat("[SCENE COMMANDS MODULE]: INITIALIZED MODULE"); + } + + public void PostInitialise() + { +// m_log.DebugFormat("[SCENE COMMANDS MODULE]: POST INITIALIZED MODULE"); + } + + public void Close() + { +// m_log.DebugFormat("[SCENE COMMANDS MODULE]: CLOSED MODULE"); + } + + public void AddRegion(Scene scene) + { +// m_log.DebugFormat("[SCENE COMMANDS MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName); + + m_scene = scene; + } + + public void RemoveRegion(Scene scene) + { +// m_log.DebugFormat("[SCENE COMMANDS MODULE]: REGION {0} REMOVED", scene.RegionInfo.RegionName); + } + + public void RegionLoaded(Scene scene) + { +// m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName); + + scene.AddCommand( + "Debug", this, "debug scene set", + "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false", + "Turn on scene debugging options.", + "If active is false then main scene update and maintenance loops are suspended.\n" + + "If collisions is false then collisions with other objects are turned off.\n" + + "If pbackup is false then periodic scene backup is turned off.\n" + + "If physics is false then all physics objects are non-physical.\n" + + "If scripting is false then no scripting operations happen.\n" + + "If teleport is true then some extra teleport debug information is logged.\n" + + "If updates is true then any frame which exceeds double the maximum desired frame time is logged.", + HandleDebugSceneCommand); + } + + private void HandleDebugSceneCommand(string module, string[] args) + { + if (args.Length == 5) + { + if (MainConsole.Instance.ConsoleScene == null) + { + MainConsole.Instance.Output("Please use 'change region ' first"); + } + else + { + string key = args[3]; + string value = args[4]; + SetSceneDebugOptions(new Dictionary() { { key, value } }); + + MainConsole.Instance.OutputFormat("Set debug scene {0} = {1}", key, value); + } + } + else + { + MainConsole.Instance.Output( + "Usage: debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false"); + } + } + + public void SetSceneDebugOptions(Dictionary options) + { + if (options.ContainsKey("active")) + { + bool active; + + if (bool.TryParse(options["active"], out active)) + m_scene.Active = active; + } + + if (options.ContainsKey("pbackup")) + { + bool active; + + if (bool.TryParse(options["pbackup"], out active)) + m_scene.PeriodicBackup = active; + } + + if (options.ContainsKey("scripting")) + { + bool enableScripts = true; + if (bool.TryParse(options["scripting"], out enableScripts)) + m_scene.ScriptsEnabled = enableScripts; + } + + if (options.ContainsKey("physics")) + { + bool enablePhysics; + if (bool.TryParse(options["physics"], out enablePhysics)) + m_scene.PhysicsEnabled = enablePhysics; + } + +// if (options.ContainsKey("collisions")) +// { +// // TODO: Implement. If false, should stop objects colliding, though possibly should still allow +// // the avatar themselves to collide with the ground. +// } + + if (options.ContainsKey("teleport")) + { + bool enableTeleportDebugging; + if (bool.TryParse(options["teleport"], out enableTeleportDebugging)) + m_scene.DebugTeleporting = enableTeleportDebugging; + } + + if (options.ContainsKey("updates")) + { + bool enableUpdateDebugging; + if (bool.TryParse(options["updates"], out enableUpdateDebugging)) + { + m_scene.DebugUpdates = enableUpdateDebugging; + GcNotify.Enabled = enableUpdateDebugging; + } + } + } + + private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb) + { + sb.AppendFormat("Attachments for {0}\n", sp.Name); + + ConsoleDisplayTable ct = new ConsoleDisplayTable() { Indent = 2 }; + ct.Columns.Add(new ConsoleDisplayTableColumn("Attachment Name", 50)); + ct.Columns.Add(new ConsoleDisplayTableColumn("Local ID", 10)); + ct.Columns.Add(new ConsoleDisplayTableColumn("Item ID", 36)); + ct.Columns.Add(new ConsoleDisplayTableColumn("Attach Point", 14)); + ct.Columns.Add(new ConsoleDisplayTableColumn("Position", 15)); + +// sb.AppendFormat( +// " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", +// "Attachment Name", "Local ID", "Item ID", "Attach Point", "Position"); + + List attachmentObjects = sp.GetAttachments(); + foreach (SceneObjectGroup attachmentObject in attachmentObjects) + { +// InventoryItemBase attachmentItem +// = m_scenes[0].InventoryService.GetItem(new InventoryItemBase(attachmentObject.FromItemID)); + +// if (attachmentItem == null) +// { +// sb.AppendFormat( +// "WARNING: Couldn't find attachment for item {0} at point {1}\n", +// attachmentData.ItemID, (AttachmentPoint)attachmentData.AttachPoint); +// continue; +// } +// else +// { +// sb.AppendFormat( +// " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", +// attachmentObject.Name, attachmentObject.LocalId, attachmentObject.FromItemID, +// (AttachmentPoint)attachmentObject.AttachmentPoint, attachmentObject.RootPart.AttachedPos); + ct.Rows.Add( + new ConsoleDisplayTableRow( + new List() + { + attachmentObject.Name, + attachmentObject.LocalId.ToString(), + attachmentObject.FromItemID.ToString(), + ((AttachmentPoint)attachmentObject.AttachmentPoint).ToString(), + attachmentObject.RootPart.AttachedPos.ToString() + })); +// } + } + + ct.AddToStringBuilder(sb); + sb.Append("\n"); + } + } +} \ No newline at end of file -- cgit v1.1 From f3a2bbbd93bd670f54add28fab09c824aa7f9c97 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 10 Jan 2013 23:56:11 +0000 Subject: Add "debug scene get" console command to list current scene options --- .../World/SceneCommands/SceneCommandsModule.cs | 45 +++++++++++++++++++++- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 5dbf207..5552317 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -89,6 +89,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName); scene.AddCommand( + "Debug", this, "debug scene get", + "debug scene get", + "List current scene options.", + "If active is false then main scene update and maintenance loops are suspended.\n" + + "If collisions is false then collisions with other objects are turned off.\n" + + "If pbackup is false then periodic scene backup is turned off.\n" + + "If physics is false then all physics objects are non-physical.\n" + + "If scripting is false then no scripting operations happen.\n" + + "If teleport is true then some extra teleport debug information is logged.\n" + + "If updates is true then any frame which exceeds double the maximum desired frame time is logged.", + HandleDebugSceneGetCommand); + + scene.AddCommand( "Debug", this, "debug scene set", "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false", "Turn on scene debugging options.", @@ -99,10 +112,38 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments + "If scripting is false then no scripting operations happen.\n" + "If teleport is true then some extra teleport debug information is logged.\n" + "If updates is true then any frame which exceeds double the maximum desired frame time is logged.", - HandleDebugSceneCommand); + HandleDebugSceneSetCommand); + } + + private void HandleDebugSceneGetCommand(string module, string[] args) + { + if (args.Length == 3) + { + if (MainConsole.Instance.ConsoleScene == null) + MainConsole.Instance.Output("Please use 'change region ' first"); + else + OutputSceneDebugOptions(); + } + else + { + MainConsole.Instance.Output("Usage: debug scene get"); + } + } + + private void OutputSceneDebugOptions() + { + ConsoleDisplayList cdl = new ConsoleDisplayList(); + cdl.AddRow("active", m_scene.Active); + cdl.AddRow("pbackup", m_scene.PeriodicBackup); + cdl.AddRow("physics", m_scene.PhysicsEnabled); + cdl.AddRow("scripting", m_scene.ScriptsEnabled); + cdl.AddRow("teleport", m_scene.DebugTeleporting); + cdl.AddRow("updates", m_scene.DebugUpdates); + + MainConsole.Instance.Output(cdl.ToString()); } - private void HandleDebugSceneCommand(string module, string[] args) + private void HandleDebugSceneSetCommand(string module, string[] args) { if (args.Length == 5) { -- cgit v1.1 From 26347307ec39f05a138322554787b88d8d07be4a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 11 Jan 2013 00:08:52 +0000 Subject: Fix a regression in the last few scene commands changes where setting these via the viewer estate dialog stopped working. Forgot to register the new interface. Also removes some code which got included by adpating an existing module. --- .../World/SceneCommands/SceneCommandsModule.cs | 54 +--------------------- 1 file changed, 2 insertions(+), 52 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 5552317..8b8758e 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -51,7 +51,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; -// private IAvatarFactoryModule m_avatarFactory; public string Name { get { return "Scene Commands Module"; } } @@ -77,6 +76,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments // m_log.DebugFormat("[SCENE COMMANDS MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName); m_scene = scene; + + m_scene.RegisterModuleInterface(this); } public void RemoveRegion(Scene scene) @@ -222,56 +223,5 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments } } } - - private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb) - { - sb.AppendFormat("Attachments for {0}\n", sp.Name); - - ConsoleDisplayTable ct = new ConsoleDisplayTable() { Indent = 2 }; - ct.Columns.Add(new ConsoleDisplayTableColumn("Attachment Name", 50)); - ct.Columns.Add(new ConsoleDisplayTableColumn("Local ID", 10)); - ct.Columns.Add(new ConsoleDisplayTableColumn("Item ID", 36)); - ct.Columns.Add(new ConsoleDisplayTableColumn("Attach Point", 14)); - ct.Columns.Add(new ConsoleDisplayTableColumn("Position", 15)); - -// sb.AppendFormat( -// " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", -// "Attachment Name", "Local ID", "Item ID", "Attach Point", "Position"); - - List attachmentObjects = sp.GetAttachments(); - foreach (SceneObjectGroup attachmentObject in attachmentObjects) - { -// InventoryItemBase attachmentItem -// = m_scenes[0].InventoryService.GetItem(new InventoryItemBase(attachmentObject.FromItemID)); - -// if (attachmentItem == null) -// { -// sb.AppendFormat( -// "WARNING: Couldn't find attachment for item {0} at point {1}\n", -// attachmentData.ItemID, (AttachmentPoint)attachmentData.AttachPoint); -// continue; -// } -// else -// { -// sb.AppendFormat( -// " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", -// attachmentObject.Name, attachmentObject.LocalId, attachmentObject.FromItemID, -// (AttachmentPoint)attachmentObject.AttachmentPoint, attachmentObject.RootPart.AttachedPos); - ct.Rows.Add( - new ConsoleDisplayTableRow( - new List() - { - attachmentObject.Name, - attachmentObject.LocalId.ToString(), - attachmentObject.FromItemID.ToString(), - ((AttachmentPoint)attachmentObject.AttachmentPoint).ToString(), - attachmentObject.RootPart.AttachedPos.ToString() - })); -// } - } - - ct.AddToStringBuilder(sb); - sb.Append("\n"); - } } } \ No newline at end of file -- cgit v1.1 From 115e1c2abb7755eb7b5ffeafbc0aecd255ccfc4e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 18 Jan 2013 23:22:02 +0000 Subject: Add "debug set set animations true|false" region console command. Setting this logs extra information about animation add/remove, such as uuid and animation name Unfortunately cannot be done per client yet --- .../World/SceneCommands/SceneCommandsModule.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 8b8758e..521141a 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -94,6 +94,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments "debug scene get", "List current scene options.", "If active is false then main scene update and maintenance loops are suspended.\n" + + "If animations is true then extra animations debug information is logged.\n" + "If collisions is false then collisions with other objects are turned off.\n" + "If pbackup is false then periodic scene backup is turned off.\n" + "If physics is false then all physics objects are non-physical.\n" @@ -107,6 +108,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false", "Turn on scene debugging options.", "If active is false then main scene update and maintenance loops are suspended.\n" + + "If animations is true then extra animations debug information is logged.\n" + "If collisions is false then collisions with other objects are turned off.\n" + "If pbackup is false then periodic scene backup is turned off.\n" + "If physics is false then all physics objects are non-physical.\n" @@ -135,6 +137,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments { ConsoleDisplayList cdl = new ConsoleDisplayList(); cdl.AddRow("active", m_scene.Active); + cdl.AddRow("animations", m_scene.DebugAnimations); cdl.AddRow("pbackup", m_scene.PeriodicBackup); cdl.AddRow("physics", m_scene.PhysicsEnabled); cdl.AddRow("scripting", m_scene.ScriptsEnabled); @@ -178,6 +181,14 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments m_scene.Active = active; } + if (options.ContainsKey("animations")) + { + bool active; + + if (bool.TryParse(options["animations"], out active)) + m_scene.DebugAnimations = active; + } + if (options.ContainsKey("pbackup")) { bool active; -- cgit v1.1 From 652cfa2ee2ce54c4b53fc4001a715406d66c3cf1 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 19 Jan 2013 00:27:17 +0000 Subject: Fix use of scene debug commands when region is set to root or a specific region where there is more than one region on the simulator. --- .../World/SceneCommands/SceneCommandsModule.cs | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 521141a..12169ab 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -122,10 +122,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments { if (args.Length == 3) { - if (MainConsole.Instance.ConsoleScene == null) - MainConsole.Instance.Output("Please use 'change region ' first"); - else - OutputSceneDebugOptions(); + if (MainConsole.Instance.ConsoleScene != m_scene && MainConsole.Instance.ConsoleScene != null) + return; + + OutputSceneDebugOptions(); } else { @@ -144,6 +144,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments cdl.AddRow("teleport", m_scene.DebugTeleporting); cdl.AddRow("updates", m_scene.DebugUpdates); + MainConsole.Instance.OutputFormat("Scene {0} options:", m_scene.Name); MainConsole.Instance.Output(cdl.ToString()); } @@ -151,18 +152,14 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments { if (args.Length == 5) { - if (MainConsole.Instance.ConsoleScene == null) - { - MainConsole.Instance.Output("Please use 'change region ' first"); - } - else - { - string key = args[3]; - string value = args[4]; - SetSceneDebugOptions(new Dictionary() { { key, value } }); + if (MainConsole.Instance.ConsoleScene != m_scene && MainConsole.Instance.ConsoleScene != null) + return; - MainConsole.Instance.OutputFormat("Set debug scene {0} = {1}", key, value); - } + string key = args[3]; + string value = args[4]; + SetSceneDebugOptions(new Dictionary() { { key, value } }); + + MainConsole.Instance.OutputFormat("Set {0} debug scene {1} = {2}", m_scene.Name, key, value); } else { -- cgit v1.1 From b914fb98c4c178987e23580ceb3f8b48415831d1 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 25 Jan 2013 01:56:41 +0000 Subject: minor: remove mono compiler warning in SceneCommandsModule --- .../Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 12169ab..5fb74b0 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -48,7 +48,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SceneCommandsModule")] public class SceneCommandsModule : ISceneCommandsModule, INonSharedRegionModule { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; -- cgit v1.1 From d6d6618f62a3a66e0d660d634c2c0f8722e3692f Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 26 Jan 2013 00:28:45 +0000 Subject: minor: Call down to base OpenSimTestCase.SetUp() in NPCModuleTests to disable any enabled logging from previous tests --- OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs index a522277..bf23040 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs @@ -74,6 +74,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests [SetUp] public void Init() { + base.SetUp(); + IConfigSource config = new IniConfigSource(); config.AddConfig("NPC"); config.Configs["NPC"].Set("Enabled", "true"); -- cgit v1.1 From 7bf33d333af6e7393a05940d1ab436f5dce73814 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 22:25:28 +0000 Subject: Plumb the path from the client to the extra physics params and back --- OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 5ea2bcd..6bd27f0 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -1234,5 +1234,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) { } + + public void SendPartPhysicsProprieties(ISceneEntity entity) + { + } + } } -- cgit v1.1 From 93206ef0fa6dffe93313455b3354ce3787e7262d Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 23 Mar 2013 00:39:03 +0000 Subject: Add "show borders" command to show the borders of a region. This is relevant to mega-regions where the borders are very different to a regular region. Also adds some method doc and other code comments. --- .../World/SceneCommands/SceneCommandsModule.cs | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 5fb74b0..29b39e0 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -116,6 +116,37 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments + "If teleport is true then some extra teleport debug information is logged.\n" + "If updates is true then any frame which exceeds double the maximum desired frame time is logged.", HandleDebugSceneSetCommand); + + scene.AddCommand( + "Regions", + this, "show borders", "show borders", "Show border information for regions", HandleShowBordersCommand); + } + + private void HandleShowBordersCommand(string module, string[] args) + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("Borders for {0}:\n", m_scene.Name); + + ConsoleDisplayTable cdt = new ConsoleDisplayTable(); + cdt.AddColumn("Cross Direction", 15); + cdt.AddColumn("Line", 34); + cdt.AddColumn("Trigger Region", 14); + + foreach (Border b in m_scene.NorthBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.EastBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.SouthBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.WestBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + cdt.AddToStringBuilder(sb); + + MainConsole.Instance.Output(sb.ToString()); } private void HandleDebugSceneGetCommand(string module, string[] args) -- cgit v1.1 From 6571e7ead276027e5ed86cb1fc9d1b47ddae2e6e Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 22 Apr 2013 22:24:41 +0200 Subject: Allow callers to set the invoice parameter for GenericMessage --- OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index d665126..7918c22 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -630,12 +630,12 @@ namespace OpenSim.Region.OptionalModules.World.NPC } - public void SendGenericMessage(string method, List message) + public void SendGenericMessage(string method, UUID invoice, List message) { } - public void SendGenericMessage(string method, List message) + public void SendGenericMessage(string method, UUID invoice, List message) { } -- cgit v1.1 From 40036ca05f3a34ef7f0728ed52878068a66bc502 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 25 Apr 2013 21:35:18 +0100 Subject: Change EconomyDataRequest signature to use an IClientAPI rather than UUID. This is needed because recent LL viewer codebases call this earlier in login when the client is not yet established in the sim and can't be found by UUID. Sending the reply requires having the IClientAPI. --- .../World/MoneyModule/SampleMoneyModule.cs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') diff --git a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs index 57d9217..be020e4 100644 --- a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs +++ b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs @@ -688,19 +688,14 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule /// Event called Economy Data Request handler. /// /// - public void EconomyDataRequestHandler(UUID agentId) + public void EconomyDataRequestHandler(IClientAPI user) { - IClientAPI user = LocateClientObject(agentId); + Scene s = LocateSceneClientIn(user.AgentId); - if (user != null) - { - Scene s = LocateSceneClientIn(user.AgentId); - - user.SendEconomyData(EnergyEfficiency, s.RegionInfo.ObjectCapacity, ObjectCount, PriceEnergyUnit, PriceGroupCreate, - PriceObjectClaim, PriceObjectRent, PriceObjectScaleFactor, PriceParcelClaim, PriceParcelClaimFactor, - PriceParcelRent, PricePublicObjectDecay, PricePublicObjectDelete, PriceRentLight, PriceUpload, - TeleportMinPrice, TeleportPriceExponent); - } + user.SendEconomyData(EnergyEfficiency, s.RegionInfo.ObjectCapacity, ObjectCount, PriceEnergyUnit, PriceGroupCreate, + PriceObjectClaim, PriceObjectRent, PriceObjectScaleFactor, PriceParcelClaim, PriceParcelClaimFactor, + PriceParcelRent, PricePublicObjectDecay, PricePublicObjectDelete, PriceRentLight, PriceUpload, + TeleportMinPrice, TeleportPriceExponent); } private void ValidateLandBuy(Object osender, EventManager.LandBuyArgs e) -- cgit v1.1