From 24ab021ea182fbceda5f3c6dee5a4dccfe3581b0 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Wed, 24 Apr 2013 11:42:27 +0300 Subject: [PATCH] UUID Gatherer: find assets used in Light Projection, Particle Systems, and Collision Sounds. --- OpenSim/Region/Framework/Scenes/UuidGatherer.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 8f69ce3ab6..502c7485ad 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -172,7 +172,20 @@ namespace OpenSim.Region.Framework.Scenes // If the prim is a sculpt then preserve this information too if (part.Shape.SculptTexture != UUID.Zero) assetUuids[part.Shape.SculptTexture] = AssetType.Texture; - + + if (part.Shape.ProjectionTextureUUID != UUID.Zero) + assetUuids[part.Shape.ProjectionTextureUUID] = AssetType.Texture; + + if (part.CollisionSound != UUID.Zero) + assetUuids[part.CollisionSound] = AssetType.Sound; + + if (part.ParticleSystem.Length > 0) + { + Primitive.ParticleSystem ps = new Primitive.ParticleSystem(part.ParticleSystem, 0); + if (ps.Texture != UUID.Zero) + assetUuids[ps.Texture] = AssetType.Texture; + } + TaskInventoryDictionary taskDictionary = (TaskInventoryDictionary)part.TaskInventory.Clone(); // Now analyze this prim's inventory items to preserve all the uuids that they reference