diff options
author | teravus | 2012-12-21 19:12:30 -0500 |
---|---|---|
committer | teravus | 2012-12-21 19:12:30 -0500 |
commit | 77cc7ce399d1b1a710f3b3f4337932febdef66c8 (patch) | |
tree | f121911c3679fea2065d519c879737200481616d /OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |
parent | * Send an Unsolicited AgentDataUpdate packet upon Root Agent Status to synchr... (diff) | |
download | opensim-SC-77cc7ce399d1b1a710f3b3f4337932febdef66c8.zip opensim-SC-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.gz opensim-SC-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.bz2 opensim-SC-77cc7ce399d1b1a710f3b3f4337932febdef66c8.tar.xz |
* Partial Commit for Avatar Appearance to include the functionality of Cached Bakes.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 26 |
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 | } |