Committing a small fix for EventData along with more plumbing work
parent
ba79c26d2d
commit
f7e44250bf
|
@ -42,7 +42,7 @@ namespace OpenSim.Framework
|
||||||
public string name;
|
public string name;
|
||||||
public string category;
|
public string category;
|
||||||
public string description;
|
public string description;
|
||||||
public DateTime date;
|
public string date;
|
||||||
public uint dateUTC;
|
public uint dateUTC;
|
||||||
public uint duration;
|
public uint duration;
|
||||||
public uint cover;
|
public uint cover;
|
||||||
|
|
|
@ -683,7 +683,7 @@ namespace OpenSim.Framework
|
||||||
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance);
|
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance);
|
||||||
void SendPayPrice(UUID objectID, int[] payPrice);
|
void SendPayPrice(UUID objectID, int[] payPrice);
|
||||||
|
|
||||||
void SendAvatarData(ulong regionHandle, string firstName, string lastName, UUID avatarID, uint avatarLocalID,
|
void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID, uint avatarLocalID,
|
||||||
Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation);
|
Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation);
|
||||||
|
|
||||||
void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
|
void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
|
||||||
|
|
|
@ -2308,7 +2308,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="avatarID"></param>
|
/// <param name="avatarID"></param>
|
||||||
/// <param name="avatarLocalID"></param>
|
/// <param name="avatarLocalID"></param>
|
||||||
/// <param name="Pos"></param>
|
/// <param name="Pos"></param>
|
||||||
public void SendAvatarData(ulong regionHandle, string firstName, string lastName, UUID avatarID,
|
public void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID,
|
||||||
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
||||||
{
|
{
|
||||||
ObjectUpdatePacket objupdate = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
|
ObjectUpdatePacket objupdate = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
|
||||||
|
@ -2323,7 +2323,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
objupdate.ObjectData[0].FullID = avatarID;
|
objupdate.ObjectData[0].FullID = avatarID;
|
||||||
objupdate.ObjectData[0].ParentID = parentID;
|
objupdate.ObjectData[0].ParentID = parentID;
|
||||||
objupdate.ObjectData[0].NameValue =
|
objupdate.ObjectData[0].NameValue =
|
||||||
Utils.StringToBytes("FirstName STRING RW SV " + firstName + "\nLastName STRING RW SV " + lastName);
|
Utils.StringToBytes("FirstName STRING RW SV " + firstName + "\nLastName STRING RW SV " + lastName + "\nTitle STRING RW SV " + grouptitle);
|
||||||
|
|
||||||
Vector3 pos2 = new Vector3((float)Pos.X, (float)Pos.Y, (float)Pos.Z);
|
Vector3 pos2 = new Vector3((float)Pos.X, (float)Pos.Y, (float)Pos.Z);
|
||||||
byte[] pb = pos2.GetBytes();
|
byte[] pb = pos2.GetBytes();
|
||||||
|
|
|
@ -118,13 +118,17 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||||
|| dialog == (byte) InstantMessageDialog.InventoryOffered
|
|| dialog == (byte) InstantMessageDialog.InventoryOffered
|
||||||
|| dialog == (byte) InstantMessageDialog.InventoryAccepted
|
|| dialog == (byte) InstantMessageDialog.InventoryAccepted
|
||||||
|| dialog == (byte) InstantMessageDialog.InventoryDeclined
|
|| dialog == (byte) InstantMessageDialog.InventoryDeclined
|
||||||
|
|| dialog == (byte) InstantMessageDialog.GroupNoticeInventoryAccepted
|
||||||
|
|| dialog == (byte) InstantMessageDialog.GroupNoticeInventoryDeclined
|
||||||
|
|| dialog == (byte) InstantMessageDialog.GroupInvitationAccept
|
||||||
|
|| dialog == (byte) InstantMessageDialog.GroupInvitationDecline
|
||||||
|| dialog == (byte) InstantMessageDialog.GroupNotice);
|
|| dialog == (byte) InstantMessageDialog.GroupNotice);
|
||||||
|
|
||||||
// IM dialogs need to be pre-processed and have their sessionID filled by the server
|
// IM dialogs need to be pre-processed and have their sessionID filled by the server
|
||||||
// so the sim can match the transaction on the return packet.
|
// so the sim can match the transaction on the return packet.
|
||||||
|
|
||||||
// Don't send a Friend Dialog IM with a UUID.Zero session.
|
// Don't send a Friend Dialog IM with a UUID.Zero session.
|
||||||
if (!(dialogHandledElsewhere && imSessionID == UUID.Zero))
|
if (!dialogHandledElsewhere)
|
||||||
{
|
{
|
||||||
// Try root avatar only first
|
// Try root avatar only first
|
||||||
foreach (Scene scene in m_scenes)
|
foreach (Scene scene in m_scenes)
|
||||||
|
@ -137,7 +141,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
||||||
toAgentID, imSessionID, fromAgentName, dialog,
|
toAgentID, imSessionID, fromAgentName, dialog,
|
||||||
timestamp);
|
timestamp, fromGroup, binaryBucket);
|
||||||
// Message sent
|
// Message sent
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -154,7 +158,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||||
|
|
||||||
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
||||||
toAgentID, imSessionID, fromAgentName, dialog,
|
toAgentID, imSessionID, fromAgentName, dialog,
|
||||||
timestamp);
|
timestamp, fromGroup, binaryBucket);
|
||||||
// Message sent
|
// Message sent
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -547,7 +547,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, UUID avatarID,
|
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID,
|
||||||
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -284,6 +284,14 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
get { return m_lastname; }
|
get { return m_lastname; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string m_grouptitle;
|
||||||
|
|
||||||
|
public string Grouptitle
|
||||||
|
{
|
||||||
|
get { return m_grouptitle; }
|
||||||
|
set { m_grouptitle = value; }
|
||||||
|
}
|
||||||
|
|
||||||
public float DrawDistance
|
public float DrawDistance
|
||||||
{
|
{
|
||||||
get { return m_DrawDistance; }
|
get { return m_DrawDistance; }
|
||||||
|
@ -484,6 +492,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_regionInfo = reginfo;
|
m_regionInfo = reginfo;
|
||||||
m_localId = m_scene.NextLocalId;
|
m_localId = m_scene.NextLocalId;
|
||||||
|
|
||||||
|
IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>();
|
||||||
|
if (gm != null)
|
||||||
|
m_grouptitle = gm.GetGroupTitle(m_uuid);
|
||||||
|
|
||||||
AbsolutePosition = m_controllingClient.StartPos;
|
AbsolutePosition = m_controllingClient.StartPos;
|
||||||
|
|
||||||
TrySetMovementAnimation("STAND"); // TODO: I think, this won't send anything, as we are still a child here...
|
TrySetMovementAnimation("STAND"); // TODO: I think, this won't send anything, as we are still a child here...
|
||||||
|
@ -691,6 +703,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void MakeRootAgent(Vector3 pos, bool isFlying)
|
public void MakeRootAgent(Vector3 pos, bool isFlying)
|
||||||
{
|
{
|
||||||
|
IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>();
|
||||||
|
if (gm != null)
|
||||||
|
m_grouptitle = gm.GetGroupTitle(m_uuid);
|
||||||
|
|
||||||
m_scene.SetRootAgentScene(m_uuid);
|
m_scene.SetRootAgentScene(m_uuid);
|
||||||
|
|
||||||
IAvatarFactory ava = m_scene.RequestModuleInterface<IAvatarFactory>();
|
IAvatarFactory ava = m_scene.RequestModuleInterface<IAvatarFactory>();
|
||||||
|
@ -1755,7 +1771,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
// Note: because Quaternion is a struct, it can't be null
|
// Note: because Quaternion is a struct, it can't be null
|
||||||
Quaternion rot = m_bodyRot;
|
Quaternion rot = m_bodyRot;
|
||||||
|
|
||||||
remoteAvatar.m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_uuid,
|
remoteAvatar.m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid,
|
||||||
LocalId, m_pos, m_appearance.Texture.ToBytes(),
|
LocalId, m_pos, m_appearance.Texture.ToBytes(),
|
||||||
m_parentID, rot);
|
m_parentID, rot);
|
||||||
m_scene.AddAgentUpdates(1);
|
m_scene.AddAgentUpdates(1);
|
||||||
|
@ -1804,6 +1820,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
m_scene.AddAgentUpdates(avatars.Count);
|
m_scene.AddAgentUpdates(avatars.Count);
|
||||||
m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS);
|
m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS);
|
||||||
|
|
||||||
|
SendAnimPack();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1818,7 +1836,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
// Note: because Quaternion is a struct, it can't be null
|
// Note: because Quaternion is a struct, it can't be null
|
||||||
Quaternion rot = m_bodyRot;
|
Quaternion rot = m_bodyRot;
|
||||||
|
|
||||||
m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_uuid, LocalId,
|
m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId,
|
||||||
m_pos, m_appearance.Texture.ToBytes(), m_parentID, rot);
|
m_pos, m_appearance.Texture.ToBytes(), m_parentID, rot);
|
||||||
|
|
||||||
if (!m_isChildAgent)
|
if (!m_isChildAgent)
|
||||||
|
|
|
@ -459,7 +459,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, UUID avatarID,
|
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID,
|
||||||
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
uint avatarLocalID, Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,7 @@ namespace OpenSim.Region.Interfaces
|
||||||
UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish);
|
UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish);
|
||||||
|
|
||||||
GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID GroupID);
|
GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID GroupID);
|
||||||
|
string GetGroupTitle(UUID avatarID);
|
||||||
void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID);
|
void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID);
|
||||||
void SendAgentGroupDataUpdate(IClientAPI remoteClient);
|
void SendAgentGroupDataUpdate(IClientAPI remoteClient);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue