Allow "appearance show" command to take an optional avatar name
parent
7dce33ce69
commit
cc80377325
|
@ -96,14 +96,15 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
|||
this, "appearance show",
|
||||
"appearance show",
|
||||
"Show appearance information for each avatar in the simulator.",
|
||||
"At the moment this actually just checks that we have all the required baked textures. If not, then appearance is 'corrupt' and other avatars will continue to see a cloud.",
|
||||
"Optionally, you can view just a particular avatar's appearance information"
|
||||
+ "\nAt the moment this actually just checks that we have all the required baked textures. If not, then appearance is 'corrupt' and other avatars will continue to see a cloud.",
|
||||
HandleShowAppearanceCommand);
|
||||
|
||||
scene.AddCommand(
|
||||
this, "appearance send",
|
||||
"appearance send [<first-name> <last-name>]",
|
||||
"Send appearance data for each avatar in the simulator to other viewers."
|
||||
+ "\nOptionally, you can specify that only a particular avatar's information is sent.",
|
||||
"Send appearance data for each avatar in the simulator to other viewers.",
|
||||
"Optionally, you can specify that only a particular avatar's appearance data is sent.",
|
||||
HandleSendAppearanceCommand);
|
||||
}
|
||||
|
||||
|
@ -159,20 +160,48 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
|||
|
||||
protected void HandleShowAppearanceCommand(string module, string[] cmd)
|
||||
{
|
||||
if (cmd.Length != 2 && cmd.Length < 4)
|
||||
{
|
||||
MainConsole.Instance.OutputFormat("Usage: appearance show [<first-name> <last-name>]");
|
||||
return;
|
||||
}
|
||||
|
||||
bool targetNameSupplied = false;
|
||||
string optionalTargetFirstName = null;
|
||||
string optionalTargetLastName = null;
|
||||
|
||||
if (cmd.Length >= 4)
|
||||
{
|
||||
targetNameSupplied = true;
|
||||
optionalTargetFirstName = cmd[2];
|
||||
optionalTargetLastName = cmd[3];
|
||||
}
|
||||
|
||||
lock (m_scenes)
|
||||
{
|
||||
foreach (Scene scene in m_scenes.Values)
|
||||
{
|
||||
scene.ForEachClient(
|
||||
delegate(IClientAPI client)
|
||||
if (targetNameSupplied)
|
||||
{
|
||||
if (client is LLClientView && !((LLClientView)client).ChildAgentStatus())
|
||||
ScenePresence sp = scene.GetScenePresence(optionalTargetFirstName, optionalTargetLastName);
|
||||
if (sp != null && !sp.IsChildAgent)
|
||||
{
|
||||
bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(client);
|
||||
bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(sp);
|
||||
MainConsole.Instance.OutputFormat(
|
||||
"{0} baked appearance texture is {1}", client.Name, bakedTextureValid ? "OK" : "corrupt");
|
||||
"{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
scene.ForEachRootScenePresence(
|
||||
sp =>
|
||||
{
|
||||
bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(sp);
|
||||
MainConsole.Instance.OutputFormat(
|
||||
"{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt");
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue