aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs82
1 files changed, 77 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 7587f44..0ea7e0a 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -1651,8 +1651,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1651 1651
1652 } 1652 }
1653 1653
1654 public void SendAvatarPickerReply(AvatarPickerReplyPacket replyPacket) 1654 public void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data)
1655 { 1655 {
1656 //construct the AvatarPickerReply packet.
1657 AvatarPickerReplyPacket replyPacket = new AvatarPickerReplyPacket();
1658 replyPacket.AgentData.AgentID = AgentData.AgentID;
1659 replyPacket.AgentData.QueryID = AgentData.QueryID;
1660 int i = 0;
1661 List<AvatarPickerReplyPacket.DataBlock> data_block = new List<AvatarPickerReplyPacket.DataBlock>();
1662 foreach (AvatarPickerReplyDataArgs arg in Data)
1663 {
1664 AvatarPickerReplyPacket.DataBlock db = new AvatarPickerReplyPacket.DataBlock();
1665 db.AvatarID = arg.AvatarID;
1666 db.FirstName = arg.FirstName;
1667 db.LastName = arg.LastName;
1668 data_block.Add(db);
1669 }
1670 replyPacket.Data = data_block.ToArray();
1656 OutPacket(replyPacket, ThrottleOutPacketType.Task); 1671 OutPacket(replyPacket, ThrottleOutPacketType.Task);
1657 } 1672 }
1658 1673
@@ -2904,11 +2919,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2904 handlerViewerEffect = OnViewerEffect; 2919 handlerViewerEffect = OnViewerEffect;
2905 if (handlerViewerEffect != null) 2920 if (handlerViewerEffect != null)
2906 { 2921 {
2907 handlerViewerEffect(sender, viewer.Effect); 2922 int length = viewer.Effect.Length;
2923 List<ViewerEffectEventHandlerArg> args = new List<ViewerEffectEventHandlerArg>(length);
2924 for (int i = 0; i < length; i++)
2925 {
2926 //copy the effects block arguments into the event handler arg.
2927 ViewerEffectEventHandlerArg argument = new ViewerEffectEventHandlerArg();
2928 argument.AgentID = viewer.Effect[i].AgentID;
2929 argument.Color = viewer.Effect[i].Color;
2930 argument.Duration = viewer.Effect[i].Duration;
2931 argument.ID = viewer.Effect[i].ID;
2932 argument.Type = viewer.Effect[i].Type;
2933 args.Add(argument);
2934 }
2935
2936 handlerViewerEffect(sender, args);
2908 } 2937 }
2909 2938
2910 return true; 2939 return true;
2911 } 2940 }
2941
2912 2942
2913 public void SendScriptQuestion(LLUUID taskID, string taskName, string ownerName, LLUUID itemID, int question) 2943 public void SendScriptQuestion(LLUUID taskID, string taskName, string ownerName, LLUUID itemID, int question)
2914 { 2944 {
@@ -3778,7 +3808,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3778 // for the client session anyway, in order to protect ourselves against bad code in plugins 3808 // for the client session anyway, in order to protect ourselves against bad code in plugins
3779 try 3809 try
3780 { 3810 {
3781 handlerSetAppearance(appear.ObjectData.TextureEntry, appear.VisualParam); 3811 List<byte> visualparams = new List<byte>();
3812 foreach (AgentSetAppearancePacket.VisualParamBlock x in appear.VisualParam)
3813 {
3814 visualparams.Add(x.ParamValue);
3815 }
3816
3817 handlerSetAppearance(appear.ObjectData.TextureEntry, visualparams);
3782 } 3818 }
3783 catch (Exception e) 3819 catch (Exception e)
3784 { 3820 {
@@ -3885,9 +3921,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3885 { 3921 {
3886 AgentUpdatePacket agenUpdate = (AgentUpdatePacket)Pack; 3922 AgentUpdatePacket agenUpdate = (AgentUpdatePacket)Pack;
3887 3923
3924 AgentUpdatePacket.AgentDataBlock x = agenUpdate.AgentData;
3925 AgentUpdateArgs arg = new AgentUpdateArgs();
3926 arg.AgentID = x.AgentID;
3927 arg.BodyRotation = x.BodyRotation;
3928 arg.CameraAtAxis = x.CameraAtAxis;
3929 arg.CameraCenter = x.CameraCenter;
3930 arg.CameraLeftAxis = x.CameraLeftAxis;
3931 arg.CameraUpAxis = x.CameraUpAxis;
3932 arg.ControlFlags = x.ControlFlags;
3933 arg.Far = x.Far;
3934 arg.Flags = x.Flags;
3935 arg.HeadRotation = x.HeadRotation;
3936 arg.SessionID = x.SessionID;
3937 arg.State = x.State;
3938
3888 handlerAgentUpdate = OnAgentUpdate; 3939 handlerAgentUpdate = OnAgentUpdate;
3889 if (handlerAgentUpdate != null) 3940 if (handlerAgentUpdate != null)
3890 OnAgentUpdate(this, agenUpdate); 3941 OnAgentUpdate(this, arg);
3891 3942
3892 handlerAgentUpdate = null; 3943 handlerAgentUpdate = null;
3893 //agenUpdate.AgentData.ControlFlags, agenUpdate.AgentData.BodyRotationa); 3944 //agenUpdate.AgentData.ControlFlags, agenUpdate.AgentData.BodyRotationa);
@@ -4085,8 +4136,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4085 handlerUpdatePrimShape = OnUpdatePrimShape; 4136 handlerUpdatePrimShape = OnUpdatePrimShape;
4086 if (handlerUpdatePrimShape != null) 4137 if (handlerUpdatePrimShape != null)
4087 { 4138 {
4139 UpdateShapeArgs shapeData = new UpdateShapeArgs();
4140 shapeData.ObjectLocalID = shapePacket.ObjectData[i].ObjectLocalID;
4141 shapeData.PathBegin = shapePacket.ObjectData[i].PathBegin;
4142 shapeData.PathCurve = shapePacket.ObjectData[i].PathCurve;
4143 shapeData.PathEnd = shapePacket.ObjectData[i].PathEnd;
4144 shapeData.PathRadiusOffset = shapePacket.ObjectData[i].PathRadiusOffset;
4145 shapeData.PathRevolutions = shapePacket.ObjectData[i].PathRevolutions;
4146 shapeData.PathScaleX = shapePacket.ObjectData[i].PathScaleX;
4147 shapeData.PathScaleY = shapePacket.ObjectData[i].PathScaleY;
4148 shapeData.PathShearX = shapePacket.ObjectData[i].PathShearX;
4149 shapeData.PathShearY = shapePacket.ObjectData[i].PathShearY;
4150 shapeData.PathSkew = shapePacket.ObjectData[i].PathSkew;
4151 shapeData.PathTaperX = shapePacket.ObjectData[i].PathTaperX;
4152 shapeData.PathTaperY = shapePacket.ObjectData[i].PathTaperY;
4153 shapeData.PathTwist = shapePacket.ObjectData[i].PathTwist;
4154 shapeData.PathTwistBegin = shapePacket.ObjectData[i].PathTwistBegin;
4155 shapeData.ProfileBegin = shapePacket.ObjectData[i].ProfileBegin;
4156 shapeData.ProfileCurve = shapePacket.ObjectData[i].ProfileCurve;
4157 shapeData.ProfileEnd = shapePacket.ObjectData[i].ProfileEnd;
4158 shapeData.ProfileHollow = shapePacket.ObjectData[i].ProfileHollow;
4159
4088 handlerUpdatePrimShape(m_agentId, shapePacket.ObjectData[i].ObjectLocalID, 4160 handlerUpdatePrimShape(m_agentId, shapePacket.ObjectData[i].ObjectLocalID,
4089 shapePacket.ObjectData[i]); 4161 shapeData);
4090 } 4162 }
4091 } 4163 }
4092 break; 4164 break;