diff options
Diffstat (limited to 'OpenSim/Region')
8 files changed, 34 insertions, 51 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; |
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index a6cb281..903ddcc 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -121,14 +121,12 @@ namespace OpenSim.Region.ClientStack | |||
121 | break; | 121 | break; |
122 | case PacketType.ImprovedInstantMessage: | 122 | case PacketType.ImprovedInstantMessage: |
123 | ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket)Pack; | 123 | ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket)Pack; |
124 | |||
125 | string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName); | 124 | string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName); |
126 | string IMmessage = Util.FieldToString(msgpack.MessageBlock.Message); | 125 | string IMmessage = Util.FieldToString(msgpack.MessageBlock.Message); |
127 | |||
128 | if (OnInstantMessage != null) | 126 | if (OnInstantMessage != null) |
129 | { | 127 | { |
130 | this.OnInstantMessage(msgpack.AgentData.AgentID, msgpack.MessageBlock.ToAgentID, | 128 | this.OnInstantMessage(msgpack.AgentData.AgentID, msgpack.AgentData.SessionID, msgpack.MessageBlock.ToAgentID, msgpack.MessageBlock.ID, |
131 | msgpack.MessageBlock.Timestamp, IMfromName, IMmessage); | 129 | msgpack.MessageBlock.Timestamp, IMfromName, IMmessage, msgpack.MessageBlock.Dialog); |
132 | } | 130 | } |
133 | break; | 131 | break; |
134 | case PacketType.RezObject: | 132 | case PacketType.RezObject: |
@@ -235,7 +233,6 @@ namespace OpenSim.Region.ClientStack | |||
235 | { | 233 | { |
236 | ObjectAddPacket addPacket = (ObjectAddPacket)Pack; | 234 | ObjectAddPacket addPacket = (ObjectAddPacket)Pack; |
237 | PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket); | 235 | PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket); |
238 | |||
239 | OnAddPrim(this.AgentId, addPacket.ObjectData.RayEnd, shape); | 236 | OnAddPrim(this.AgentId, addPacket.ObjectData.RayEnd, shape); |
240 | } | 237 | } |
241 | break; | 238 | break; |
@@ -460,9 +457,12 @@ namespace OpenSim.Region.ClientStack | |||
460 | } | 457 | } |
461 | break; | 458 | break; |
462 | case PacketType.UpdateTaskInventory: | 459 | case PacketType.UpdateTaskInventory: |
463 | // Console.WriteLine(Pack.ToString()); | 460 | //Console.WriteLine(Pack.ToString()); |
464 | UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; | 461 | UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; |
465 | break; | 462 | break; |
463 | case PacketType.RezScript: | ||
464 | //Console.WriteLine(Pack.ToString()); | ||
465 | break; | ||
466 | case PacketType.MapLayerRequest: | 466 | case PacketType.MapLayerRequest: |
467 | this.RequestMapLayer(); | 467 | this.RequestMapLayer(); |
468 | break; | 468 | break; |
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index a91c35d..e56d361 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -273,23 +273,5 @@ namespace OpenSim.Region.ClientStack | |||
273 | this.ClientThread.Abort(); | 273 | this.ClientThread.Abort(); |
274 | } | 274 | } |
275 | 275 | ||
276 | #region Inventory Creation | ||
277 | private void SetupInventory(AuthenticateResponse sessionInfo) | ||
278 | { | ||
279 | |||
280 | } | ||
281 | private AgentInventory CreateInventory(LLUUID baseFolder) | ||
282 | { | ||
283 | AgentInventory inventory = null; | ||
284 | |||
285 | return inventory; | ||
286 | } | ||
287 | |||
288 | private void CreateInventoryItem(CreateInventoryItemPacket packet) | ||
289 | { | ||
290 | |||
291 | } | ||
292 | #endregion | ||
293 | |||
294 | } | 276 | } |
295 | } | 277 | } |
diff --git a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs index 66779a2..417f071 100644 --- a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs +++ b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs | |||
@@ -98,7 +98,7 @@ namespace OpenSim.Region.Communications.Local | |||
98 | if (userProf != null) | 98 | if (userProf != null) |
99 | { | 99 | { |
100 | this.InvenServices.CreateNewUserInventory(userProf.UUID); | 100 | this.InvenServices.CreateNewUserInventory(userProf.UUID); |
101 | Console.WriteLine("created new inventory set for " + tempfirstname + " " + templastname); | 101 | Console.WriteLine("Created new inventory set for " + tempfirstname + " " + templastname); |
102 | } | 102 | } |
103 | break; | 103 | break; |
104 | } | 104 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index a35140d..0ed10c0 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -122,7 +122,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
122 | /// <param name="timestamp"></param> | 122 | /// <param name="timestamp"></param> |
123 | /// <param name="fromAgentName"></param> | 123 | /// <param name="fromAgentName"></param> |
124 | /// <param name="message"></param> | 124 | /// <param name="message"></param> |
125 | public void InstantMessage(LLUUID fromAgentID, LLUUID toAgentID, uint timestamp, string fromAgentName, string message) | 125 | public void InstantMessage(LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp, string fromAgentName, string message, byte dialog) |
126 | { | 126 | { |
127 | if (this.Avatars.ContainsKey(toAgentID)) | 127 | if (this.Avatars.ContainsKey(toAgentID)) |
128 | { | 128 | { |
@@ -132,7 +132,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
132 | ScenePresence fromAvatar = this.Avatars[fromAgentID]; | 132 | ScenePresence fromAvatar = this.Avatars[fromAgentID]; |
133 | ScenePresence toAvatar = this.Avatars[toAgentID]; | 133 | ScenePresence toAvatar = this.Avatars[toAgentID]; |
134 | string fromName = fromAvatar.Firstname + " " + fromAvatar.Lastname; | 134 | string fromName = fromAvatar.Firstname + " " + fromAvatar.Lastname; |
135 | toAvatar.ControllingClient.SendInstantMessage(message, toAgentID, fromName); | 135 | toAvatar.ControllingClient.SendInstantMessage( fromAgentID, fromAgentSession, message, toAgentID, imSessionID, fromName, dialog, timestamp); |
136 | } | 136 | } |
137 | else | 137 | else |
138 | { | 138 | { |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 7834230..d1a16e0 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -694,11 +694,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
694 | client.OnParcelPropertiesRequest += new ParcelPropertiesRequest(m_LandManager.handleParcelPropertiesRequest); | 694 | client.OnParcelPropertiesRequest += new ParcelPropertiesRequest(m_LandManager.handleParcelPropertiesRequest); |
695 | client.OnParcelDivideRequest += new ParcelDivideRequest(m_LandManager.handleParcelDivideRequest); | 695 | client.OnParcelDivideRequest += new ParcelDivideRequest(m_LandManager.handleParcelDivideRequest); |
696 | client.OnParcelJoinRequest += new ParcelJoinRequest(m_LandManager.handleParcelJoinRequest); | 696 | client.OnParcelJoinRequest += new ParcelJoinRequest(m_LandManager.handleParcelJoinRequest); |
697 | client.OnParcelPropertiesUpdateRequest += | 697 | client.OnParcelPropertiesUpdateRequest += new ParcelPropertiesUpdateRequest(m_LandManager.handleParcelPropertiesUpdateRequest); |
698 | new ParcelPropertiesUpdateRequest(m_LandManager.handleParcelPropertiesUpdateRequest); | ||
699 | client.OnParcelSelectObjects += new ParcelSelectObjects(m_LandManager.handleParcelSelectObjectsRequest); | 698 | client.OnParcelSelectObjects += new ParcelSelectObjects(m_LandManager.handleParcelSelectObjectsRequest); |
700 | client.OnParcelObjectOwnerRequest += | 699 | client.OnParcelObjectOwnerRequest += new ParcelObjectOwnerRequest(m_LandManager.handleParcelObjectOwnersRequest); |
701 | new ParcelObjectOwnerRequest(m_LandManager.handleParcelObjectOwnersRequest); | ||
702 | 700 | ||
703 | client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage); | 701 | client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage); |
704 | 702 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index c8a7515..8cf55ad 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -64,7 +64,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
64 | set { m_name = value; } | 64 | set { m_name = value; } |
65 | } | 65 | } |
66 | 66 | ||
67 | protected LLObject.ObjectFlags m_flags = (LLObject.ObjectFlags)32 + 65536 + 131072 + 256 + 4 + 8 + 268435456 + 128; | 67 | protected LLObject.ObjectFlags m_flags = (LLObject.ObjectFlags)32 + 65536 + 131072 + 256 +4 +8 + 268435456 + 128; |
68 | public uint ObjectFlags | 68 | public uint ObjectFlags |
69 | { | 69 | { |
70 | get { return (uint)m_flags; } | 70 | get { return (uint)m_flags; } |
@@ -405,7 +405,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
405 | { | 405 | { |
406 | if (localID == this.m_localID) | 406 | if (localID == this.m_localID) |
407 | { | 407 | { |
408 | // client.SendTaskInventory(this.m_uuid, 0, Helpers.StringToField("primInventory")); | 408 | //client.SendTaskInventory(this.m_uuid, 1, Helpers.StringToField("primInventory2")); |
409 | client.SendTaskInventory(this.m_uuid, 0, new byte[0]); | 409 | client.SendTaskInventory(this.m_uuid, 0, new byte[0]); |
410 | } | 410 | } |
411 | } | 411 | } |
@@ -421,7 +421,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
421 | InventoryStringBuilder invString = new InventoryStringBuilder(); | 421 | InventoryStringBuilder invString = new InventoryStringBuilder(); |
422 | invString.AddItemStart(); | 422 | invString.AddItemStart(); |
423 | invString.AddNameValueLine("item_id", LLUUID.Random().ToStringHyphenated()); | 423 | invString.AddNameValueLine("item_id", LLUUID.Random().ToStringHyphenated()); |
424 | invString.AddNameValueLine("parent_id", this.UUID.ToStringHyphenated()); | 424 | invString.AddNameValueLine("parent_id",LLUUID.Zero.ToStringHyphenated()); |
425 | 425 | ||
426 | invString.AddPermissionsStart(); | 426 | invString.AddPermissionsStart(); |
427 | invString.AddNameValueLine("base_mask", "0x7FFFFFFF"); | 427 | invString.AddNameValueLine("base_mask", "0x7FFFFFFF"); |
@@ -435,9 +435,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
435 | invString.AddNameValueLine("group_id", LLUUID.Zero.ToStringHyphenated()); | 435 | invString.AddNameValueLine("group_id", LLUUID.Zero.ToStringHyphenated()); |
436 | invString.AddSectionEnd(); | 436 | invString.AddSectionEnd(); |
437 | 437 | ||
438 | invString.AddNameValueLine("asset_id", "00000000-0000-0000-9999-000000000002"); | 438 | invString.AddNameValueLine("asset_id", "00000000-0000-2222-3333-000000000001"); |
439 | invString.AddNameValueLine("type", "texture"); | 439 | invString.AddNameValueLine("type", "lsltext"); |
440 | invString.AddNameValueLine("inv_type" , "texture"); | 440 | invString.AddNameValueLine("inv_type" , "lsltext"); |
441 | invString.AddNameValueLine("flags", "0x00"); | 441 | invString.AddNameValueLine("flags", "0x00"); |
442 | invString.AddNameValueLine("name", "Test inventory" + "|"); | 442 | invString.AddNameValueLine("name", "Test inventory" + "|"); |
443 | invString.AddNameValueLine("desc", "test description" + "|"); | 443 | invString.AddNameValueLine("desc", "test description" + "|"); |
@@ -446,6 +446,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
446 | 446 | ||
447 | byte[] fileInv = Helpers.StringToField(invString.BuildString); | 447 | byte[] fileInv = Helpers.StringToField(invString.BuildString); |
448 | byte[] data = new byte[fileInv.Length + 4]; | 448 | byte[] data = new byte[fileInv.Length + 4]; |
449 | Array.Copy(Helpers.IntToBytes(fileInv.Length), 0, data, 0, 4); | ||
449 | Array.Copy(fileInv, 0,data , 4, fileInv.Length); | 450 | Array.Copy(fileInv, 0,data , 4, fileInv.Length); |
450 | client.SendXferPacket(xferID, 0 + 0x80000000, data); | 451 | client.SendXferPacket(xferID, 0 + 0x80000000, data); |
451 | } | 452 | } |
diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs index 09b0065..d9e10f1 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs | |||
@@ -130,7 +130,7 @@ namespace SimpleApp | |||
130 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { } | 130 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { } |
131 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } | 131 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } |
132 | public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } | 132 | public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } |
133 | public virtual void SendInstantMessage(string message, LLUUID target, string fromName) { } | 133 | public virtual void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent, LLUUID imSessionID, string fromName, byte dialog, uint timeStamp) { } |
134 | public virtual void SendLayerData(float[] map) { } | 134 | public virtual void SendLayerData(float[] map) { } |
135 | public virtual void SendLayerData(int px, int py, float[] map) { } | 135 | public virtual void SendLayerData(int px, int py, float[] map) { } |
136 | public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { } | 136 | public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { } |