* Applied Melanie's same instance IM fix. This will make IMs work within the same OpenSim Instance.
parent
3e8df2b868
commit
14368d9a73
|
@ -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,
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue