* 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(
|
public delegate void ImprovedInstantMessage(
|
||||||
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
|
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,
|
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
|
||||||
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||||
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
|
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
|
||||||
|
|
|
@ -2540,12 +2540,23 @@ namespace OpenSim.Region.ClientStack
|
||||||
ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket) Pack;
|
ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket) Pack;
|
||||||
string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName);
|
string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName);
|
||||||
string IMmessage = Helpers.FieldToUTF8String(msgpack.MessageBlock.Message);
|
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)
|
if (OnInstantMessage != null)
|
||||||
{
|
{
|
||||||
OnInstantMessage(msgpack.AgentData.AgentID, msgpack.AgentData.SessionID,
|
OnInstantMessage(msgpack.AgentData.AgentID, msgpack.AgentData.SessionID,
|
||||||
msgpack.MessageBlock.ToAgentID, msgpack.MessageBlock.ID,
|
msgpack.MessageBlock.ToAgentID, msgpack.MessageBlock.ID,
|
||||||
msgpack.MessageBlock.Timestamp, IMfromName, IMmessage,
|
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;
|
break;
|
||||||
case PacketType.RezObject:
|
case PacketType.RezObject:
|
||||||
|
|
|
@ -63,7 +63,9 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
private void OnInstantMessage(LLUUID fromAgentID,
|
private void OnInstantMessage(LLUUID fromAgentID,
|
||||||
LLUUID fromAgentSession, LLUUID toAgentID,
|
LLUUID fromAgentSession, LLUUID toAgentID,
|
||||||
LLUUID imSessionID, uint timestamp, string fromAgentName,
|
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)
|
foreach (Scene scene in m_scenes)
|
||||||
{
|
{
|
||||||
|
@ -76,11 +78,11 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
||||||
toAgentID, imSessionID, fromAgentName, dialog,
|
toAgentID, imSessionID, fromAgentName, dialog,
|
||||||
timestamp);
|
timestamp);
|
||||||
}
|
|
||||||
// Message sent
|
// Message sent
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Still here, try send via Grid
|
// Still here, try send via Grid
|
||||||
// TODO
|
// TODO
|
||||||
|
|
Loading…
Reference in New Issue