aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorteravus2012-12-21 19:12:30 -0500
committerteravus2012-12-21 19:12:30 -0500
commit77cc7ce399d1b1a710f3b3f4337932febdef66c8 (patch)
treef121911c3679fea2065d519c879737200481616d /OpenSim/Region/ClientStack
parent* Send an Unsolicited AgentDataUpdate packet upon Root Agent Status to synchr... (diff)
downloadopensim-SC_OLD-77cc7ce399d1b1a710f3b3f4337932febdef66c8.zip
opensim-SC_OLD-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.gz
opensim-SC_OLD-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.bz2
opensim-SC_OLD-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.xz
* Partial Commit for Avatar Appearance to include the functionality of Cached Bakes.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs26
1 files changed, 21 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 363ee54..d18b026 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -6298,12 +6298,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6298 byte[] visualparams = new byte[appear.VisualParam.Length]; 6298 byte[] visualparams = new byte[appear.VisualParam.Length];
6299 for (int i = 0; i < appear.VisualParam.Length; i++) 6299 for (int i = 0; i < appear.VisualParam.Length; i++)
6300 visualparams[i] = appear.VisualParam[i].ParamValue; 6300 visualparams[i] = appear.VisualParam[i].ParamValue;
6301 6301 //var b = appear.WearableData[0];
6302
6302 Primitive.TextureEntry te = null; 6303 Primitive.TextureEntry te = null;
6303 if (appear.ObjectData.TextureEntry.Length > 1) 6304 if (appear.ObjectData.TextureEntry.Length > 1)
6304 te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length); 6305 te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length);
6306
6307 WearableCacheItem[] cacheitems = new WearableCacheItem[appear.WearableData.Length];
6308 for (int i=0; i<appear.WearableData.Length;i++)
6309 cacheitems[i] = new WearableCacheItem(){CacheId = appear.WearableData[i].CacheID,TextureIndex=Convert.ToUInt32(appear.WearableData[i].TextureIndex)};
6305 6310
6306 handlerSetAppearance(sender, te, visualparams,avSize); 6311
6312
6313 handlerSetAppearance(sender, te, visualparams,avSize, cacheitems);
6307 } 6314 }
6308 catch (Exception e) 6315 catch (Exception e)
6309 { 6316 {
@@ -11704,6 +11711,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11704 11711
11705 if (cachedtex.AgentData.SessionID != SessionId) 11712 if (cachedtex.AgentData.SessionID != SessionId)
11706 return false; 11713 return false;
11714
11707 11715
11708 // TODO: don't create new blocks if recycling an old packet 11716 // TODO: don't create new blocks if recycling an old packet
11709 cachedresp.AgentData.AgentID = AgentId; 11717 cachedresp.AgentData.AgentID = AgentId;
@@ -11713,6 +11721,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11713 cachedresp.WearableData = 11721 cachedresp.WearableData =
11714 new AgentCachedTextureResponsePacket.WearableDataBlock[cachedtex.WearableData.Length]; 11722 new AgentCachedTextureResponsePacket.WearableDataBlock[cachedtex.WearableData.Length];
11715 11723
11724 //IAvatarFactoryModule fac = m_scene.RequestModuleInterface<IAvatarFactoryModule>();
11725 // var item = fac.GetBakedTextureFaces(AgentId);
11726 //WearableCacheItem[] items = fac.GetCachedItems(AgentId);
11727
11716 IImprovedAssetCache cache = m_scene.RequestModuleInterface<IImprovedAssetCache>(); 11728 IImprovedAssetCache cache = m_scene.RequestModuleInterface<IImprovedAssetCache>();
11717 if (cache == null) 11729 if (cache == null)
11718 { 11730 {
@@ -11720,7 +11732,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11720 { 11732 {
11721 cachedresp.WearableData[i] = new AgentCachedTextureResponsePacket.WearableDataBlock(); 11733 cachedresp.WearableData[i] = new AgentCachedTextureResponsePacket.WearableDataBlock();
11722 cachedresp.WearableData[i].TextureIndex = cachedtex.WearableData[i].TextureIndex; 11734 cachedresp.WearableData[i].TextureIndex = cachedtex.WearableData[i].TextureIndex;
11723 cachedresp.WearableData[i].TextureID = UUID.Zero; 11735 cachedresp.WearableData[i].TextureID = UUID.Zero; //UUID.Parse("8334fb6e-c2f5-46ee-807d-a435f61a8d46");
11724 cachedresp.WearableData[i].HostName = new byte[0]; 11736 cachedresp.WearableData[i].HostName = new byte[0];
11725 } 11737 }
11726 } 11738 }
@@ -11730,10 +11742,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11730 { 11742 {
11731 cachedresp.WearableData[i] = new AgentCachedTextureResponsePacket.WearableDataBlock(); 11743 cachedresp.WearableData[i] = new AgentCachedTextureResponsePacket.WearableDataBlock();
11732 cachedresp.WearableData[i].TextureIndex = cachedtex.WearableData[i].TextureIndex; 11744 cachedresp.WearableData[i].TextureIndex = cachedtex.WearableData[i].TextureIndex;
11733 if(cache.Check(cachedtex.WearableData[i].ID.ToString())) 11745
11746
11747
11748 if (cache.Check(cachedtex.WearableData[i].ID.ToString()))
11734 cachedresp.WearableData[i].TextureID = UUID.Zero; 11749 cachedresp.WearableData[i].TextureID = UUID.Zero;
11750 //UUID.Parse("8334fb6e-c2f5-46ee-807d-a435f61a8d46");
11735 else 11751 else
11736 cachedresp.WearableData[i].TextureID = UUID.Zero; 11752 cachedresp.WearableData[i].TextureID = UUID.Zero; // UUID.Parse("8334fb6e-c2f5-46ee-807d-a435f61a8d46");
11737 cachedresp.WearableData[i].HostName = new byte[0]; 11753 cachedresp.WearableData[i].HostName = new byte[0];
11738 } 11754 }
11739 } 11755 }