diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 4482ae6ceb..de53614539 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -367,7 +367,7 @@ namespace OpenSim.Framework uint CircuitCode { get; set; } void OutPacket(Packet newPack); - void SendWearables(AvatarWearable[] wearables); + void SendWearables(AvatarWearable[] wearables, int serial); void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry); void SendStartPingCheck(byte seq); void SendKillObject(ulong regionHandle, uint localID); diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index 28d851360d..1597cc50c2 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs @@ -843,11 +843,11 @@ namespace OpenSim.Region.ClientStack /// /// /// - public void SendWearables(AvatarWearable[] wearables) + public void SendWearables(AvatarWearable[] wearables, int serial) { AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket(); aw.AgentData.AgentID = AgentId; - aw.AgentData.SerialNum = 0; + aw.AgentData.SerialNum = (uint)serial; aw.AgentData.SessionID = m_sessionId; aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13]; diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 55f50a4ace..730c1995e0 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -203,7 +203,7 @@ namespace OpenSim.Region.ClientStack { if (debug > 0) { - string info; + string info= ""; if (debug < 255 && packet.Type == PacketType.AgentUpdate) return; if (debug < 254 && packet.Type == PacketType.ViewerEffect) diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 56c14015c8..8d326cff3c 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -69,6 +69,7 @@ namespace OpenSim.Region.Environment.Scenes private readonly Vector3[] Dir_Vectors = new Vector3[6]; private LLVector3 lastPhysPos = new LLVector3(); + private int m_wearablesSerial = 1; private enum Dir_ControlFlags { @@ -825,7 +826,7 @@ namespace OpenSim.Region.Environment.Scenes /// public void SendOurAppearance(IClientAPI client) { - client.SendWearables(m_wearables); + client.SendWearables(m_wearables, m_wearablesSerial++); //this.SendFullUpdateToAllClients(); //this.SendAppearanceToAllOtherAgents(); @@ -851,10 +852,10 @@ namespace OpenSim.Region.Environment.Scenes { m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) { - if (scenePresence != this) - { - SendAppearanceToOtherAgent(scenePresence); - } + // if (scenePresence != this) + // { + SendAppearanceToOtherAgent(scenePresence); + // } }); } @@ -1087,7 +1088,7 @@ namespace OpenSim.Region.Environment.Scenes public void SetWearable(int wearableId, AvatarWearable wearable) { m_wearables[wearableId] = wearable; - SendOurAppearance(m_controllingClient); + m_controllingClient.SendWearables(m_wearables, m_wearablesSerial++); } } } diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs index f7fdbb5e69..9ed1f355b5 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs @@ -161,11 +161,12 @@ namespace SimpleApp get { return lastName; } } + public virtual void OutPacket(Packet newPack) { } - public virtual void SendWearables(AvatarWearable[] wearables) + public virtual void SendWearables(AvatarWearable[] wearables, int serial) { }