diff options
Diffstat (limited to 'OpenSim')
4 files changed, 71 insertions, 6 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 3a1a8c7..832d93c 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -250,8 +250,10 @@ namespace OpenSim | |||
250 | + "If level <= 0 then no extra http logging is done.\n", | 250 | + "If level <= 0 then no extra http logging is done.\n", |
251 | Debug); | 251 | Debug); |
252 | 252 | ||
253 | m_console.Commands.AddCommand("region", false, "debug teleport", "debug teleport", "Toggle teleport route debugging", Debug); | ||
254 | |||
253 | m_console.Commands.AddCommand("region", false, "debug scene", | 255 | m_console.Commands.AddCommand("region", false, "debug scene", |
254 | "debug scene <cripting> <collisions> <physics>", | 256 | "debug scene <scripting> <collisions> <physics>", |
255 | "Turn on scene debugging", Debug); | 257 | "Turn on scene debugging", Debug); |
256 | 258 | ||
257 | m_console.Commands.AddCommand("region", false, "change region", | 259 | m_console.Commands.AddCommand("region", false, "change region", |
@@ -948,6 +950,21 @@ namespace OpenSim | |||
948 | 950 | ||
949 | break; | 951 | break; |
950 | 952 | ||
953 | case "teleport": | ||
954 | foreach(Scene s in m_sceneManager.Scenes) | ||
955 | { | ||
956 | if (s.DEBUG) | ||
957 | { | ||
958 | s.DEBUG = false; | ||
959 | MainConsole.Instance.Output("Teleport debugging is disabled!"); | ||
960 | } | ||
961 | else{ | ||
962 | s.DEBUG = true; | ||
963 | MainConsole.Instance.Output("Teleport debugging is enabled!"); | ||
964 | } | ||
965 | } | ||
966 | break; | ||
967 | |||
951 | default: | 968 | default: |
952 | MainConsole.Instance.Output("Unknown debug command"); | 969 | MainConsole.Instance.Output("Unknown debug command"); |
953 | break; | 970 | break; |
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index d68d28c..8d503bd 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -149,7 +149,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
149 | // Process the baked texture array | 149 | // Process the baked texture array |
150 | if (textureEntry != null) | 150 | if (textureEntry != null) |
151 | { | 151 | { |
152 | m_log.InfoFormat("[AVFACTORY]: received texture update for {0}", sp.UUID); | 152 | m_log.InfoFormat("[AVFACTORY]: Received texture update for {0} {1}", sp.Name, sp.UUID); |
153 | 153 | ||
154 | // WriteBakedTexturesReport(sp, m_log.DebugFormat); | 154 | // WriteBakedTexturesReport(sp, m_log.DebugFormat); |
155 | 155 | ||
@@ -315,7 +315,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
315 | return false; | 315 | return false; |
316 | } | 316 | } |
317 | 317 | ||
318 | m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0}", sp.UUID); | 318 | m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0} {1}", sp.Name, sp.UUID); |
319 | 319 | ||
320 | // If we only found default textures, then the appearance is not cached | 320 | // If we only found default textures, then the appearance is not cached |
321 | return (defonly ? false : true); | 321 | return (defonly ? false : true); |
@@ -626,4 +626,4 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
626 | outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); | 626 | outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); |
627 | } | 627 | } |
628 | } | 628 | } |
629 | } | 629 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index ed6f68a..f03c345 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -651,8 +651,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
651 | // | 651 | // |
652 | IConfig startupConfig = m_config.Configs["Startup"]; | 652 | IConfig startupConfig = m_config.Configs["Startup"]; |
653 | 653 | ||
654 | DEBUG = startupConfig.GetBoolean("DEBUG", false); | ||
655 | |||
656 | m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance); | 654 | m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance); |
657 | m_useBackup = startupConfig.GetBoolean("UseSceneBackup", m_useBackup); | 655 | m_useBackup = startupConfig.GetBoolean("UseSceneBackup", m_useBackup); |
658 | if (!m_useBackup) | 656 | if (!m_useBackup) |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs index 39cd4c9..2369d94 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Linq; | ||
30 | using System.Reflection; | 31 | using System.Reflection; |
31 | using System.Text; | 32 | using System.Text; |
32 | using log4net; | 33 | using log4net; |
@@ -124,6 +125,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance | |||
124 | + "\nIf the viewer has not yet sent the server any texture ids then nothing will happen" | 125 | + "\nIf the viewer has not yet sent the server any texture ids then nothing will happen" |
125 | + "\nsince requests can only be made for ids that the client has already sent us", | 126 | + "\nsince requests can only be made for ids that the client has already sent us", |
126 | HandleRebakeAppearanceCommand); | 127 | HandleRebakeAppearanceCommand); |
128 | |||
129 | scene.AddCommand( | ||
130 | this, "appearance find", | ||
131 | "appearance find <uuid-or-start-of-uuid>", | ||
132 | "Find out which avatar uses the given asset as a baked texture, if any.", | ||
133 | "You can specify just the beginning of the uuid, e.g. 2008a8d. A longer UUID must be in dashed format.", | ||
134 | HandleFindAppearanceCommand); | ||
127 | } | 135 | } |
128 | 136 | ||
129 | private void HandleSendAppearanceCommand(string module, string[] cmd) | 137 | private void HandleSendAppearanceCommand(string module, string[] cmd) |
@@ -254,5 +262,47 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance | |||
254 | } | 262 | } |
255 | } | 263 | } |
256 | } | 264 | } |
265 | |||
266 | protected void HandleFindAppearanceCommand(string module, string[] cmd) | ||
267 | { | ||
268 | if (cmd.Length != 3) | ||
269 | { | ||
270 | MainConsole.Instance.OutputFormat("Usage: appearance find <uuid-or-start-of-uuid>"); | ||
271 | return; | ||
272 | } | ||
273 | |||
274 | string rawUuid = cmd[2]; | ||
275 | |||
276 | HashSet<ScenePresence> matchedAvatars = new HashSet<ScenePresence>(); | ||
277 | |||
278 | lock (m_scenes) | ||
279 | { | ||
280 | foreach (Scene scene in m_scenes.Values) | ||
281 | { | ||
282 | scene.ForEachRootScenePresence( | ||
283 | sp => | ||
284 | { | ||
285 | Dictionary<BakeType, Primitive.TextureEntryFace> bakedFaces = scene.AvatarFactory.GetBakedTextureFaces(sp.UUID); | ||
286 | foreach (Primitive.TextureEntryFace face in bakedFaces.Values) | ||
287 | { | ||
288 | if (face != null && face.TextureID.ToString().StartsWith(rawUuid)) | ||
289 | matchedAvatars.Add(sp); | ||
290 | } | ||
291 | }); | ||
292 | } | ||
293 | } | ||
294 | |||
295 | if (matchedAvatars.Count == 0) | ||
296 | { | ||
297 | MainConsole.Instance.OutputFormat("{0} did not match any baked avatar textures in use", rawUuid); | ||
298 | } | ||
299 | else | ||
300 | { | ||
301 | MainConsole.Instance.OutputFormat( | ||
302 | "{0} matched {1}", | ||
303 | rawUuid, | ||
304 | string.Join(", ", matchedAvatars.ToList().ConvertAll<string>(sp => sp.Name).ToArray())); | ||
305 | } | ||
306 | } | ||
257 | } | 307 | } |
258 | } \ No newline at end of file | 308 | } \ No newline at end of file |