diff options
author | Justin Clarke Casey | 2008-06-16 22:43:30 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-16 22:43:30 +0000 |
commit | cb702990923d77bf261b66d2feb47d01981f16d2 (patch) | |
tree | d9a31a18489b2bac7bfdf30bca256128b28b1755 | |
parent | * Enables binary data in BaseHttpServer with 'image' in content type. (diff) | |
download | opensim-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.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs | 11 |
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 | { |