aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/ClientView.API.cs
diff options
context:
space:
mode:
authorMW2007-08-20 11:52:55 +0000
committerMW2007-08-20 11:52:55 +0000
commit4af33c4da6774363db0d442f81b4871718cc5f2e (patch)
tree76793256cd683b45c81e7a28bbd33ffe70cf72bc /OpenSim/Region/ClientStack/ClientView.API.cs
parentSome minor changes + krinkec's updates to ll* functions. (diff)
downloadopensim-SC_OLD-4af33c4da6774363db0d442f81b4871718cc5f2e.zip
opensim-SC_OLD-4af33c4da6774363db0d442f81b4871718cc5f2e.tar.gz
opensim-SC_OLD-4af33c4da6774363db0d442f81b4871718cc5f2e.tar.bz2
opensim-SC_OLD-4af33c4da6774363db0d442f81b4871718cc5f2e.tar.xz
Instant Messages between users in the same region should actually now work.
Diffstat (limited to 'OpenSim/Region/ClientStack/ClientView.API.cs')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.API.cs28
1 files changed, 15 insertions, 13 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs
index beb83af..428fb77 100644
--- a/OpenSim/Region/ClientStack/ClientView.API.cs
+++ b/OpenSim/Region/ClientStack/ClientView.API.cs
@@ -268,29 +268,27 @@ namespace OpenSim.Region.ClientStack
268 /// <remarks>TODO</remarks> 268 /// <remarks>TODO</remarks>
269 /// <param name="message"></param> 269 /// <param name="message"></param>
270 /// <param name="target"></param> 270 /// <param name="target"></param>
271 public void SendInstantMessage(string message, LLUUID target, string fromName) 271 public void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent, LLUUID imSessionID, string fromName, byte dialog, uint timeStamp)
272 { 272 {
273 if (message != "typing") 273
274 {
275 Encoding enc = Encoding.ASCII; 274 Encoding enc = Encoding.ASCII;
276 ImprovedInstantMessagePacket msg = new ImprovedInstantMessagePacket(); 275 ImprovedInstantMessagePacket msg = new ImprovedInstantMessagePacket();
277 msg.AgentData.AgentID = this.AgentID; 276 msg.AgentData.AgentID = fromAgent;
278 msg.AgentData.SessionID = this.SessionID; 277 msg.AgentData.SessionID = fromAgentSession;
279 msg.MessageBlock.FromAgentName = enc.GetBytes(fromName + " \0"); 278 msg.MessageBlock.FromAgentName = enc.GetBytes(fromName + " \0");
280 msg.MessageBlock.Dialog = 0; 279 msg.MessageBlock.Dialog = dialog;
281 msg.MessageBlock.FromGroup = false; 280 msg.MessageBlock.FromGroup = false;
282 msg.MessageBlock.ID = target.Combine(this.SecureSessionID); 281 msg.MessageBlock.ID = imSessionID;
283 msg.MessageBlock.Offline = 0; 282 msg.MessageBlock.Offline = 0;
284 msg.MessageBlock.ParentEstateID = 0; 283 msg.MessageBlock.ParentEstateID = 0;
285 msg.MessageBlock.Position = new LLVector3(); 284 msg.MessageBlock.Position = new LLVector3();
286 msg.MessageBlock.RegionID = new LLUUID(); 285 msg.MessageBlock.RegionID = LLUUID.Random();
287 msg.MessageBlock.Timestamp = 0; 286 msg.MessageBlock.Timestamp = timeStamp;
288 msg.MessageBlock.ToAgentID = target; 287 msg.MessageBlock.ToAgentID = toAgent;
289 msg.MessageBlock.Message = enc.GetBytes(message + "\0"); 288 msg.MessageBlock.Message = enc.GetBytes(message + "\0");
290 msg.MessageBlock.BinaryBucket = new byte[0]; 289 msg.MessageBlock.BinaryBucket = new byte[0];
291 290
292 this.OutPacket(msg); 291 this.OutPacket(msg);
293 }
294 } 292 }
295 293
296 /// <summary> 294 /// <summary>
@@ -927,7 +925,7 @@ namespace OpenSim.Region.ClientStack
927 { 925 {
928 ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); 926 ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
929 outPacket.RegionData.RegionHandle = regionHandle; 927 outPacket.RegionData.RegionHandle = regionHandle;
930 outPacket.RegionData.TimeDilation = timeDilation; 928 outPacket.RegionData.TimeDilation = timeDilation;
931 outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1]; 929 outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
932 930
933 outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags); 931 outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags);
@@ -938,6 +936,9 @@ namespace OpenSim.Region.ClientStack
938 outPacket.ObjectData[0].Text = Helpers.StringToField(text); 936 outPacket.ObjectData[0].Text = Helpers.StringToField(text);
939 outPacket.ObjectData[0].ParentID = parentID; 937 outPacket.ObjectData[0].ParentID = parentID;
940 outPacket.ObjectData[0].PSBlock = particleSystem; 938 outPacket.ObjectData[0].PSBlock = particleSystem;
939 outPacket.ObjectData[0].ClickAction = 0;
940 //outPacket.ObjectData[0].Flags = 0;
941 outPacket.ObjectData[0].Radius = 20;
941 942
942 byte[] pb = pos.GetBytes(); 943 byte[] pb = pos.GetBytes();
943 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 944 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
@@ -1045,6 +1046,7 @@ namespace OpenSim.Region.ClientStack
1045 bytes[i++] = (byte)((ac >> 8) % 256); 1046 bytes[i++] = (byte)((ac >> 8) % 256);
1046 1047
1047 dat.Data = bytes; 1048 dat.Data = bytes;
1049
1048 return (dat); 1050 return (dat);
1049 } 1051 }
1050 1052
@@ -1196,7 +1198,7 @@ namespace OpenSim.Region.ClientStack
1196 ObjectUpdatePacket.ObjectDataBlock objdata = new ObjectUpdatePacket.ObjectDataBlock(); // new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock(data1, ref i); 1198 ObjectUpdatePacket.ObjectDataBlock objdata = new ObjectUpdatePacket.ObjectDataBlock(); // new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock(data1, ref i);
1197 1199
1198 SetDefaultAvatarPacketValues(ref objdata); 1200 SetDefaultAvatarPacketValues(ref objdata);
1199 objdata.UpdateFlags = 61 + (9 << 8) + (130 << 16) + (16 << 24); 1201 objdata.UpdateFlags = 61 + (9 << 8) + (130 << 16) + (16 << 24);
1200 objdata.PathCurve = 16; 1202 objdata.PathCurve = 16;
1201 objdata.ProfileCurve = 1; 1203 objdata.ProfileCurve = 1;
1202 objdata.PathScaleX = 100; 1204 objdata.PathScaleX = 100;