* Update tracked avatar texture from AvatarAppearancePacket
* Only wait for uploads to complete when we have something to wait for * When sim requests rebake, only sent AgentSetAppearance once git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2851 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
@@ -832,7 +832,10 @@ namespace OpenMetaverse
|
||||
|
||||
RebakeLayer((BakeType)i);
|
||||
}
|
||||
CachedResponseEvent.WaitOne();
|
||||
if (PendingUploads.Count > 0)
|
||||
{
|
||||
CachedResponseEvent.WaitOne();
|
||||
}
|
||||
Client.Assets.OnAssetUploaded -= Assets_OnAssetUploaded;
|
||||
SendAgentSetAppearance();
|
||||
}
|
||||
@@ -1269,17 +1272,21 @@ namespace OpenMetaverse
|
||||
|
||||
lock (AgentTextures)
|
||||
{
|
||||
Client.Assets.OnAssetUploaded += Assets_OnAssetUploaded;
|
||||
for (int i = 0; i < AgentTextures.Length; i++)
|
||||
{
|
||||
{
|
||||
if(AgentTextures[i] == data.TextureData.TextureID)
|
||||
{
|
||||
// Its one of our baked layers, rebake this one
|
||||
RebakeLayer((TextureIndex)i);
|
||||
|
||||
//Kick the appearance setting as well, this sim probably wants this too a it asked for bakes
|
||||
SendAgentSetAppearance();
|
||||
}
|
||||
}
|
||||
if (PendingUploads.Count > 0)
|
||||
{
|
||||
CachedResponseEvent.WaitOne();
|
||||
}
|
||||
Client.Assets.OnAssetUploaded -= Assets_OnAssetUploaded;
|
||||
SendAgentSetAppearance();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -506,7 +506,7 @@ namespace OpenMetaverse
|
||||
/// <param name="sim"></param>
|
||||
private void AvatarAppearanceHandler(Packet packet, Simulator sim)
|
||||
{
|
||||
if (OnAvatarAppearance != null)
|
||||
if (OnAvatarAppearance != null || Client.Settings.AVATAR_TRACKING)
|
||||
{
|
||||
AvatarAppearancePacket appearance = (AvatarAppearancePacket)packet;
|
||||
sim.ObjectsAvatars.ForEach(delegate(Avatar av)
|
||||
@@ -525,8 +525,13 @@ namespace OpenMetaverse
|
||||
Primitive.TextureEntryFace defaultTexture = textureEntry.DefaultTexture;
|
||||
Primitive.TextureEntryFace[] faceTextures = textureEntry.FaceTextures;
|
||||
|
||||
try { OnAvatarAppearance(appearance.Sender.ID, appearance.Sender.IsTrial, defaultTexture, faceTextures, visualParams); }
|
||||
catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
|
||||
av.Textures = textureEntry;
|
||||
|
||||
if (OnAvatarAppearance != null)
|
||||
{
|
||||
try { OnAvatarAppearance(appearance.Sender.ID, appearance.Sender.IsTrial, defaultTexture, faceTextures, visualParams); }
|
||||
catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user