* Added Incomplete Handling of the RegionInfoRequest packet
* Added Incomplete Handling of the EstateCovenantRequest packet * Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method * Fixed a race condition with avatar animationsafrisby
parent
7948033565
commit
ccc8ffaaec
|
@ -320,6 +320,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
|
public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
|
||||||
|
|
||||||
|
public delegate void RegionInfoRequest(IClientAPI remote_client, LLUUID sessionID);
|
||||||
|
|
||||||
|
public delegate void EstateCovenantRequest(IClientAPI remote_client, LLUUID sessionID);
|
||||||
|
|
||||||
public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
|
public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
|
||||||
|
|
||||||
public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, LLQuaternion rot, PrimitiveBaseShape shape);
|
public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, LLQuaternion rot, PrimitiveBaseShape shape);
|
||||||
|
@ -466,6 +470,10 @@ namespace OpenSim.Framework
|
||||||
event ParcelSelectObjects OnParcelSelectObjects;
|
event ParcelSelectObjects OnParcelSelectObjects;
|
||||||
event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
||||||
event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
||||||
|
event RegionInfoRequest OnRegionInfoRequest;
|
||||||
|
event EstateCovenantRequest OnEstateCovenantRequest;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LLVector3 StartPos { get; set; }
|
LLVector3 StartPos { get; set; }
|
||||||
|
|
||||||
|
@ -551,6 +559,7 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
void SendNameReply(LLUUID profileId, string firstname, string lastname);
|
void SendNameReply(LLUUID profileId, string firstname, string lastname);
|
||||||
void SendAlertMessage(string message);
|
void SendAlertMessage(string message);
|
||||||
|
|
||||||
void SendAgentAlertMessage(string message, bool modal);
|
void SendAgentAlertMessage(string message, bool modal);
|
||||||
void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
|
void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
|
||||||
bool AddMoney(int debit);
|
bool AddMoney(int debit);
|
||||||
|
|
|
@ -199,6 +199,7 @@ namespace OpenSim.Framework
|
||||||
public bool commFailTF = false;
|
public bool commFailTF = false;
|
||||||
|
|
||||||
public LLUUID MasterAvatarAssignedUUID = LLUUID.Zero;
|
public LLUUID MasterAvatarAssignedUUID = LLUUID.Zero;
|
||||||
|
public LLUUID CovenantID = LLUUID.Zero;
|
||||||
public string MasterAvatarFirstName = "";
|
public string MasterAvatarFirstName = "";
|
||||||
public string MasterAvatarLastName = "";
|
public string MasterAvatarLastName = "";
|
||||||
public string MasterAvatarSandboxPassword = "";
|
public string MasterAvatarSandboxPassword = "";
|
||||||
|
@ -316,7 +317,8 @@ namespace OpenSim.Framework
|
||||||
configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false);
|
configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false);
|
||||||
configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
|
configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
|
||||||
configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false);
|
configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false);
|
||||||
configMember.addConfigurationOption("master_avatar_uuid", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "Master Avatar UUID", LLUUID.Zero.ToString(), true);
|
configMember.addConfigurationOption("master_avatar_uuid", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "Master Avatar UUID", LLUUID.Zero.ToStringHyphenated(), true);
|
||||||
|
configMember.addConfigurationOption("estate_covanant_uuid", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "Estate Covenant", LLUUID.Zero.ToStringHyphenated(), true);
|
||||||
configMember.addConfigurationOption("master_avatar_first", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "First Name of Master Avatar", "Test", false,(ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
configMember.addConfigurationOption("master_avatar_first", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "First Name of Master Avatar", "Test", false,(ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
||||||
configMember.addConfigurationOption("master_avatar_last", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Last Name of Master Avatar", "User", false, (ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
configMember.addConfigurationOption("master_avatar_last", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Last Name of Master Avatar", "User", false, (ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
||||||
configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "(Sandbox Mode Only)Password for Master Avatar account", "test", false, (ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "(Sandbox Mode Only)Password for Master Avatar account", "test", false, (ConfigurationOption.ConfigurationOptionShouldBeAsked)shouldMasterAvatarDetailsBeAsked);
|
||||||
|
@ -370,6 +372,10 @@ namespace OpenSim.Framework
|
||||||
case "master_avatar_uuid":
|
case "master_avatar_uuid":
|
||||||
this.MasterAvatarAssignedUUID = (LLUUID)configuration_result;
|
this.MasterAvatarAssignedUUID = (LLUUID)configuration_result;
|
||||||
break;
|
break;
|
||||||
|
case "estate_covanant_uuid":
|
||||||
|
this.CovenantID = (LLUUID)configuration_result;
|
||||||
|
break;
|
||||||
|
|
||||||
case "master_avatar_first":
|
case "master_avatar_first":
|
||||||
this.MasterAvatarFirstName = (string)configuration_result;
|
this.MasterAvatarFirstName = (string)configuration_result;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -529,6 +529,9 @@ namespace OpenSim.Region.ClientStack
|
||||||
public event ParcelSelectObjects OnParcelSelectObjects;
|
public event ParcelSelectObjects OnParcelSelectObjects;
|
||||||
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
||||||
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
||||||
|
public event RegionInfoRequest OnRegionInfoRequest;
|
||||||
|
public event EstateCovenantRequest OnEstateCovenantRequest;
|
||||||
|
|
||||||
|
|
||||||
#region Scene/Avatar to Client
|
#region Scene/Avatar to Client
|
||||||
|
|
||||||
|
@ -3216,7 +3219,21 @@ namespace OpenSim.Region.ClientStack
|
||||||
OnEstateOwnerMessage(messagePacket, this);
|
OnEstateOwnerMessage(messagePacket, this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case PacketType.RequestRegionInfo:
|
||||||
|
RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData;
|
||||||
|
if (OnRegionInfoRequest != null)
|
||||||
|
{
|
||||||
|
OnRegionInfoRequest(this, mPacket.SessionID);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case PacketType.EstateCovenantRequest:
|
||||||
|
// TODO: handle this packet
|
||||||
|
EstateCovenantRequestPacket.AgentDataBlock epack = ((EstateCovenantRequestPacket)Pack).AgentData;
|
||||||
|
if (OnEstateCovenantRequest != null)
|
||||||
|
{
|
||||||
|
OnEstateCovenantRequest(this, epack.SessionID);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case PacketType.AgentThrottle:
|
case PacketType.AgentThrottle:
|
||||||
AgentThrottlePacket atpack = (AgentThrottlePacket)Pack;
|
AgentThrottlePacket atpack = (AgentThrottlePacket)Pack;
|
||||||
m_packetQueue.SetThrottleFromClient(atpack.Throttle.Throttles);
|
m_packetQueue.SetThrottleFromClient(atpack.Throttle.Throttles);
|
||||||
|
@ -3278,10 +3295,7 @@ namespace OpenSim.Region.ClientStack
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled ViewerStats packet");
|
MainLog.Instance.Warn("CLIENT", "unhandled ViewerStats packet");
|
||||||
break;
|
break;
|
||||||
case PacketType.EstateCovenantRequest:
|
|
||||||
// TODO: handle this packet
|
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled EstateCovenantRequest packet");
|
|
||||||
break;
|
|
||||||
case PacketType.CreateGroupRequest:
|
case PacketType.CreateGroupRequest:
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled CreateGroupRequest packet");
|
MainLog.Instance.Warn("CLIENT", "unhandled CreateGroupRequest packet");
|
||||||
|
@ -3343,10 +3357,6 @@ namespace OpenSim.Region.ClientStack
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled UserInfoRequest packet");
|
MainLog.Instance.Warn("CLIENT", "unhandled UserInfoRequest packet");
|
||||||
break;
|
break;
|
||||||
case PacketType.RequestRegionInfo:
|
|
||||||
// TODO: handle this packet
|
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled RequestRegionInfo packet");
|
|
||||||
break;
|
|
||||||
case PacketType.InventoryDescendents:
|
case PacketType.InventoryDescendents:
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
MainLog.Instance.Warn("CLIENT", "unhandled InventoryDescent packet");
|
MainLog.Instance.Warn("CLIENT", "unhandled InventoryDescent packet");
|
||||||
|
|
|
@ -177,6 +177,12 @@ namespace OpenSim.Region.Environment
|
||||||
estateRestartSim(packet);
|
estateRestartSim(packet);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "estatechangecovenantid":
|
||||||
|
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
|
||||||
|
{
|
||||||
|
EstateChangeCovenant(packet);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
|
MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
|
||||||
break;
|
break;
|
||||||
|
@ -340,8 +346,54 @@ namespace OpenSim.Region.Environment
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void EstateChangeCovenant(EstateOwnerMessagePacket packet)
|
||||||
|
{
|
||||||
|
foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList)
|
||||||
|
{
|
||||||
|
LLUUID newCovenantID = new LLUUID(Helpers.FieldToUTF8String(block.Parameter));
|
||||||
|
m_regInfo.CovenantID = newCovenantID;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public void HandleRegionInfoRequest(IClientAPI client, LLUUID sessionID)
|
||||||
|
{
|
||||||
|
RegionInfoPacket rinfopack = new RegionInfoPacket();
|
||||||
|
RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
|
||||||
|
|
||||||
|
rinfoblk.BillableFactor = 0;
|
||||||
|
rinfoblk.EstateID = 02;
|
||||||
|
rinfoblk.MaxAgents = 100;
|
||||||
|
rinfoblk.ObjectBonusFactor = 1.0f;
|
||||||
|
rinfoblk.ParentEstateID = 0;
|
||||||
|
rinfoblk.PricePerMeter = 0;
|
||||||
|
rinfoblk.RedirectGridX = 0;
|
||||||
|
rinfoblk.RedirectGridY = 0;
|
||||||
|
rinfoblk.RegionFlags = (uint)m_regInfo.EstateSettings.regionFlags;
|
||||||
|
rinfoblk.SimAccess = (byte)m_regInfo.EstateSettings.simAccess;
|
||||||
|
rinfoblk.SunHour = m_regInfo.EstateSettings.sunHour;
|
||||||
|
rinfoblk.TerrainLowerLimit = 20;
|
||||||
|
rinfoblk.TerrainRaiseLimit = 20;
|
||||||
|
rinfoblk.UseEstateSun = true;
|
||||||
|
rinfoblk.WaterHeight = m_regInfo.EstateSettings.waterHeight;
|
||||||
|
rinfoblk.SimName = Helpers.StringToField(m_regInfo.RegionName);
|
||||||
|
|
||||||
|
rinfopack.RegionInfo = rinfoblk;
|
||||||
|
|
||||||
|
client.OutPacket(rinfopack, ThrottleOutPacketType.Task);
|
||||||
|
|
||||||
|
}
|
||||||
|
public void HandleEstateCovenantRequest(IClientAPI client, LLUUID sessionID)
|
||||||
|
{
|
||||||
|
EstateCovenantReplyPacket einfopack = new EstateCovenantReplyPacket();
|
||||||
|
EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock();
|
||||||
|
edata.CovenantID = m_regInfo.CovenantID;
|
||||||
|
edata.CovenantTimestamp = 0;
|
||||||
|
edata.EstateOwnerID = m_regInfo.MasterAvatarAssignedUUID;
|
||||||
|
edata.EstateName = Helpers.StringToField(m_regInfo.MasterAvatarFirstName + " " + m_regInfo.MasterAvatarLastName);
|
||||||
|
einfopack.Data = edata;
|
||||||
|
client.OutPacket(einfopack, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Outgoing Packets
|
#region Outgoing Packets
|
||||||
|
|
|
@ -60,10 +60,13 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
// MainLog.Instance.Verbose("CLIENT", "Loaded " + AnimsLLUUID.Count.ToString() + " animation(s)");
|
// MainLog.Instance.Verbose("CLIENT", "Loaded " + AnimsLLUUID.Count.ToString() + " animation(s)");
|
||||||
|
|
||||||
|
lock (ScenePresence.Animations.AnimsLLUUID)
|
||||||
|
{
|
||||||
foreach (KeyValuePair<string, LLUUID> kp in ScenePresence.Animations.AnimsLLUUID)
|
foreach (KeyValuePair<string, LLUUID> kp in ScenePresence.Animations.AnimsLLUUID)
|
||||||
{
|
{
|
||||||
AnimsNames.Add(kp.Value, kp.Key);
|
AnimsNames.Add(kp.Value, kp.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1122,6 +1122,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
client.OnParcelAccessListUpdateRequest += new ParcelAccessListUpdateRequest(m_LandManager.handleParcelAccessUpdateRequest);
|
client.OnParcelAccessListUpdateRequest += new ParcelAccessListUpdateRequest(m_LandManager.handleParcelAccessUpdateRequest);
|
||||||
|
|
||||||
client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage);
|
client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage);
|
||||||
|
client.OnRegionInfoRequest += m_estateManager.HandleRegionInfoRequest;
|
||||||
|
client.OnEstateCovenantRequest += m_estateManager.HandleEstateCovenantRequest;
|
||||||
client.OnRequestGodlikePowers += handleRequestGodlikePowers;
|
client.OnRequestGodlikePowers += handleRequestGodlikePowers;
|
||||||
client.OnGodKickUser += handleGodlikeKickUser;
|
client.OnGodKickUser += handleGodlikeKickUser;
|
||||||
client.OnObjectPermissions += HandleObjectPermissionsUpdate;
|
client.OnObjectPermissions += HandleObjectPermissionsUpdate;
|
||||||
|
|
|
@ -137,6 +137,9 @@ namespace SimpleApp
|
||||||
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
||||||
public event ObjectDeselect OnObjectDeselect;
|
public event ObjectDeselect OnObjectDeselect;
|
||||||
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
||||||
|
public event RegionInfoRequest OnRegionInfoRequest;
|
||||||
|
public event EstateCovenantRequest OnEstateCovenantRequest;
|
||||||
|
|
||||||
|
|
||||||
#pragma warning restore 67
|
#pragma warning restore 67
|
||||||
|
|
||||||
|
@ -364,7 +367,9 @@ namespace SimpleApp
|
||||||
public void SendAgentAlertMessage(string message, bool modal)
|
public void SendAgentAlertMessage(string message, bool modal)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
public void SendSystemAlertMessage(string message)
|
||||||
|
{
|
||||||
|
}
|
||||||
public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message,
|
public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message,
|
||||||
string url)
|
string url)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue