diff options
inlined packet deserialization
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index 013b755..169f2c4 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -217,19 +217,43 @@ namespace OpenSim.Region.ClientStack | |||
217 | case PacketType.ObjectAdd: | 217 | case PacketType.ObjectAdd: |
218 | if (OnAddPrim != null) | 218 | if (OnAddPrim != null) |
219 | { | 219 | { |
220 | ObjectAddPacket packet = (ObjectAddPacket) Pack ; | 220 | ObjectAddPacket addPacket = (ObjectAddPacket) Pack ; |
221 | PrimitiveBaseShape primShape = PrimitiveBaseShape.FromAddPacket( packet ); | ||
222 | 221 | ||
223 | OnAddPrim(this.AgentId, packet.ObjectData.RayEnd, primShape ); | 222 | PrimitiveBaseShape shape = new PrimitiveBaseShape(); |
223 | |||
224 | shape.PCode = addPacket.ObjectData.PCode; | ||
225 | shape.PathBegin = addPacket.ObjectData.PathBegin; | ||
226 | shape.PathEnd = addPacket.ObjectData.PathEnd; | ||
227 | shape.PathScaleX = addPacket.ObjectData.PathScaleX; | ||
228 | shape.PathScaleY = addPacket.ObjectData.PathScaleY; | ||
229 | shape.PathShearX = addPacket.ObjectData.PathShearX; | ||
230 | shape.PathShearY = addPacket.ObjectData.PathShearY; | ||
231 | shape.PathSkew = addPacket.ObjectData.PathSkew; | ||
232 | shape.ProfileBegin = addPacket.ObjectData.ProfileBegin; | ||
233 | shape.ProfileEnd = addPacket.ObjectData.ProfileEnd; | ||
234 | shape.Scale = addPacket.ObjectData.Scale; | ||
235 | shape.PathCurve = addPacket.ObjectData.PathCurve; | ||
236 | shape.ProfileCurve = addPacket.ObjectData.ProfileCurve; | ||
237 | shape.ProfileHollow = addPacket.ObjectData.ProfileHollow; | ||
238 | shape.PathRadiusOffset = addPacket.ObjectData.PathRadiusOffset; | ||
239 | shape.PathRevolutions = addPacket.ObjectData.PathRevolutions; | ||
240 | shape.PathTaperX = addPacket.ObjectData.PathTaperX; | ||
241 | shape.PathTaperY = addPacket.ObjectData.PathTaperY; | ||
242 | shape.PathTwist = addPacket.ObjectData.PathTwist; | ||
243 | shape.PathTwistBegin = addPacket.ObjectData.PathTwistBegin; | ||
244 | LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")); | ||
245 | shape.TextureEntry = ntex.ToBytes(); | ||
246 | |||
247 | OnAddPrim(this.AgentId, addPacket.ObjectData.RayEnd, shape); | ||
224 | } | 248 | } |
225 | break; | 249 | break; |
226 | case PacketType.ObjectShape: | 250 | case PacketType.ObjectShape: |
227 | ObjectShapePacket shape = (ObjectShapePacket)Pack; | 251 | ObjectShapePacket shapePacket = (ObjectShapePacket)Pack; |
228 | for (int i = 0; i < shape.ObjectData.Length; i++) | 252 | for (int i = 0; i < shapePacket.ObjectData.Length; i++) |
229 | { | 253 | { |
230 | if (OnUpdatePrimShape != null) | 254 | if (OnUpdatePrimShape != null) |
231 | { | 255 | { |
232 | OnUpdatePrimShape(shape.ObjectData[i].ObjectLocalID, shape.ObjectData[i]); | 256 | OnUpdatePrimShape(shapePacket.ObjectData[i].ObjectLocalID, shapePacket.ObjectData[i]); |
233 | } | 257 | } |
234 | } | 258 | } |
235 | break; | 259 | break; |