disable sculpt map caching until a better method of avoiding asset requests can be found

0.6.6-post-fixes
Dahlia Trimble 2009-05-29 05:11:50 +00:00
parent 9493de7f4e
commit 1609e7eac0
3 changed files with 15 additions and 10 deletions

View File

@ -2967,10 +2967,10 @@ namespace OpenSim.Region.Framework.Scenes
{ {
if (part.Shape.SculptEntry && part.Shape.SculptTexture != UUID.Zero) if (part.Shape.SculptEntry && part.Shape.SculptTexture != UUID.Zero)
{ {
// check if a previously decoded sculpt map has been cached //// check if a previously decoded sculpt map has been cached
if (File.Exists(System.IO.Path.Combine("j2kDecodeCache", "smap_" + part.Shape.SculptTexture.ToString()))) //if (File.Exists(System.IO.Path.Combine("j2kDecodeCache", "smap_" + part.Shape.SculptTexture.ToString())))
part.SculptTextureCallback(part.Shape.SculptTexture, null); // part.SculptTextureCallback(part.Shape.SculptTexture, null);
else //else
m_scene.AssetService.Get( m_scene.AssetService.Get(
part.Shape.SculptTexture.ToString(), part, AssetReceived); part.Shape.SculptTexture.ToString(), part, AssetReceived);
} }

View File

@ -2268,8 +2268,10 @@ if (m_shape != null) {
{ {
if (m_shape.SculptEntry) if (m_shape.SculptEntry)
{ {
// commented out for sculpt map caching test - null could mean a cached sculpt map has been found
if (texture != null)
{ {
if (texture != null) //if (texture != null)
m_shape.SculptData = texture.Data; m_shape.SculptData = texture.Data;
if (PhysActor != null) if (PhysActor != null)

View File

@ -71,6 +71,7 @@ namespace OpenSim.Region.Physics.Meshing
private const string baseDir = null; //"rawFiles"; private const string baseDir = null; //"rawFiles";
#endif #endif
private bool cacheSculptMaps = false;
private string decodedScultMapPath = "j2kDecodeCache"; private string decodedScultMapPath = "j2kDecodeCache";
private float minSizeForComplexMesh = 0.2f; // prims with all dimensions smaller than this will have a bounding box mesh private float minSizeForComplexMesh = 0.2f; // prims with all dimensions smaller than this will have a bounding box mesh
@ -186,7 +187,7 @@ namespace OpenSim.Region.Physics.Meshing
if (primShape.SculptData.Length == 0) if (primShape.SculptData.Length == 0)
return null; return null;
if (primShape.SculptTexture != null) if (cacheSculptMaps && primShape.SculptTexture != null)
{ {
decodedSculptFileName = System.IO.Path.Combine(decodedScultMapPath, "smap_" + primShape.SculptTexture.ToString()); decodedSculptFileName = System.IO.Path.Combine(decodedScultMapPath, "smap_" + primShape.SculptTexture.ToString());
try try
@ -199,7 +200,7 @@ namespace OpenSim.Region.Physics.Meshing
catch (Exception e) catch (Exception e)
{ {
m_log.Error("[SCULPT]: unable to load cached sculpt map " + decodedSculptFileName + " " + e.Message); m_log.Error("[SCULPT]: unable to load cached sculpt map " + decodedSculptFileName + " " + e.Message);
} }
if (idata != null) if (idata != null)
m_log.Debug("[SCULPT]: loaded cached map asset for map ID: " + primShape.SculptTexture.ToString()); m_log.Debug("[SCULPT]: loaded cached map asset for map ID: " + primShape.SculptTexture.ToString());
@ -212,9 +213,11 @@ namespace OpenSim.Region.Physics.Meshing
ManagedImage managedImage; // we never use this ManagedImage managedImage; // we never use this
OpenJPEG.DecodeToImage(primShape.SculptData, out managedImage, out idata); OpenJPEG.DecodeToImage(primShape.SculptData, out managedImage, out idata);
//if (File.Exists(System.IO.Path.GetDirectoryName(decodedScultMapPath))) if (cacheSculptMaps)
try { idata.Save(decodedSculptFileName, ImageFormat.MemoryBmp); } {
catch (Exception e) { m_log.Error("[SCULPT]: unable to cache sculpt map " + decodedSculptFileName + " " + e.Message); } try { idata.Save(decodedSculptFileName, ImageFormat.MemoryBmp); }
catch (Exception e) { m_log.Error("[SCULPT]: unable to cache sculpt map " + decodedSculptFileName + " " + e.Message); }
}
} }
catch (DllNotFoundException) catch (DllNotFoundException)
{ {