aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/PrimitiveBaseShape.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/PrimitiveBaseShape.cs')
-rw-r--r--OpenSim/Framework/PrimitiveBaseShape.cs76
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(); }