aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs74
1 files changed, 26 insertions, 48 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index a34ad62..4a36b5d 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -231,7 +231,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
231 public event ScriptReset OnScriptReset; 231 public event ScriptReset OnScriptReset;
232 public event GetScriptRunning OnGetScriptRunning; 232 public event GetScriptRunning OnGetScriptRunning;
233 public event SetScriptRunning OnSetScriptRunning; 233 public event SetScriptRunning OnSetScriptRunning;
234 public event UpdateVector OnAutoPilotGo; 234 public event Action<Vector3> OnAutoPilotGo;
235 public event TerrainUnacked OnUnackedTerrain; 235 public event TerrainUnacked OnUnackedTerrain;
236 public event ActivateGesture OnActivateGesture; 236 public event ActivateGesture OnActivateGesture;
237 public event DeactivateGesture OnDeactivateGesture; 237 public event DeactivateGesture OnDeactivateGesture;
@@ -5266,6 +5266,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5266 AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest); 5266 AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest);
5267 AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes); 5267 AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes);
5268 AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard); 5268 AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard);
5269
5270 AddGenericPacketHandler("autopilot", HandleAutopilot);
5269 } 5271 }
5270 5272
5271 #region Packet Handlers 5273 #region Packet Handlers
@@ -5308,7 +5310,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5308 ); 5310 );
5309 } 5311 }
5310 else 5312 else
5313 {
5311 update = true; 5314 update = true;
5315 }
5312 5316
5313 // These should be ordered from most-likely to 5317 // These should be ordered from most-likely to
5314 // least likely to change. I've made an initial 5318 // least likely to change. I've made an initial
@@ -5316,6 +5320,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5316 5320
5317 if (update) 5321 if (update)
5318 { 5322 {
5323// m_log.DebugFormat("[LLCLIENTVIEW]: Triggered AgentUpdate for {0}", sener.Name);
5324
5319 AgentUpdateArgs arg = new AgentUpdateArgs(); 5325 AgentUpdateArgs arg = new AgentUpdateArgs();
5320 arg.AgentID = x.AgentID; 5326 arg.AgentID = x.AgentID;
5321 arg.BodyRotation = x.BodyRotation; 5327 arg.BodyRotation = x.BodyRotation;
@@ -11609,55 +11615,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11609 return false; 11615 return false;
11610 } 11616 }
11611 11617
11612 /// <summary> 11618 protected void HandleAutopilot(Object sender, string method, List<String> args)
11613 /// Breaks down the genericMessagePacket into specific events
11614 /// </summary>
11615 /// <param name="gmMethod"></param>
11616 /// <param name="gmInvoice"></param>
11617 /// <param name="gmParams"></param>
11618 public void DecipherGenericMessage(string gmMethod, UUID gmInvoice, GenericMessagePacket.ParamListBlock[] gmParams)
11619 { 11619 {
11620 switch (gmMethod) 11620 float locx = 0;
11621 { 11621 float locy = 0;
11622 case "autopilot": 11622 float locz = 0;
11623 float locx; 11623 uint regionX = 0;
11624 float locy; 11624 uint regionY = 0;
11625 float locz;
11626
11627 try
11628 {
11629 uint regionX;
11630 uint regionY;
11631 Utils.LongToUInts(Scene.RegionInfo.RegionHandle, out regionX, out regionY);
11632 locx = Convert.ToSingle(Utils.BytesToString(gmParams[0].Parameter)) - regionX;
11633 locy = Convert.ToSingle(Utils.BytesToString(gmParams[1].Parameter)) - regionY;
11634 locz = Convert.ToSingle(Utils.BytesToString(gmParams[2].Parameter));
11635 }
11636 catch (InvalidCastException)
11637 {
11638 m_log.Error("[CLIENT]: Invalid autopilot request");
11639 return;
11640 }
11641
11642 UpdateVector handlerAutoPilotGo = OnAutoPilotGo;
11643 if (handlerAutoPilotGo != null)
11644 {
11645 handlerAutoPilotGo(0, new Vector3(locx, locy, locz), this);
11646 }
11647 m_log.InfoFormat("[CLIENT]: Client Requests autopilot to position <{0},{1},{2}>", locx, locy, locz);
11648 11625
11626 Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out regionX, out regionY);
11627 locx = Convert.ToSingle(args[0]) - (float)regionX;
11628 locy = Convert.ToSingle(args[1]) - (float)regionY;
11629 locz = Convert.ToSingle(args[2]);
11649 11630
11650 break; 11631 Action<Vector3> handlerAutoPilotGo = OnAutoPilotGo;
11651 default: 11632 if (handlerAutoPilotGo != null)
11652 m_log.Debug("[CLIENT]: Unknown Generic Message, Method: " + gmMethod + ". Invoice: " + gmInvoice + ". Dumping Params:"); 11633 handlerAutoPilotGo(new Vector3(locx, locy, locz));
11653 for (int hi = 0; hi < gmParams.Length; hi++)
11654 {
11655 Console.WriteLine(gmParams[hi].ToString());
11656 }
11657 //gmpack.MethodData.
11658 break;
11659
11660 }
11661 } 11634 }
11662 11635
11663 /// <summary> 11636 /// <summary>
@@ -12083,7 +12056,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12083 OutPacket(packet, ThrottleOutPacketType.Task); 12056 OutPacket(packet, ThrottleOutPacketType.Task);
12084 } 12057 }
12085 12058
12086 public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) 12059 public void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId)
12087 { 12060 {
12088 ScriptDialogPacket dialog = (ScriptDialogPacket)PacketPool.Instance.GetPacket(PacketType.ScriptDialog); 12061 ScriptDialogPacket dialog = (ScriptDialogPacket)PacketPool.Instance.GetPacket(PacketType.ScriptDialog);
12089 dialog.Data.ObjectID = objectId; 12062 dialog.Data.ObjectID = objectId;
@@ -12099,6 +12072,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12099 buttons[0] = new ScriptDialogPacket.ButtonsBlock(); 12072 buttons[0] = new ScriptDialogPacket.ButtonsBlock();
12100 buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!"); 12073 buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!");
12101 dialog.Buttons = buttons; 12074 dialog.Buttons = buttons;
12075
12076 dialog.OwnerData = new ScriptDialogPacket.OwnerDataBlock[1];
12077 dialog.OwnerData[0] = new ScriptDialogPacket.OwnerDataBlock();
12078 dialog.OwnerData[0].OwnerID = ownerID;
12079
12102 OutPacket(dialog, ThrottleOutPacketType.Task); 12080 OutPacket(dialog, ThrottleOutPacketType.Task);
12103 } 12081 }
12104 12082