add cache for not existing textures
parent
6ac1e6eaf9
commit
789d658f4a
|
@ -22,6 +22,8 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
Scene m_scene = null;
|
||||
|
||||
List<UUID> m_textureBlackList = new List<UUID>();
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return "TextureFetcher"; }
|
||||
|
@ -74,7 +76,7 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
|
||||
private void AddObject(SceneObjectGroup obj)
|
||||
{
|
||||
foreach(SceneObjectPart _part in obj.Parts)
|
||||
foreach (SceneObjectPart _part in obj.Parts)
|
||||
copyTexturesToInventory(_part);
|
||||
}
|
||||
|
||||
|
@ -132,7 +134,9 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
for(uint i = 0; i < allSides; i++)
|
||||
{
|
||||
TextureEntryFace face = textures.GetFace(i);
|
||||
allTextures.Add(face.TextureID);
|
||||
|
||||
if(!m_textureBlackList.Contains(face.TextureID))
|
||||
allTextures.Add(face.TextureID);
|
||||
}
|
||||
|
||||
//Remove not existing textures
|
||||
|
@ -143,7 +147,10 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
bool[] existing = m_scene.AssetService.AssetsExist(_assetIDs);
|
||||
for (int i = 0; i < existing.Length; i++)
|
||||
if (existing[i] == false)
|
||||
{
|
||||
m_textureBlackList.Add(allTextures[i]);
|
||||
allTextures[i] = UUID.Zero;
|
||||
}
|
||||
|
||||
//Convert texture uuid list to inventar items.
|
||||
foreach (UUID texture in allTextures)
|
||||
|
|
Loading…
Reference in New Issue