aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-06-16 22:43:30 +0000
committerJustin Clarke Casey2008-06-16 22:43:30 +0000
commitcb702990923d77bf261b66d2feb47d01981f16d2 (patch)
treed9a31a18489b2bac7bfdf30bca256128b28b1755
parent* Enables binary data in BaseHttpServer with 'image' in content type. (diff)
downloadopensim-SC_OLD-cb702990923d77bf261b66d2feb47d01981f16d2.zip
opensim-SC_OLD-cb702990923d77bf261b66d2feb47d01981f16d2.tar.gz
opensim-SC_OLD-cb702990923d77bf261b66d2feb47d01981f16d2.tar.bz2
opensim-SC_OLD-cb702990923d77bf261b66d2feb47d01981f16d2.tar.xz
* Fix a bug in the archiver where I didn't realize a shape still needs its default texture as well as its face textures
-rw-r--r--OpenSim/Framework/PrimitiveBaseShape.cs5
-rw-r--r--OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs11
2 files changed, 13 insertions, 3 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs
index 27ce433..aa88717 100644
--- a/OpenSim/Framework/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/PrimitiveBaseShape.cs
@@ -296,6 +296,7 @@ namespace OpenSim.Framework
296 ProfileBegin = LLObject.PackBeginCut(profileRange.X); 296 ProfileBegin = LLObject.PackBeginCut(profileRange.X);
297 ProfileEnd = LLObject.PackEndCut(profileRange.Y); 297 ProfileEnd = LLObject.PackEndCut(profileRange.Y);
298 } 298 }
299
299 public byte[] ExtraParams 300 public byte[] ExtraParams
300 { 301 {
301 get 302 get
@@ -528,6 +529,7 @@ namespace OpenSim.Framework
528 529
529 return data; 530 return data;
530 } 531 }
532
531 public void ReadFlexiData(byte[] data, int pos) 533 public void ReadFlexiData(byte[] data, int pos)
532 { 534 {
533 if (data.Length-pos >= 5) 535 if (data.Length-pos >= 5)
@@ -558,6 +560,7 @@ namespace OpenSim.Framework
558 FlexiForceZ = 0f; 560 FlexiForceZ = 0f;
559 } 561 }
560 } 562 }
563
561 public byte[] GetFlexiBytes() 564 public byte[] GetFlexiBytes()
562 { 565 {
563 byte[] data = new byte[16]; 566 byte[] data = new byte[16];
@@ -576,6 +579,7 @@ namespace OpenSim.Framework
576 579
577 return data; 580 return data;
578 } 581 }
582
579 public void ReadLightData(byte[] data, int pos) 583 public void ReadLightData(byte[] data, int pos)
580 { 584 {
581 if (data.Length - pos >= 16) 585 if (data.Length - pos >= 16)
@@ -605,6 +609,7 @@ namespace OpenSim.Framework
605 LightIntensity = 0f; 609 LightIntensity = 0f;
606 } 610 }
607 } 611 }
612
608 public byte[] GetLightBytes() 613 public byte[] GetLightBytes()
609 { 614 {
610 byte[] data = new byte[16]; 615 byte[] data = new byte[16];
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs
index 1b78f4c..5ff435c 100644
--- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs
+++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs
@@ -99,17 +99,22 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
99 m_log.DebugFormat( 99 m_log.DebugFormat(
100 "[ARCHIVER]: Getting part {0}, {1} for object {2}", part.Name, part.UUID, sceneObject.UUID); 100 "[ARCHIVER]: Getting part {0}, {1} for object {2}", part.Name, part.UUID, sceneObject.UUID);
101 101
102 LLObject.TextureEntry textureEntry = part.Shape.Textures;
103
104 // Get the prim's default texture. This will be used for faces which don't have their own texture
105 assetUuids[textureEntry.DefaultTexture.TextureID] = 1;
106
102 // XXX: Not a great way to iterate through face textures, but there's no 107 // XXX: Not a great way to iterate through face textures, but there's no
103 // other way to tell how many faces there actually are 108 // other method available to tell how many faces there actually are
104 int i = 0; 109 int i = 0;
105 foreach (LLObject.TextureEntryFace texture in part.Shape.Textures.FaceTextures) 110 foreach (LLObject.TextureEntryFace texture in textureEntry.FaceTextures)
106 { 111 {
107 if (texture != null) 112 if (texture != null)
108 { 113 {
109 m_log.DebugFormat("[ARCHIVER]: Got face {0}", i++); 114 m_log.DebugFormat("[ARCHIVER]: Got face {0}", i++);
110 assetUuids[texture.TextureID] = 1; 115 assetUuids[texture.TextureID] = 1;
111 } 116 }
112 } 117 }
113 118
114 foreach (TaskInventoryItem tii in part.TaskInventory.Values) 119 foreach (TaskInventoryItem tii in part.TaskInventory.Values)
115 { 120 {