diff options
Diffstat (limited to 'OpenSim/Framework/PrimitiveBaseShape.cs')
-rw-r--r-- | OpenSim/Framework/PrimitiveBaseShape.cs | 76 |
1 files changed, 40 insertions, 36 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index b88f162..9c2a4f9 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs | |||
@@ -186,40 +186,40 @@ namespace OpenSim.Framework | |||
186 | PCode = (byte)PCodeEnum.Primitive; | 186 | PCode = (byte)PCodeEnum.Primitive; |
187 | ExtraParams = new byte[1]; | 187 | ExtraParams = new byte[1]; |
188 | m_textureEntry = DEFAULT_TEXTURE; | 188 | m_textureEntry = DEFAULT_TEXTURE; |
189 | } | 189 | } |
190 | 190 | ||
191 | public PrimitiveBaseShape(Primitive prim) | 191 | public PrimitiveBaseShape(Primitive prim) |
192 | { | 192 | { |
193 | PCode = (byte)prim.PrimData.PCode; | 193 | PCode = (byte)prim.PrimData.PCode; |
194 | ExtraParams = new byte[1]; | 194 | ExtraParams = new byte[1]; |
195 | 195 | ||
196 | State = prim.PrimData.State; | 196 | State = prim.PrimData.State; |
197 | PathBegin = Primitive.PackBeginCut(prim.PrimData.PathBegin); | 197 | PathBegin = Primitive.PackBeginCut(prim.PrimData.PathBegin); |
198 | PathEnd = Primitive.PackEndCut(prim.PrimData.PathEnd); | 198 | PathEnd = Primitive.PackEndCut(prim.PrimData.PathEnd); |
199 | PathScaleX = Primitive.PackPathScale(prim.PrimData.PathScaleX); | 199 | PathScaleX = Primitive.PackPathScale(prim.PrimData.PathScaleX); |
200 | PathScaleY = Primitive.PackPathScale(prim.PrimData.PathScaleY); | 200 | PathScaleY = Primitive.PackPathScale(prim.PrimData.PathScaleY); |
201 | PathShearX = (byte)Primitive.PackPathShear(prim.PrimData.PathShearX); | 201 | PathShearX = (byte)Primitive.PackPathShear(prim.PrimData.PathShearX); |
202 | PathShearY = (byte)Primitive.PackPathShear(prim.PrimData.PathShearY); | 202 | PathShearY = (byte)Primitive.PackPathShear(prim.PrimData.PathShearY); |
203 | PathSkew = Primitive.PackPathTwist(prim.PrimData.PathSkew); | 203 | PathSkew = Primitive.PackPathTwist(prim.PrimData.PathSkew); |
204 | ProfileBegin = Primitive.PackBeginCut(prim.PrimData.ProfileBegin); | 204 | ProfileBegin = Primitive.PackBeginCut(prim.PrimData.ProfileBegin); |
205 | ProfileEnd = Primitive.PackEndCut(prim.PrimData.ProfileEnd); | 205 | ProfileEnd = Primitive.PackEndCut(prim.PrimData.ProfileEnd); |
206 | Scale = prim.Scale; | 206 | Scale = prim.Scale; |
207 | PathCurve = (byte)prim.PrimData.PathCurve; | 207 | PathCurve = (byte)prim.PrimData.PathCurve; |
208 | ProfileCurve = (byte)prim.PrimData.ProfileCurve; | 208 | ProfileCurve = (byte)prim.PrimData.ProfileCurve; |
209 | ProfileHollow = Primitive.PackProfileHollow(prim.PrimData.ProfileHollow); | 209 | ProfileHollow = Primitive.PackProfileHollow(prim.PrimData.ProfileHollow); |
210 | PathRadiusOffset = Primitive.PackPathTwist(prim.PrimData.PathRadiusOffset); | 210 | PathRadiusOffset = Primitive.PackPathTwist(prim.PrimData.PathRadiusOffset); |
211 | PathRevolutions = Primitive.PackPathRevolutions(prim.PrimData.PathRevolutions); | 211 | PathRevolutions = Primitive.PackPathRevolutions(prim.PrimData.PathRevolutions); |
212 | PathTaperX = Primitive.PackPathTaper(prim.PrimData.PathTaperX); | 212 | PathTaperX = Primitive.PackPathTaper(prim.PrimData.PathTaperX); |
213 | PathTaperY = Primitive.PackPathTaper(prim.PrimData.PathTaperY); | 213 | PathTaperY = Primitive.PackPathTaper(prim.PrimData.PathTaperY); |
214 | PathTwist = Primitive.PackPathTwist(prim.PrimData.PathTwist); | 214 | PathTwist = Primitive.PackPathTwist(prim.PrimData.PathTwist); |
215 | PathTwistBegin = Primitive.PackPathTwist(prim.PrimData.PathTwistBegin); | 215 | PathTwistBegin = Primitive.PackPathTwist(prim.PrimData.PathTwistBegin); |
216 | 216 | ||
217 | m_textureEntry = prim.Textures.GetBytes(); | 217 | m_textureEntry = prim.Textures.GetBytes(); |
218 | 218 | ||
219 | SculptEntry = (prim.Sculpt.Type != OpenMetaverse.SculptType.None); | 219 | SculptEntry = (prim.Sculpt.Type != OpenMetaverse.SculptType.None); |
220 | SculptData = prim.Sculpt.GetBytes(); | 220 | SculptData = prim.Sculpt.GetBytes(); |
221 | SculptTexture = prim.Sculpt.SculptTexture; | 221 | SculptTexture = prim.Sculpt.SculptTexture; |
222 | SculptType = (byte)prim.Sculpt.Type; | 222 | SculptType = (byte)prim.Sculpt.Type; |
223 | } | 223 | } |
224 | 224 | ||
225 | [XmlIgnore] | 225 | [XmlIgnore] |
@@ -227,8 +227,12 @@ namespace OpenSim.Framework | |||
227 | { | 227 | { |
228 | get | 228 | get |
229 | { | 229 | { |
230 | //m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: get m_textureEntry length {0}", m_textureEntry.Length); | 230 | //m_log.DebugFormat("[SHAPE]: get m_textureEntry length {0}", m_textureEntry.Length); |
231 | return new Primitive.TextureEntry(m_textureEntry, 0, m_textureEntry.Length); | 231 | try { return new Primitive.TextureEntry(m_textureEntry, 0, m_textureEntry.Length); } |
232 | catch { } | ||
233 | |||
234 | m_log.Warn("[SHAPE]: Failed to decode texture, length=" + ((m_textureEntry != null) ? m_textureEntry.Length : 0)); | ||
235 | return new Primitive.TextureEntry(null); | ||
232 | } | 236 | } |
233 | 237 | ||
234 | set { m_textureEntry = value.GetBytes(); } | 238 | set { m_textureEntry = value.GetBytes(); } |