aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Physics/Meshing/Meshmerizer.cs31
1 files changed, 7 insertions, 24 deletions
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index 143648e..7a3f343 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -74,8 +74,6 @@ namespace OpenSim.Region.Physics.Meshing
74#endif 74#endif
75 75
76 private bool cacheSculptMaps = true; 76 private bool cacheSculptMaps = true;
77 private bool cacheSculptAlphaMaps = true;
78
79 private string decodedSculptMapPath = null; 77 private string decodedSculptMapPath = null;
80 private bool useMeshiesPhysicsMesh = false; 78 private bool useMeshiesPhysicsMesh = false;
81 79
@@ -89,16 +87,7 @@ namespace OpenSim.Region.Physics.Meshing
89 IConfig mesh_config = config.Configs["Mesh"]; 87 IConfig mesh_config = config.Configs["Mesh"];
90 88
91 decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache"); 89 decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache");
92
93 cacheSculptMaps = start_config.GetBoolean("CacheSculptMaps", cacheSculptMaps); 90 cacheSculptMaps = start_config.GetBoolean("CacheSculptMaps", cacheSculptMaps);
94
95 if (Environment.OSVersion.Platform == PlatformID.Unix)
96 {
97 cacheSculptAlphaMaps = false;
98 }
99 else
100 cacheSculptAlphaMaps = cacheSculptMaps;
101
102 if(mesh_config != null) 91 if(mesh_config != null)
103 useMeshiesPhysicsMesh = mesh_config.GetBoolean("UseMeshiesPhysicsMesh", useMeshiesPhysicsMesh); 92 useMeshiesPhysicsMesh = mesh_config.GetBoolean("UseMeshiesPhysicsMesh", useMeshiesPhysicsMesh);
104 93
@@ -279,18 +268,15 @@ namespace OpenSim.Region.Physics.Meshing
279 { 268 {
280 if (!GenerateCoordsAndFacesFromPrimSculptData(primName, primShape, size, lod, out coords, out faces)) 269 if (!GenerateCoordsAndFacesFromPrimSculptData(primName, primShape, size, lod, out coords, out faces))
281 return null; 270 return null;
282 // Remove the reference to any JPEG2000 sculpt data so it can be GCed
283 // don't loose it
284 // primShape.SculptData = Utils.EmptyBytes;
285 } 271 }
286// primShape.SculptDataLoaded = true;
287 } 272 }
288 else 273 else
289 { 274 {
290 if (!GenerateCoordsAndFacesFromPrimShapeData(primName, primShape, size, lod, out coords, out faces)) 275 if (!GenerateCoordsAndFacesFromPrimShapeData(primName, primShape, size, lod, out coords, out faces))
291 return null; 276 return null;
292 } 277 }
293 // keep compatible 278
279 // Remove the reference to any JPEG2000 sculpt data so it can be GCed
294 primShape.SculptData = Utils.EmptyBytes; 280 primShape.SculptData = Utils.EmptyBytes;
295 281
296 int numCoords = coords.Count; 282 int numCoords = coords.Count;
@@ -335,7 +321,7 @@ namespace OpenSim.Region.Physics.Meshing
335 321
336 if (primShape.SculptData.Length <= 0) 322 if (primShape.SculptData.Length <= 0)
337 { 323 {
338 m_log.InfoFormat("[MESH]: asset data for {0} is zero length", primName); 324// m_log.ErrorFormat("[MESH]: asset data for {0} is zero length", primName);
339 return false; 325 return false;
340 } 326 }
341 327
@@ -496,8 +482,7 @@ namespace OpenSim.Region.Physics.Meshing
496 482
497 //idata = CSJ2K.J2kImage.FromBytes(primShape.SculptData); 483 //idata = CSJ2K.J2kImage.FromBytes(primShape.SculptData);
498 484
499 if (cacheSculptMaps && (cacheSculptAlphaMaps || (((ImageFlags)(idata.Flags) & ImageFlags.HasAlpha) ==0))) 485 if (cacheSculptMaps)
500 // don't cache images with alpha channel in linux since mono can't load them correctly)
501 { 486 {
502 try { idata.Save(decodedSculptFileName, ImageFormat.MemoryBmp); } 487 try { idata.Save(decodedSculptFileName, ImageFormat.MemoryBmp); }
503 catch (Exception e) { m_log.Error("[SCULPT]: unable to cache sculpt map " + decodedSculptFileName + " " + e.Message); } 488 catch (Exception e) { m_log.Error("[SCULPT]: unable to cache sculpt map " + decodedSculptFileName + " " + e.Message); }
@@ -717,11 +702,6 @@ namespace OpenSim.Region.Physics.Meshing
717 return CreateMesh(primName, primShape, size, lod, false); 702 return CreateMesh(primName, primShape, size, lod, false);
718 } 703 }
719 704
720 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex)
721 {
722 return CreateMesh(primName, primShape, size, lod, false);
723 }
724
725 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical) 705 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical)
726 { 706 {
727#if SPAM 707#if SPAM
@@ -763,6 +743,7 @@ namespace OpenSim.Region.Physics.Meshing
763 743
764 return mesh; 744 return mesh;
765 } 745 }
746<<<<<<< HEAD
766 public IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex) 747 public IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex)
767 { 748 {
768 return null; 749 return null;
@@ -770,5 +751,7 @@ namespace OpenSim.Region.Physics.Meshing
770 751
771 public void ReleaseMesh(IMesh imesh) { } 752 public void ReleaseMesh(IMesh imesh) { }
772 public void ExpireReleaseMeshs() { } 753 public void ExpireReleaseMeshs() { }
754=======
755>>>>>>> avination
773 } 756 }
774} 757}