aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/General/Interfaces/IClientAPI.cs3
-rw-r--r--OpenSim/Framework/General/NullClientAPI.cs3
-rw-r--r--OpenSim/Framework/General/Types/PrimitiveBaseShape.cs8
-rw-r--r--OpenSim/Region/ClientStack/ClientView.API.cs36
-rw-r--r--OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs54
-rw-r--r--OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/Primitive.cs74
-rw-r--r--OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs3
8 files changed, 88 insertions, 97 deletions
diff --git a/OpenSim/Framework/General/Interfaces/IClientAPI.cs b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
index 5320196..da4e03b 100644
--- a/OpenSim/Framework/General/Interfaces/IClientAPI.cs
+++ b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
@@ -199,8 +199,7 @@ namespace OpenSim.Framework.Interfaces
199 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity); 199 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity);
200 200
201 void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint); 201 void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
202 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem); 202 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation);
203 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem);
204 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation); 203 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
205 204
206 void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items); 205 void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items);
diff --git a/OpenSim/Framework/General/NullClientAPI.cs b/OpenSim/Framework/General/NullClientAPI.cs
index 017828e..bc98cc1 100644
--- a/OpenSim/Framework/General/NullClientAPI.cs
+++ b/OpenSim/Framework/General/NullClientAPI.cs
@@ -130,8 +130,7 @@ namespace OpenSim.Framework
130 public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity){} 130 public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity){}
131 131
132 public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint){} 132 public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint){}
133 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem){} 133 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation){}
134 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem){}
135 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation){} 134 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation){}
136 135
137 public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items){} 136 public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items){}
diff --git a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
index 1938a90..340947b 100644
--- a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
@@ -73,7 +73,7 @@ namespace OpenSim.Framework.Types
73 ExtraParams = new byte[1]; 73 ExtraParams = new byte[1];
74 TextureEntry = m_defaultTextureEntry; 74 TextureEntry = m_defaultTextureEntry;
75 } 75 }
76 76
77 //void returns need to change of course 77 //void returns need to change of course
78 public virtual void GetMesh() 78 public virtual void GetMesh()
79 { 79 {
@@ -94,6 +94,8 @@ namespace OpenSim.Framework.Types
94 PathCurve = 16; 94 PathCurve = 16;
95 ProfileCurve = 1; 95 ProfileCurve = 1;
96 PCode = 9; 96 PCode = 9;
97 PathScaleX = 100;
98 PathScaleY = 100;
97 } 99 }
98 100
99 public static BoxShape Default 101 public static BoxShape Default
@@ -103,10 +105,6 @@ namespace OpenSim.Framework.Types
103 BoxShape boxShape = new BoxShape(); 105 BoxShape boxShape = new BoxShape();
104 106
105 boxShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f); 107 boxShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
106
107 //boxShape.PathTaperX = 1;
108 //boxShape.PathTaperY = 1;
109 boxShape.PathSkew = 1;
110 108
111 return boxShape; 109 return boxShape;
112 } 110 }
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs
index 610bfd1..fb0ec29 100644
--- a/OpenSim/Region/ClientStack/ClientView.API.cs
+++ b/OpenSim/Region/ClientStack/ClientView.API.cs
@@ -673,6 +673,8 @@ namespace OpenSim.Region.ClientStack
673 OutPacket(loadURL); 673 OutPacket(loadURL);
674 } 674 }
675 675
676 #endregion
677
676 #region Appearance/ Wearables Methods 678 #region Appearance/ Wearables Methods
677 679
678 /// <summary> 680 /// <summary>
@@ -817,44 +819,33 @@ namespace OpenSim.Region.ClientStack
817 this.OutPacket(attach); 819 this.OutPacket(attach);
818 } 820 }
819 821
820 public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem) 822 public void SendPrimitiveToClient(
823 ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
824 LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation)
821 { 825 {
822 ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); 826 ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
823 outPacket.RegionData.RegionHandle = regionHandle; 827 outPacket.RegionData.RegionHandle = regionHandle;
824 outPacket.RegionData.TimeDilation = timeDilation; 828 outPacket.RegionData.TimeDilation = timeDilation;
825 outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1]; 829 outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
830
826 outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags); 831 outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags);
832
827 outPacket.ObjectData[0].ID = localID; 833 outPacket.ObjectData[0].ID = localID;
828 outPacket.ObjectData[0].FullID = objectID; 834 outPacket.ObjectData[0].FullID = objectID;
829 outPacket.ObjectData[0].OwnerID = ownerID; 835 outPacket.ObjectData[0].OwnerID = ownerID;
830 outPacket.ObjectData[0].Text = Helpers.StringToField( text ); 836 outPacket.ObjectData[0].Text = Helpers.StringToField( text );
831 outPacket.ObjectData[0].ParentID = parentID; 837 outPacket.ObjectData[0].ParentID = parentID;
832 outPacket.ObjectData[0].PSBlock = particleSystem; 838 outPacket.ObjectData[0].PSBlock = particleSystem;
839
833 byte[] pb = pos.GetBytes(); 840 byte[] pb = pos.GetBytes();
834 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 841 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
842
835 byte[] rot = rotation.GetBytes(); 843 byte[] rot = rotation.GetBytes();
836 Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); 844 Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length);
845
837 OutPacket(outPacket); 846 OutPacket(outPacket);
838 } 847 }
839 848
840 public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem)
841 {
842 ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
843 outPacket.RegionData.RegionHandle = regionHandle;
844 outPacket.RegionData.TimeDilation = timeDilation;
845 outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
846 outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags);
847 outPacket.ObjectData[0].ID = localID;
848 outPacket.ObjectData[0].FullID = objectID;
849 outPacket.ObjectData[0].OwnerID = ownerID;
850 outPacket.ObjectData[0].Text = Helpers.StringToField( text );
851 outPacket.ObjectData[0].ParentID = parentID;
852 outPacket.ObjectData[0].PSBlock = particleSystem;
853 byte[] pb = pos.GetBytes();
854 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
855
856 OutPacket(outPacket);
857 }
858 /// <summary> 849 /// <summary>
859 /// 850 ///
860 /// </summary> 851 /// </summary>
@@ -876,8 +867,6 @@ namespace OpenSim.Region.ClientStack
876 867
877 #endregion 868 #endregion
878 869
879 #endregion
880
881 #region Helper Methods 870 #region Helper Methods
882 871
883 protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateAvatarImprovedBlock(uint localID, LLVector3 pos, LLVector3 velocity) 872 protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateAvatarImprovedBlock(uint localID, LLVector3 pos, LLVector3 velocity)
@@ -1163,8 +1152,6 @@ namespace OpenSim.Region.ClientStack
1163 objdata.ObjectData[64] = 189; 1152 objdata.ObjectData[64] = 189;
1164 } 1153 }
1165 1154
1166 #endregion
1167
1168 public void SendNameReply(LLUUID profileId, string firstname, string lastname) 1155 public void SendNameReply(LLUUID profileId, string firstname, string lastname)
1169 { 1156 {
1170 UUIDNameReplyPacket packet = new UUIDNameReplyPacket(); 1157 UUIDNameReplyPacket packet = new UUIDNameReplyPacket();
@@ -1177,5 +1164,8 @@ namespace OpenSim.Region.ClientStack
1177 1164
1178 OutPacket( packet ); 1165 OutPacket( packet );
1179 } 1166 }
1167
1168 #endregion
1169
1180 } 1170 }
1181} 1171}
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index c0c14ee..5ad35ff 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -218,30 +218,7 @@ namespace OpenSim.Region.ClientStack
218 if (OnAddPrim != null) 218 if (OnAddPrim != null)
219 { 219 {
220 ObjectAddPacket addPacket = (ObjectAddPacket) Pack ; 220 ObjectAddPacket addPacket = (ObjectAddPacket) Pack ;
221 PrimitiveBaseShape shape = new PrimitiveBaseShape(); 221 PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
222
223 shape.PCode = addPacket.ObjectData.PCode;
224 shape.PathBegin = addPacket.ObjectData.PathBegin;
225 shape.PathEnd = addPacket.ObjectData.PathEnd;
226 shape.PathScaleX = addPacket.ObjectData.PathScaleX;
227 shape.PathScaleY = addPacket.ObjectData.PathScaleY;
228 shape.PathShearX = addPacket.ObjectData.PathShearX;
229 shape.PathShearY = addPacket.ObjectData.PathShearY;
230 shape.PathSkew = addPacket.ObjectData.PathSkew;
231 shape.ProfileBegin = addPacket.ObjectData.ProfileBegin;
232 shape.ProfileEnd = addPacket.ObjectData.ProfileEnd;
233 shape.Scale = addPacket.ObjectData.Scale;
234 shape.PathCurve = addPacket.ObjectData.PathCurve;
235 shape.ProfileCurve = addPacket.ObjectData.ProfileCurve;
236 shape.ProfileHollow = addPacket.ObjectData.ProfileHollow;
237 shape.PathRadiusOffset = addPacket.ObjectData.PathRadiusOffset;
238 shape.PathRevolutions = addPacket.ObjectData.PathRevolutions;
239 shape.PathTaperX = addPacket.ObjectData.PathTaperX;
240 shape.PathTaperY = addPacket.ObjectData.PathTaperY;
241 shape.PathTwist = addPacket.ObjectData.PathTwist;
242 shape.PathTwistBegin = addPacket.ObjectData.PathTwistBegin;
243 LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
244 shape.TextureEntry = ntex.ToBytes();
245 222
246 OnAddPrim(this.AgentId, addPacket.ObjectData.RayEnd, shape); 223 OnAddPrim(this.AgentId, addPacket.ObjectData.RayEnd, shape);
247 } 224 }
@@ -624,5 +601,34 @@ namespace OpenSim.Region.ClientStack
624 } 601 }
625 } 602 }
626 } 603 }
604
605 private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket)
606 {
607 PrimitiveBaseShape shape = new PrimitiveBaseShape();
608
609 shape.PCode = addPacket.ObjectData.PCode;
610 shape.PathBegin = addPacket.ObjectData.PathBegin;
611 shape.PathEnd = addPacket.ObjectData.PathEnd;
612 shape.PathScaleX = addPacket.ObjectData.PathScaleX;
613 shape.PathScaleY = addPacket.ObjectData.PathScaleY;
614 shape.PathShearX = addPacket.ObjectData.PathShearX;
615 shape.PathShearY = addPacket.ObjectData.PathShearY;
616 shape.PathSkew = addPacket.ObjectData.PathSkew;
617 shape.ProfileBegin = addPacket.ObjectData.ProfileBegin;
618 shape.ProfileEnd = addPacket.ObjectData.ProfileEnd;
619 shape.Scale = addPacket.ObjectData.Scale;
620 shape.PathCurve = addPacket.ObjectData.PathCurve;
621 shape.ProfileCurve = addPacket.ObjectData.ProfileCurve;
622 shape.ProfileHollow = addPacket.ObjectData.ProfileHollow;
623 shape.PathRadiusOffset = addPacket.ObjectData.PathRadiusOffset;
624 shape.PathRevolutions = addPacket.ObjectData.PathRevolutions;
625 shape.PathTaperX = addPacket.ObjectData.PathTaperX;
626 shape.PathTaperY = addPacket.ObjectData.PathTaperY;
627 shape.PathTwist = addPacket.ObjectData.PathTwist;
628 shape.PathTwistBegin = addPacket.ObjectData.PathTwistBegin;
629 LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
630 shape.TextureEntry = ntex.ToBytes();
631 return shape;
632 }
627 } 633 }
628} 634}
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
index 42acab9..542e13f 100644
--- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
+++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
@@ -438,8 +438,8 @@ namespace OpenSim.Region.Environment.Scenes
438 LLQuaternion lRot; 438 LLQuaternion lRot;
439 lRot = RotationOffset; 439 lRot = RotationOffset;
440 440
441 remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, lRot, this.ObjectFlags, m_uuid, 441 remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, this.ObjectFlags, m_uuid, OwnerID,
442 OwnerID, m_text, ParentID, this.m_particleSystem); 442 m_text, ParentID, this.m_particleSystem, lRot);
443 } 443 }
444 444
445 /// <summary> 445 /// <summary>
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index f36f555..132eabb 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -42,7 +42,7 @@ namespace OpenSim.Region.Environment.Scenes
42 public uint EveryoneMask = 0;//FULL_MASK_PERMISSIONS; 42 public uint EveryoneMask = 0;//FULL_MASK_PERMISSIONS;
43 public uint BaseMask = 0;//FULL_MASK_PERMISSIONS; 43 public uint BaseMask = 0;//FULL_MASK_PERMISSIONS;
44 44
45 private PrimitiveBaseShape m_Shape; 45 private PrimitiveBaseShape m_shape;
46 private byte[] m_particleSystem = new byte[0]; 46 private byte[] m_particleSystem = new byte[0];
47 47
48 public SceneObject m_RootParent; 48 public SceneObject m_RootParent;
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes
83 83
84 public PrimitiveBaseShape Shape 84 public PrimitiveBaseShape Shape
85 { 85 {
86 get { return m_Shape; } 86 get { return m_shape; }
87 } 87 }
88 88
89 public LLVector3 WorldPos 89 public LLVector3 WorldPos
@@ -112,8 +112,8 @@ namespace OpenSim.Region.Environment.Scenes
112 112
113 public LLVector3 Scale 113 public LLVector3 Scale
114 { 114 {
115 set { m_Shape.Scale = value; } 115 set { m_shape.Scale = value; }
116 get { return m_Shape.Scale; } 116 get { return m_shape.Scale; }
117 } 117 }
118 118
119 private string m_sitName = ""; 119 private string m_sitName = "";
@@ -195,7 +195,7 @@ namespace OpenSim.Region.Environment.Scenes
195 195
196 dupe.m_inventoryItems = m_inventoryItems; 196 dupe.m_inventoryItems = m_inventoryItems;
197 dupe.m_children = new List<EntityBase>(); 197 dupe.m_children = new List<EntityBase>();
198 dupe.m_Shape = m_Shape.Copy(); 198 dupe.m_shape = m_shape.Copy();
199 dupe.m_regionHandle = m_regionHandle; 199 dupe.m_regionHandle = m_regionHandle;
200 dupe.m_scene = m_scene; 200 dupe.m_scene = m_scene;
201 201
@@ -288,7 +288,7 @@ namespace OpenSim.Region.Environment.Scenes
288 m_uuid = LLUUID.Random(); 288 m_uuid = LLUUID.Random();
289 m_localId = (uint)(localID); 289 m_localId = (uint)(localID);
290 290
291 m_Shape = shape; 291 m_shape = shape;
292 292
293 ScheduleFullUpdate(); 293 ScheduleFullUpdate();
294 } 294 }
@@ -428,7 +428,7 @@ namespace OpenSim.Region.Environment.Scenes
428 /// <param name="scale"></param> 428 /// <param name="scale"></param>
429 public void ResizeGoup(LLVector3 scale) 429 public void ResizeGoup(LLVector3 scale)
430 { 430 {
431 m_Shape.Scale = scale; 431 m_shape.Scale = scale;
432 432
433 ScheduleFullUpdate(); 433 ScheduleFullUpdate();
434 } 434 }
@@ -545,24 +545,24 @@ namespace OpenSim.Region.Environment.Scenes
545 /// <param name="shapeBlock"></param> 545 /// <param name="shapeBlock"></param>
546 public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock) 546 public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock)
547 { 547 {
548 m_Shape.PathBegin = shapeBlock.PathBegin; 548 m_shape.PathBegin = shapeBlock.PathBegin;
549 m_Shape.PathEnd = shapeBlock.PathEnd; 549 m_shape.PathEnd = shapeBlock.PathEnd;
550 m_Shape.PathScaleX = shapeBlock.PathScaleX; 550 m_shape.PathScaleX = shapeBlock.PathScaleX;
551 m_Shape.PathScaleY = shapeBlock.PathScaleY; 551 m_shape.PathScaleY = shapeBlock.PathScaleY;
552 m_Shape.PathShearX = shapeBlock.PathShearX; 552 m_shape.PathShearX = shapeBlock.PathShearX;
553 m_Shape.PathShearY = shapeBlock.PathShearY; 553 m_shape.PathShearY = shapeBlock.PathShearY;
554 m_Shape.PathSkew = shapeBlock.PathSkew; 554 m_shape.PathSkew = shapeBlock.PathSkew;
555 m_Shape.ProfileBegin = shapeBlock.ProfileBegin; 555 m_shape.ProfileBegin = shapeBlock.ProfileBegin;
556 m_Shape.ProfileEnd = shapeBlock.ProfileEnd; 556 m_shape.ProfileEnd = shapeBlock.ProfileEnd;
557 m_Shape.PathCurve = shapeBlock.PathCurve; 557 m_shape.PathCurve = shapeBlock.PathCurve;
558 m_Shape.ProfileCurve = shapeBlock.ProfileCurve; 558 m_shape.ProfileCurve = shapeBlock.ProfileCurve;
559 m_Shape.ProfileHollow = shapeBlock.ProfileHollow; 559 m_shape.ProfileHollow = shapeBlock.ProfileHollow;
560 m_Shape.PathRadiusOffset = shapeBlock.PathRadiusOffset; 560 m_shape.PathRadiusOffset = shapeBlock.PathRadiusOffset;
561 m_Shape.PathRevolutions = shapeBlock.PathRevolutions; 561 m_shape.PathRevolutions = shapeBlock.PathRevolutions;
562 m_Shape.PathTaperX = shapeBlock.PathTaperX; 562 m_shape.PathTaperX = shapeBlock.PathTaperX;
563 m_Shape.PathTaperY = shapeBlock.PathTaperY; 563 m_shape.PathTaperY = shapeBlock.PathTaperY;
564 m_Shape.PathTwist = shapeBlock.PathTwist; 564 m_shape.PathTwist = shapeBlock.PathTwist;
565 m_Shape.PathTwistBegin = shapeBlock.PathTwistBegin; 565 m_shape.PathTwistBegin = shapeBlock.PathTwistBegin;
566 ScheduleFullUpdate(); 566 ScheduleFullUpdate();
567 } 567 }
568 568
@@ -580,18 +580,18 @@ namespace OpenSim.Region.Environment.Scenes
580 580
581 public void UpdateExtraParam(ushort type, bool inUse, byte[] data) 581 public void UpdateExtraParam(ushort type, bool inUse, byte[] data)
582 { 582 {
583 this.m_Shape.ExtraParams = new byte[data.Length + 7]; 583 this.m_shape.ExtraParams = new byte[data.Length + 7];
584 int i =0; 584 int i =0;
585 uint length = (uint) data.Length; 585 uint length = (uint) data.Length;
586 this.m_Shape.ExtraParams[i++] = 1; 586 this.m_shape.ExtraParams[i++] = 1;
587 this.m_Shape.ExtraParams[i++] = (byte)(type % 256); 587 this.m_shape.ExtraParams[i++] = (byte)(type % 256);
588 this.m_Shape.ExtraParams[i++] = (byte)((type >> 8) % 256); 588 this.m_shape.ExtraParams[i++] = (byte)((type >> 8) % 256);
589 589
590 this.m_Shape.ExtraParams[i++] = (byte)(length % 256); 590 this.m_shape.ExtraParams[i++] = (byte)(length % 256);
591 this.m_Shape.ExtraParams[i++] = (byte)((length >> 8) % 256); 591 this.m_shape.ExtraParams[i++] = (byte)((length >> 8) % 256);
592 this.m_Shape.ExtraParams[i++] = (byte)((length >> 16) % 256); 592 this.m_shape.ExtraParams[i++] = (byte)((length >> 16) % 256);
593 this.m_Shape.ExtraParams[i++] = (byte)((length >> 24) % 256); 593 this.m_shape.ExtraParams[i++] = (byte)((length >> 24) % 256);
594 Array.Copy(data, 0, this.m_Shape.ExtraParams, i, data.Length); 594 Array.Copy(data, 0, this.m_shape.ExtraParams, i, data.Length);
595 595
596 this.ScheduleFullUpdate(); 596 this.ScheduleFullUpdate();
597 } 597 }
@@ -604,7 +604,7 @@ namespace OpenSim.Region.Environment.Scenes
604 /// <param name="textureEntry"></param> 604 /// <param name="textureEntry"></param>
605 public void UpdateTextureEntry(byte[] textureEntry) 605 public void UpdateTextureEntry(byte[] textureEntry)
606 { 606 {
607 m_Shape.TextureEntry = textureEntry; 607 m_shape.TextureEntry = textureEntry;
608 ScheduleFullUpdate(); 608 ScheduleFullUpdate();
609 } 609 }
610 610
@@ -648,8 +648,8 @@ namespace OpenSim.Region.Environment.Scenes
648 LLQuaternion lRot; 648 LLQuaternion lRot;
649 lRot = new LLQuaternion(Rotation.x, Rotation.y, Rotation.z, Rotation.w); 649 lRot = new LLQuaternion(Rotation.x, Rotation.y, Rotation.z, Rotation.w);
650 650
651 remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalId, m_Shape, lPos, lRot, m_flags, m_uuid, 651 remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalId, m_shape, lPos, m_flags, m_uuid, OwnerID,
652 OwnerID, m_text, ParentID, this.m_particleSystem); 652 m_text, ParentID, this.m_particleSystem, lRot);
653 } 653 }
654 654
655 /// <summary> 655 /// <summary>
diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
index 88740c5..367ee67 100644
--- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
@@ -145,8 +145,7 @@ namespace SimpleApp
145 145
146 public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) { } 146 public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) { }
147 147
148 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem) { } 148 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation) { }
149 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem) { }
150 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation) { } 149 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation) { }
151 150
152 public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items) { } 151 public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items) { }