From 6323516a834b5f3dc8056b4107e216c341a42166 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Wed, 25 Mar 2009 20:15:46 +0000 Subject: * Appearance patches suite: These patches are applied to allow libomv bots to wear outfits in the future. This functionality will be upstreamed later. ** Fixed call of new AvatarAppearance without arguments, which caused bots look like clouds of gas ** Added a SendAvatarData in ScenePresence.SetAppearance, which is expected after SetAppearance is run ** Fixed AssetXferUploader: CallbackID wasn't being passed on on multiple packets asset uploads ** Set VisualParams in AvatarAppearance to stop the alien looking bot from spawning and now looks a little better. *** TODO: Set better VisualParams value then 150 to everything --- OpenSim/Region/Communications/Local/LocalBackEndServices.cs | 2 +- .../Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | 4 +++- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index c52f825..2760b1e 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs @@ -320,7 +320,7 @@ namespace OpenSim.Region.Communications.Local else { m_log.WarnFormat("[INTER]: Appearance not found for {0} {1}. Creating default.", agent.firstname, agent.lastname); - agent.Appearance = new AvatarAppearance(); + agent.Appearance = new AvatarAppearance(agent.AgentID); } TriggerExpectUser(regionHandle, agent); diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index 7803209..8bdf084 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs @@ -43,6 +43,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction private UUID InventFolder = UUID.Zero; private sbyte invType = 0; private bool m_createItem = false; + private uint m_createItemCallback = 0; private string m_description = String.Empty; private bool m_dumpAssetToFile; private bool m_finished = false; @@ -148,7 +149,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction m_finished = true; if (m_createItem) { - DoCreateItem(0); + DoCreateItem(m_createItemCallback); } else if (m_storeLocal) { @@ -205,6 +206,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction else { m_createItem = true; //set flag so the inventory item is created when upload is complete + m_createItemCallback = callbackID; } } } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index d6607b3..a6d1ad3 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2389,6 +2389,11 @@ namespace OpenSim.Region.Framework.Scenes UpdateMovementAnimations(); m_startAnimationSet = true; } + + Quaternion rot = m_bodyRot; + m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, + m_pos, m_appearance.Texture.ToBytes(), m_parentID, rot); + } public void SetWearable(int wearableId, AvatarWearable wearable) -- cgit v1.1