Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
ce44f56af9
|
@ -250,8 +250,10 @@ namespace OpenSim
|
||||||
+ "If level <= 0 then no extra http logging is done.\n",
|
+ "If level <= 0 then no extra http logging is done.\n",
|
||||||
Debug);
|
Debug);
|
||||||
|
|
||||||
|
m_console.Commands.AddCommand("region", false, "debug teleport", "debug teleport", "Toggle teleport route debugging", Debug);
|
||||||
|
|
||||||
m_console.Commands.AddCommand("region", false, "debug scene",
|
m_console.Commands.AddCommand("region", false, "debug scene",
|
||||||
"debug scene <cripting> <collisions> <physics>",
|
"debug scene <scripting> <collisions> <physics>",
|
||||||
"Turn on scene debugging", Debug);
|
"Turn on scene debugging", Debug);
|
||||||
|
|
||||||
m_console.Commands.AddCommand("region", false, "change region",
|
m_console.Commands.AddCommand("region", false, "change region",
|
||||||
|
@ -948,6 +950,21 @@ namespace OpenSim
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "teleport":
|
||||||
|
foreach(Scene s in m_sceneManager.Scenes)
|
||||||
|
{
|
||||||
|
if (s.DEBUG)
|
||||||
|
{
|
||||||
|
s.DEBUG = false;
|
||||||
|
MainConsole.Instance.Output("Teleport debugging is disabled!");
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
s.DEBUG = true;
|
||||||
|
MainConsole.Instance.Output("Teleport debugging is enabled!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
MainConsole.Instance.Output("Unknown debug command");
|
MainConsole.Instance.Output("Unknown debug command");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -149,7 +149,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
// Process the baked texture array
|
// Process the baked texture array
|
||||||
if (textureEntry != null)
|
if (textureEntry != null)
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("[AVFACTORY]: received texture update for {0}", sp.UUID);
|
m_log.InfoFormat("[AVFACTORY]: Received texture update for {0} {1}", sp.Name, sp.UUID);
|
||||||
|
|
||||||
// WriteBakedTexturesReport(sp, m_log.DebugFormat);
|
// WriteBakedTexturesReport(sp, m_log.DebugFormat);
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0}", sp.UUID);
|
m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0} {1}", sp.Name, sp.UUID);
|
||||||
|
|
||||||
// If we only found default textures, then the appearance is not cached
|
// If we only found default textures, then the appearance is not cached
|
||||||
return (defonly ? false : true);
|
return (defonly ? false : true);
|
||||||
|
@ -626,4 +626,4 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt");
|
outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -651,8 +651,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//
|
//
|
||||||
IConfig startupConfig = m_config.Configs["Startup"];
|
IConfig startupConfig = m_config.Configs["Startup"];
|
||||||
|
|
||||||
DEBUG = startupConfig.GetBoolean("DEBUG", false);
|
|
||||||
|
|
||||||
m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance);
|
m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance);
|
||||||
m_useBackup = startupConfig.GetBoolean("UseSceneBackup", m_useBackup);
|
m_useBackup = startupConfig.GetBoolean("UseSceneBackup", m_useBackup);
|
||||||
if (!m_useBackup)
|
if (!m_useBackup)
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
@ -124,6 +125,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
||||||
+ "\nIf the viewer has not yet sent the server any texture ids then nothing will happen"
|
+ "\nIf the viewer has not yet sent the server any texture ids then nothing will happen"
|
||||||
+ "\nsince requests can only be made for ids that the client has already sent us",
|
+ "\nsince requests can only be made for ids that the client has already sent us",
|
||||||
HandleRebakeAppearanceCommand);
|
HandleRebakeAppearanceCommand);
|
||||||
|
|
||||||
|
scene.AddCommand(
|
||||||
|
this, "appearance find",
|
||||||
|
"appearance find <uuid-or-start-of-uuid>",
|
||||||
|
"Find out which avatar uses the given asset as a baked texture, if any.",
|
||||||
|
"You can specify just the beginning of the uuid, e.g. 2008a8d. A longer UUID must be in dashed format.",
|
||||||
|
HandleFindAppearanceCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleSendAppearanceCommand(string module, string[] cmd)
|
private void HandleSendAppearanceCommand(string module, string[] cmd)
|
||||||
|
@ -254,5 +262,47 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void HandleFindAppearanceCommand(string module, string[] cmd)
|
||||||
|
{
|
||||||
|
if (cmd.Length != 3)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat("Usage: appearance find <uuid-or-start-of-uuid>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string rawUuid = cmd[2];
|
||||||
|
|
||||||
|
HashSet<ScenePresence> matchedAvatars = new HashSet<ScenePresence>();
|
||||||
|
|
||||||
|
lock (m_scenes)
|
||||||
|
{
|
||||||
|
foreach (Scene scene in m_scenes.Values)
|
||||||
|
{
|
||||||
|
scene.ForEachRootScenePresence(
|
||||||
|
sp =>
|
||||||
|
{
|
||||||
|
Dictionary<BakeType, Primitive.TextureEntryFace> bakedFaces = scene.AvatarFactory.GetBakedTextureFaces(sp.UUID);
|
||||||
|
foreach (Primitive.TextureEntryFace face in bakedFaces.Values)
|
||||||
|
{
|
||||||
|
if (face != null && face.TextureID.ToString().StartsWith(rawUuid))
|
||||||
|
matchedAvatars.Add(sp);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matchedAvatars.Count == 0)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat("{0} did not match any baked avatar textures in use", rawUuid);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat(
|
||||||
|
"{0} matched {1}",
|
||||||
|
rawUuid,
|
||||||
|
string.Join(", ", matchedAvatars.ToList().ConvertAll<string>(sp => sp.Name).ToArray()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue