* Applied Melanie's same instance IM fix. This will make IMs work within the same OpenSim Instance.

afrisby
Teravus Ovares 2007-12-30 04:12:08 +00:00
parent 3e8df2b868
commit 14368d9a73
3 changed files with 21 additions and 18 deletions

View File

@ -225,20 +225,10 @@ namespace OpenSim.Framework
public delegate void ImprovedInstantMessage(
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
string fromAgentName, string message, byte dialog); // Cut down from full list
string fromAgentName, string message, byte dialog, bool fromGroup, byte offline, uint ParentEstateID,
LLVector3 Position, LLUUID RegionID, byte[] binaryBucket); // This shouldn't be cut down...
// especially if we're ever going to implement groups, presence, estate message dialogs...
//rezPacket.RezData.BypassRaycast;
//rezPacket.RezData.RayEnd;
//rezPacket.RezData.RayEndIsIntersection;
//rezPacket.RezData.RayStart;
//rezPacket.RezData.RayTargetID;
//rezPacket.RezData.RemoveItem;
//rezPacket.RezData.RezSelected;
//rezPacket.RezData.FromTaskID;
//rezPacket.RezData.FromTaskID;
//rezPacket.RezData.EveryoneMask;
//rezPacket.RezData.GroupMask;
//rezPacket.RezData.NextOwnerMask;
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,

View File

@ -2540,12 +2540,23 @@ namespace OpenSim.Region.ClientStack
ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket) Pack;
string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName);
string IMmessage = Helpers.FieldToUTF8String(msgpack.MessageBlock.Message);
//byte[] msgpack.MessageBlock.BinaryBucket;
//bool msgpack.MessageBlock.FromGroup;
//byte msgpack.MessageBlock.Offline;
//uint msgpack.MessageBlock.ParentEstateID;
//LLVector3 msgpack.MessageBlock.Position;
//LLUUID msgpack.MessageBlock.RegionID;
if (OnInstantMessage != null)
{
OnInstantMessage(msgpack.AgentData.AgentID, msgpack.AgentData.SessionID,
msgpack.MessageBlock.ToAgentID, msgpack.MessageBlock.ID,
msgpack.MessageBlock.Timestamp, IMfromName, IMmessage,
msgpack.MessageBlock.Dialog);
msgpack.MessageBlock.Dialog, msgpack.MessageBlock.FromGroup,
msgpack.MessageBlock.Offline, msgpack.MessageBlock.ParentEstateID,
msgpack.MessageBlock.Position, msgpack.MessageBlock.RegionID,
msgpack.MessageBlock.BinaryBucket);
}
break;
case PacketType.RezObject:

View File

@ -63,7 +63,9 @@ namespace OpenSim.Region.Environment.Modules
private void OnInstantMessage(LLUUID fromAgentID,
LLUUID fromAgentSession, LLUUID toAgentID,
LLUUID imSessionID, uint timestamp, string fromAgentName,
string message, byte dialog)
string message, byte dialog, bool fromGroup, byte offline,
uint ParentEstateID, LLVector3 Position, LLUUID RegionID,
byte[] binaryBucket)
{
foreach (Scene scene in m_scenes)
{
@ -76,9 +78,9 @@ namespace OpenSim.Region.Environment.Modules
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
toAgentID, imSessionID, fromAgentName, dialog,
timestamp);
// Message sent
return;
}
// Message sent
return;
}
}
@ -104,4 +106,4 @@ namespace OpenSim.Region.Environment.Modules
get { return true; }
}
}
}
}