dont send baked textures assets, but send cache information

avinationmerge
UbitUmarov 2014-10-26 18:13:44 +00:00
parent bc4d0179b3
commit 736490dcb6
2 changed files with 17 additions and 5 deletions

View File

@ -144,12 +144,14 @@ namespace OpenSim.Framework
itemmap.Add("textureindex", OSD.FromUInteger(item.TextureIndex)); itemmap.Add("textureindex", OSD.FromUInteger(item.TextureIndex));
itemmap.Add("cacheid", OSD.FromUUID(item.CacheId)); itemmap.Add("cacheid", OSD.FromUUID(item.CacheId));
itemmap.Add("textureid", OSD.FromUUID(item.TextureID)); itemmap.Add("textureid", OSD.FromUUID(item.TextureID));
/*
if (item.TextureAsset != null) if (item.TextureAsset != null)
{ {
itemmap.Add("assetdata", OSD.FromBinary(item.TextureAsset.Data)); itemmap.Add("assetdata", OSD.FromBinary(item.TextureAsset.Data));
itemmap.Add("assetcreator", OSD.FromString(item.TextureAsset.CreatorID)); itemmap.Add("assetcreator", OSD.FromString(item.TextureAsset.CreatorID));
itemmap.Add("assetname", OSD.FromString(item.TextureAsset.Name)); itemmap.Add("assetname", OSD.FromString(item.TextureAsset.Name));
} }
*/
arr.Add(itemmap); arr.Add(itemmap);
} }
return arr; return arr;
@ -169,6 +171,7 @@ namespace OpenSim.Framework
continue; continue;
pcache[idx].CacheId = item["cacheid"].AsUUID(); pcache[idx].CacheId = item["cacheid"].AsUUID();
pcache[idx].TextureID = item["textureid"].AsUUID(); pcache[idx].TextureID = item["textureid"].AsUUID();
/*
if (item.ContainsKey("assetdata")) if (item.ContainsKey("assetdata"))
{ {
AssetBase asset = new AssetBase(item["textureid"].AsUUID(), "BakedTexture", (sbyte)AssetType.Texture, UUID.Zero.ToString()); AssetBase asset = new AssetBase(item["textureid"].AsUUID(), "BakedTexture", (sbyte)AssetType.Texture, UUID.Zero.ToString());
@ -178,6 +181,7 @@ namespace OpenSim.Framework
pcache[idx].TextureAsset = asset; pcache[idx].TextureAsset = asset;
} }
else else
*/
pcache[idx].TextureAsset = null; pcache[idx].TextureAsset = null;
} }
} }

View File

@ -547,12 +547,20 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
{ {
int idx = AvatarAppearance.BAKE_INDICES[i]; int idx = AvatarAppearance.BAKE_INDICES[i];
Primitive.TextureEntryFace face = sp.Appearance.Texture.FaceTextures[idx]; Primitive.TextureEntryFace face = sp.Appearance.Texture.FaceTextures[idx];
if (face != null && face.TextureID == wearableCache[idx].TextureID && wearableCache[idx].TextureAsset != null) if (face != null && face.TextureID == wearableCache[idx].TextureID)
{ {
hits++; if (wearableCache[idx].TextureAsset != null)
wearableCache[idx].TextureAsset.Temporary = true; {
wearableCache[idx].TextureAsset.Local = true; hits++;
cache.Store(wearableCache[idx].TextureAsset); wearableCache[idx].TextureAsset.Temporary = true;
wearableCache[idx].TextureAsset.Local = true;
cache.Store(wearableCache[idx].TextureAsset);
}
else if (cache.GetCached((wearableCache[idx].TextureID).ToString()) != null)
{
hits++;
}
} }
} }