*LLClientView is now pushed the EstateSettings instead of pulling it from the scene...more to standards
*LandChannel no longer requires libsecondlife.Packets (it should have never needed it in the first place)0.6.0-stable
parent
81056717e0
commit
d8e02d9e5c
|
@ -255,6 +255,52 @@ namespace OpenSim.Framework
|
||||||
public LLVector3 UserLocation;
|
public LLVector3 UserLocation;
|
||||||
public LLVector3 UserLookAt;
|
public LLVector3 UserLookAt;
|
||||||
}
|
}
|
||||||
|
public class RegionHandshakeArgs : EventArgs
|
||||||
|
{
|
||||||
|
public bool isEstateManager;
|
||||||
|
public float billableFactor;
|
||||||
|
public float terrainHeightRange0;
|
||||||
|
public float terrainHeightRange1;
|
||||||
|
public float terrainHeightRange2;
|
||||||
|
public float terrainHeightRange3;
|
||||||
|
public float terrainStartHeight0;
|
||||||
|
public float terrainStartHeight1;
|
||||||
|
public float terrainStartHeight2;
|
||||||
|
public float terrainStartHeight3;
|
||||||
|
public byte simAccess;
|
||||||
|
public float waterHeight;
|
||||||
|
public uint regionFlags;
|
||||||
|
public string regionName;
|
||||||
|
public LLUUID SimOwner;
|
||||||
|
public LLUUID terrainBase0;
|
||||||
|
public LLUUID terrainBase1;
|
||||||
|
public LLUUID terrainBase2;
|
||||||
|
public LLUUID terrainBase3;
|
||||||
|
public LLUUID terrainDetail0;
|
||||||
|
public LLUUID terrainDetail1;
|
||||||
|
public LLUUID terrainDetail2;
|
||||||
|
public LLUUID terrainDetail3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class RegionInfoForEstateMenuArgs : EventArgs
|
||||||
|
{
|
||||||
|
public float billableFactor;
|
||||||
|
public uint estateID;
|
||||||
|
public byte maxAgents;
|
||||||
|
public float objectBonusFactor;
|
||||||
|
public uint parentEstateID;
|
||||||
|
public int pricePerMeter;
|
||||||
|
public int redirectGridX;
|
||||||
|
public int redirectGridY;
|
||||||
|
public uint regionFlags;
|
||||||
|
public byte simAccess;
|
||||||
|
public float sunHour;
|
||||||
|
public float terrainLowerLimit;
|
||||||
|
public float terrainRaiseLimit;
|
||||||
|
public bool useEstateSun;
|
||||||
|
public float waterHeight;
|
||||||
|
public string simName;
|
||||||
|
}
|
||||||
public delegate void TextureRequest(Object sender, TextureRequestArgs e);
|
public delegate void TextureRequest(Object sender, TextureRequestArgs e);
|
||||||
|
|
||||||
public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e);
|
public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e);
|
||||||
|
@ -680,7 +726,7 @@ namespace OpenSim.Framework
|
||||||
void SendStartPingCheck(byte seq);
|
void SendStartPingCheck(byte seq);
|
||||||
void SendKillObject(ulong regionHandle, uint localID);
|
void SendKillObject(ulong regionHandle, uint localID);
|
||||||
void SendAnimations(LLUUID[] animID, int[] seqs, LLUUID sourceAgentId);
|
void SendAnimations(LLUUID[] animID, int[] seqs, LLUUID sourceAgentId);
|
||||||
void SendRegionHandshake(RegionInfo regionInfo);
|
void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args);
|
||||||
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
||||||
void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
||||||
|
|
||||||
|
@ -796,15 +842,16 @@ namespace OpenSim.Framework
|
||||||
void SendHealth(float health);
|
void SendHealth(float health);
|
||||||
|
|
||||||
|
|
||||||
void sendEstateManagersList(LLUUID invoice);
|
void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID);
|
||||||
void sendRegionInfoToEstateMenu();
|
void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args);
|
||||||
void sendEstateCovenantInformation();
|
void sendEstateCovenantInformation();
|
||||||
void sendDetailedEstateData(LLUUID invoice);
|
void sendDetailedEstateData(LLUUID invoice,string estateName, uint estateID);
|
||||||
|
|
||||||
void sendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity);
|
void sendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity, uint regionFlags);
|
||||||
void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID);
|
void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID);
|
||||||
void sendForceClientSelectObjects(List<uint> objectIDs);
|
void sendForceClientSelectObjects(List<uint> objectIDs);
|
||||||
void sendLandObjectOwners(Dictionary<LLUUID, int> ownersAndCount);
|
void sendLandObjectOwners(Dictionary<LLUUID, int> ownersAndCount);
|
||||||
|
void sendLandParcelOverlay(byte[] data, int sequence_id);
|
||||||
|
|
||||||
byte[] GetThrottlesPacked(float multiplier);
|
byte[] GetThrottlesPacked(float multiplier);
|
||||||
|
|
||||||
|
|
|
@ -822,42 +822,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="regionInfo"></param>
|
/// <param name="regionInfo"></param>
|
||||||
public void SendRegionHandshake(RegionInfo regionInfo)
|
public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
|
||||||
{
|
{
|
||||||
RegionHandshakePacket handshake = (RegionHandshakePacket)PacketPool.Instance.GetPacket(PacketType.RegionHandshake);
|
RegionHandshakePacket handshake = (RegionHandshakePacket)PacketPool.Instance.GetPacket(PacketType.RegionHandshake);
|
||||||
|
|
||||||
bool estatemanager = false;
|
handshake.RegionInfo.BillableFactor = args.billableFactor;
|
||||||
LLUUID[] EstateManagers = regionInfo.EstateSettings.estateManagers;
|
handshake.RegionInfo.IsEstateManager = args.isEstateManager;
|
||||||
for (int i = 0; i < EstateManagers.Length; i++)
|
handshake.RegionInfo.TerrainHeightRange00 = args.terrainHeightRange0;
|
||||||
{
|
handshake.RegionInfo.TerrainHeightRange01 = args.terrainHeightRange1;
|
||||||
if (EstateManagers[i] == AgentId)
|
handshake.RegionInfo.TerrainHeightRange10 = args.terrainHeightRange2;
|
||||||
estatemanager = true;
|
handshake.RegionInfo.TerrainHeightRange11 = args.terrainHeightRange3;
|
||||||
}
|
handshake.RegionInfo.TerrainStartHeight00 = args.terrainStartHeight0;
|
||||||
|
handshake.RegionInfo.TerrainStartHeight01 = args.terrainStartHeight1;
|
||||||
|
handshake.RegionInfo.TerrainStartHeight10 = args.terrainStartHeight2;
|
||||||
|
handshake.RegionInfo.TerrainStartHeight11 = args.terrainStartHeight3;
|
||||||
|
handshake.RegionInfo.SimAccess = args.simAccess;
|
||||||
|
handshake.RegionInfo.WaterHeight = args.waterHeight;
|
||||||
|
|
||||||
handshake.RegionInfo.BillableFactor = regionInfo.EstateSettings.billableFactor;
|
handshake.RegionInfo.RegionFlags = args.regionFlags;
|
||||||
handshake.RegionInfo.IsEstateManager = estatemanager;
|
handshake.RegionInfo.SimName = Helpers.StringToField(args.regionName);
|
||||||
handshake.RegionInfo.TerrainHeightRange00 = regionInfo.EstateSettings.terrainHeightRange0;
|
handshake.RegionInfo.SimOwner = args.SimOwner;
|
||||||
handshake.RegionInfo.TerrainHeightRange01 = regionInfo.EstateSettings.terrainHeightRange1;
|
handshake.RegionInfo.TerrainBase0 = args.terrainBase0;
|
||||||
handshake.RegionInfo.TerrainHeightRange10 = regionInfo.EstateSettings.terrainHeightRange2;
|
handshake.RegionInfo.TerrainBase1 = args.terrainBase1;
|
||||||
handshake.RegionInfo.TerrainHeightRange11 = regionInfo.EstateSettings.terrainHeightRange3;
|
handshake.RegionInfo.TerrainBase2 = args.terrainBase2;
|
||||||
handshake.RegionInfo.TerrainStartHeight00 = regionInfo.EstateSettings.terrainStartHeight0;
|
handshake.RegionInfo.TerrainBase3 = args.terrainBase3;
|
||||||
handshake.RegionInfo.TerrainStartHeight01 = regionInfo.EstateSettings.terrainStartHeight1;
|
handshake.RegionInfo.TerrainDetail0 = args.terrainDetail0;
|
||||||
handshake.RegionInfo.TerrainStartHeight10 = regionInfo.EstateSettings.terrainStartHeight2;
|
handshake.RegionInfo.TerrainDetail1 = args.terrainDetail1;
|
||||||
handshake.RegionInfo.TerrainStartHeight11 = regionInfo.EstateSettings.terrainStartHeight3;
|
handshake.RegionInfo.TerrainDetail2 = args.terrainDetail2;
|
||||||
handshake.RegionInfo.SimAccess = (byte)regionInfo.EstateSettings.simAccess;
|
handshake.RegionInfo.TerrainDetail3 = args.terrainDetail3;
|
||||||
handshake.RegionInfo.WaterHeight = regionInfo.EstateSettings.waterHeight;
|
|
||||||
|
|
||||||
handshake.RegionInfo.RegionFlags = (uint)regionInfo.EstateSettings.regionFlags;
|
|
||||||
handshake.RegionInfo.SimName = Helpers.StringToField(regionInfo.RegionName);
|
|
||||||
handshake.RegionInfo.SimOwner = regionInfo.MasterAvatarAssignedUUID;
|
|
||||||
handshake.RegionInfo.TerrainBase0 = regionInfo.EstateSettings.terrainBase0;
|
|
||||||
handshake.RegionInfo.TerrainBase1 = regionInfo.EstateSettings.terrainBase1;
|
|
||||||
handshake.RegionInfo.TerrainBase2 = regionInfo.EstateSettings.terrainBase2;
|
|
||||||
handshake.RegionInfo.TerrainBase3 = regionInfo.EstateSettings.terrainBase3;
|
|
||||||
handshake.RegionInfo.TerrainDetail0 = regionInfo.EstateSettings.terrainDetail0;
|
|
||||||
handshake.RegionInfo.TerrainDetail1 = regionInfo.EstateSettings.terrainDetail1;
|
|
||||||
handshake.RegionInfo.TerrainDetail2 = regionInfo.EstateSettings.terrainDetail2;
|
|
||||||
handshake.RegionInfo.TerrainDetail3 = regionInfo.EstateSettings.terrainDetail3;
|
|
||||||
handshake.RegionInfo.CacheID = LLUUID.Random(); //I guess this is for the client to remember an old setting?
|
handshake.RegionInfo.CacheID = LLUUID.Random(); //I guess this is for the client to remember an old setting?
|
||||||
|
|
||||||
OutPacket(handshake, ThrottleOutPacketType.Task);
|
OutPacket(handshake, ThrottleOutPacketType.Task);
|
||||||
|
@ -2179,7 +2171,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendEstateManagersList(LLUUID invoice)
|
public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID)
|
||||||
{
|
{
|
||||||
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
||||||
packet.AgentData.TransactionID = LLUUID.Random();
|
packet.AgentData.TransactionID = LLUUID.Random();
|
||||||
|
@ -2188,8 +2180,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
packet.MethodData.Invoice = invoice;
|
packet.MethodData.Invoice = invoice;
|
||||||
packet.MethodData.Method = Helpers.StringToField("setaccess");
|
packet.MethodData.Method = Helpers.StringToField("setaccess");
|
||||||
|
|
||||||
LLUUID[] EstateManagers = m_scene.RegionInfo.EstateSettings.estateManagers;
|
|
||||||
|
|
||||||
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + EstateManagers.Length];
|
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + EstateManagers.Length];
|
||||||
|
|
||||||
for (int i = 0; i < (6 + EstateManagers.Length); i++)
|
for (int i = 0; i < (6 + EstateManagers.Length); i++)
|
||||||
|
@ -2198,7 +2188,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
returnblock[j].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateID.ToString()); j++;
|
returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++;
|
||||||
returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateManagers).ToString()); j++;
|
returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateManagers).ToString()); j++;
|
||||||
returnblock[j].Parameter = Helpers.StringToField("0"); j++;
|
returnblock[j].Parameter = Helpers.StringToField("0"); j++;
|
||||||
returnblock[j].Parameter = Helpers.StringToField("0"); j++;
|
returnblock[j].Parameter = Helpers.StringToField("0"); j++;
|
||||||
|
@ -2213,29 +2203,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
this.OutPacket(packet, ThrottleOutPacketType.Task);
|
this.OutPacket(packet, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRegionInfoToEstateMenu()
|
public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
|
||||||
{
|
{
|
||||||
RegionInfoPacket rinfopack = new RegionInfoPacket();
|
RegionInfoPacket rinfopack = new RegionInfoPacket();
|
||||||
RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
|
RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
|
||||||
rinfopack.AgentData.AgentID = this.AgentId;
|
rinfopack.AgentData.AgentID = this.AgentId;
|
||||||
rinfopack.AgentData.SessionID = this.SessionId;
|
rinfopack.AgentData.SessionID = this.SessionId;
|
||||||
rinfoblk.BillableFactor = m_scene.RegionInfo.EstateSettings.billableFactor;
|
rinfoblk.BillableFactor =args.billableFactor;
|
||||||
rinfoblk.EstateID = m_scene.RegionInfo.EstateSettings.estateID;
|
rinfoblk.EstateID = args.estateID;
|
||||||
rinfoblk.MaxAgents = m_scene.RegionInfo.EstateSettings.maxAgents;
|
rinfoblk.MaxAgents = args.maxAgents;
|
||||||
rinfoblk.ObjectBonusFactor = m_scene.RegionInfo.EstateSettings.objectBonusFactor;
|
rinfoblk.ObjectBonusFactor =args.objectBonusFactor;
|
||||||
rinfoblk.ParentEstateID = m_scene.RegionInfo.EstateSettings.parentEstateID;
|
rinfoblk.ParentEstateID = args.parentEstateID;
|
||||||
rinfoblk.PricePerMeter = m_scene.RegionInfo.EstateSettings.pricePerMeter;
|
rinfoblk.PricePerMeter = args.pricePerMeter;
|
||||||
rinfoblk.RedirectGridX = m_scene.RegionInfo.EstateSettings.redirectGridX;
|
rinfoblk.RedirectGridX = args.redirectGridX;
|
||||||
rinfoblk.RedirectGridY = m_scene.RegionInfo.EstateSettings.redirectGridY;
|
rinfoblk.RedirectGridY = args.redirectGridY;
|
||||||
rinfoblk.RegionFlags = (uint)(m_scene.RegionInfo.EstateSettings.regionFlags);
|
rinfoblk.RegionFlags = args.regionFlags;
|
||||||
rinfoblk.SimAccess = (byte)m_scene.RegionInfo.EstateSettings.simAccess;
|
rinfoblk.SimAccess = args.simAccess;
|
||||||
rinfoblk.SunHour = m_scene.RegionInfo.EstateSettings.sunHour;
|
rinfoblk.SunHour = args.sunHour;
|
||||||
rinfoblk.TerrainLowerLimit = m_scene.RegionInfo.EstateSettings.terrainLowerLimit;
|
rinfoblk.TerrainLowerLimit = args.terrainLowerLimit;
|
||||||
rinfoblk.TerrainRaiseLimit = m_scene.RegionInfo.EstateSettings.terrainRaiseLimit;
|
rinfoblk.TerrainRaiseLimit = args.terrainRaiseLimit;
|
||||||
rinfoblk.UseEstateSun = !m_scene.RegionInfo.EstateSettings.useFixedSun;
|
rinfoblk.UseEstateSun = args.useEstateSun;
|
||||||
rinfoblk.WaterHeight = m_scene.RegionInfo.EstateSettings.waterHeight;
|
rinfoblk.WaterHeight = args.waterHeight;
|
||||||
rinfoblk.SimName = Helpers.StringToField(m_scene.RegionInfo.RegionName);
|
rinfoblk.SimName = Helpers.StringToField(args.simName);
|
||||||
|
|
||||||
|
|
||||||
rinfopack.RegionInfo = rinfoblk;
|
rinfopack.RegionInfo = rinfoblk;
|
||||||
|
|
||||||
this.OutPacket(rinfopack, ThrottleOutPacketType.Task);
|
this.OutPacket(rinfopack, ThrottleOutPacketType.Task);
|
||||||
|
@ -2254,7 +2245,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
this.OutPacket(einfopack, ThrottleOutPacketType.Task);
|
this.OutPacket(einfopack, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendDetailedEstateData(LLUUID invoice)
|
public void sendDetailedEstateData(LLUUID invoice, string estateName, uint estateID)
|
||||||
{
|
{
|
||||||
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
||||||
packet.MethodData.Invoice = invoice;
|
packet.MethodData.Invoice = invoice;
|
||||||
|
@ -2268,9 +2259,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
|
|
||||||
//Sending Estate Settings
|
//Sending Estate Settings
|
||||||
returnblock[0].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateName);
|
returnblock[0].Parameter = Helpers.StringToField(estateName);
|
||||||
returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString());
|
returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString());
|
||||||
returnblock[2].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateID.ToString());
|
returnblock[2].Parameter = Helpers.StringToField(estateID.ToString());
|
||||||
|
|
||||||
// TODO: Resolve Magic numbers here
|
// TODO: Resolve Magic numbers here
|
||||||
returnblock[3].Parameter = Helpers.StringToField("269516800");
|
returnblock[3].Parameter = Helpers.StringToField("269516800");
|
||||||
|
@ -2289,8 +2280,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Land Data Sending Methods
|
#region Land Data Sending Methods
|
||||||
|
public void sendLandParcelOverlay(byte[] data, int sequence_id)
|
||||||
public void sendLandProperties(IClientAPI remote_client,int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity)
|
{
|
||||||
|
|
||||||
|
ParcelOverlayPacket packet;
|
||||||
|
packet = (ParcelOverlayPacket)PacketPool.Instance.GetPacket(PacketType.ParcelOverlay);
|
||||||
|
packet.ParcelData.Data = data;
|
||||||
|
packet.ParcelData.SequenceID = sequence_id;
|
||||||
|
this.OutPacket(packet, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
public void sendLandProperties(IClientAPI remote_client,int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity, uint regionFlags)
|
||||||
{
|
{
|
||||||
ParcelPropertiesPacket updatePacket = (ParcelPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ParcelProperties);
|
ParcelPropertiesPacket updatePacket = (ParcelPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ParcelProperties);
|
||||||
// TODO: don't create new blocks if recycling an old packet
|
// TODO: don't create new blocks if recycling an old packet
|
||||||
|
@ -2334,12 +2333,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
updatePacket.ParcelData.OwnerID = landData.ownerID;
|
updatePacket.ParcelData.OwnerID = landData.ownerID;
|
||||||
updatePacket.ParcelData.OwnerPrims = landData.ownerPrims;
|
updatePacket.ParcelData.OwnerPrims = landData.ownerPrims;
|
||||||
updatePacket.ParcelData.ParcelFlags = landData.landFlags;
|
updatePacket.ParcelData.ParcelFlags = landData.landFlags;
|
||||||
updatePacket.ParcelData.ParcelPrimBonus = m_scene.RegionInfo.EstateSettings.objectBonusFactor;
|
updatePacket.ParcelData.ParcelPrimBonus = simObjectBonusFactor;
|
||||||
updatePacket.ParcelData.PassHours = landData.passHours;
|
updatePacket.ParcelData.PassHours = landData.passHours;
|
||||||
updatePacket.ParcelData.PassPrice = landData.passPrice;
|
updatePacket.ParcelData.PassPrice = landData.passPrice;
|
||||||
updatePacket.ParcelData.PublicCount = 0; //unemplemented
|
updatePacket.ParcelData.PublicCount = 0; //unemplemented
|
||||||
|
|
||||||
uint regionFlags = (uint) m_scene.RegionInfo.EstateSettings.regionFlags;
|
|
||||||
updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint) Simulator.RegionFlags.DenyAnonymous) >
|
updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint) Simulator.RegionFlags.DenyAnonymous) >
|
||||||
0);
|
0);
|
||||||
updatePacket.ParcelData.RegionDenyIdentified = ((regionFlags & (uint) Simulator.RegionFlags.DenyIdentified) >
|
updatePacket.ParcelData.RegionDenyIdentified = ((regionFlags & (uint) Simulator.RegionFlags.DenyIdentified) >
|
||||||
|
|
|
@ -44,10 +44,10 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||||
|
|
||||||
#region Packet Data Responders
|
#region Packet Data Responders
|
||||||
|
|
||||||
private static void sendDetailedEstateData(IClientAPI remote_client, LLUUID invoice)
|
private void sendDetailedEstateData(IClientAPI remote_client, LLUUID invoice)
|
||||||
{
|
{
|
||||||
remote_client.sendDetailedEstateData(invoice);
|
remote_client.sendDetailedEstateData(invoice,m_scene.RegionInfo.EstateSettings.estateName,m_scene.RegionInfo.EstateSettings.estateID);
|
||||||
remote_client.sendEstateManagersList(invoice);
|
remote_client.sendEstateManagersList(invoice,m_scene.RegionInfo.EstateSettings.estateManagers,m_scene.RegionInfo.EstateSettings.estateID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void estateSetRegionInfoHandler(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor,
|
private void estateSetRegionInfoHandler(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor,
|
||||||
|
@ -208,7 +208,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||||
if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions)
|
if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions)
|
||||||
{
|
{
|
||||||
m_scene.RegionInfo.EstateSettings.AddEstateManager(user);
|
m_scene.RegionInfo.EstateSettings.AddEstateManager(user);
|
||||||
remote_client.sendEstateManagersList(invoice);
|
remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -222,7 +222,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||||
if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions)
|
if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions)
|
||||||
{
|
{
|
||||||
m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user);
|
m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user);
|
||||||
remote_client.sendEstateManagersList(invoice);
|
remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -283,9 +283,28 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void HandleRegionInfoRequest(IClientAPI remote_client)
|
private void HandleRegionInfoRequest(IClientAPI remote_client)
|
||||||
{
|
{
|
||||||
remote_client.sendRegionInfoToEstateMenu();
|
|
||||||
|
RegionInfoForEstateMenuArgs args = new RegionInfoForEstateMenuArgs();
|
||||||
|
args.billableFactor = m_scene.RegionInfo.EstateSettings.billableFactor;
|
||||||
|
args.estateID = m_scene.RegionInfo.EstateSettings.estateID;
|
||||||
|
args.maxAgents = m_scene.RegionInfo.EstateSettings.maxAgents;
|
||||||
|
args.objectBonusFactor = m_scene.RegionInfo.EstateSettings.objectBonusFactor;
|
||||||
|
args.parentEstateID = m_scene.RegionInfo.EstateSettings.parentEstateID;
|
||||||
|
args.pricePerMeter = m_scene.RegionInfo.EstateSettings.pricePerMeter;
|
||||||
|
args.redirectGridX = m_scene.RegionInfo.EstateSettings.redirectGridX;
|
||||||
|
args.redirectGridY = m_scene.RegionInfo.EstateSettings.redirectGridY;
|
||||||
|
args.regionFlags = (uint)(m_scene.RegionInfo.EstateSettings.regionFlags);
|
||||||
|
args.simAccess = (byte)m_scene.RegionInfo.EstateSettings.simAccess;
|
||||||
|
args.sunHour = m_scene.RegionInfo.EstateSettings.sunHour;
|
||||||
|
args.terrainLowerLimit = m_scene.RegionInfo.EstateSettings.terrainLowerLimit;
|
||||||
|
args.terrainRaiseLimit = m_scene.RegionInfo.EstateSettings.terrainRaiseLimit;
|
||||||
|
args.useEstateSun = !m_scene.RegionInfo.EstateSettings.useFixedSun;
|
||||||
|
args.waterHeight = m_scene.RegionInfo.EstateSettings.waterHeight;
|
||||||
|
args.simName = m_scene.RegionInfo.RegionName;
|
||||||
|
|
||||||
|
remote_client.sendRegionInfoToEstateMenu(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void HandleEstateCovenantRequest(IClientAPI remote_client)
|
private static void HandleEstateCovenantRequest(IClientAPI remote_client)
|
||||||
|
@ -303,13 +322,48 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||||
|
|
||||||
for (int i = 0; i < avatars.Count; i++)
|
for (int i = 0; i < avatars.Count; i++)
|
||||||
{
|
{
|
||||||
avatars[i].ControllingClient.sendRegionInfoToEstateMenu();
|
HandleRegionInfoRequest(avatars[i].ControllingClient); ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRegionHandshake(IClientAPI remoteClient)
|
public void sendRegionHandshake(IClientAPI remoteClient)
|
||||||
{
|
{
|
||||||
remoteClient.SendRegionHandshake(m_scene.RegionInfo);
|
RegionHandshakeArgs args = new RegionHandshakeArgs();
|
||||||
|
bool estatemanager = false;
|
||||||
|
LLUUID[] EstateManagers = m_scene.RegionInfo.EstateSettings.estateManagers;
|
||||||
|
for (int i = 0; i < EstateManagers.Length; i++)
|
||||||
|
{
|
||||||
|
if (EstateManagers[i] == remoteClient.AgentId)
|
||||||
|
estatemanager = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
args.isEstateManager = estatemanager;
|
||||||
|
|
||||||
|
args.billableFactor = m_scene.RegionInfo.EstateSettings.billableFactor;
|
||||||
|
args.terrainHeightRange0 = m_scene.RegionInfo.EstateSettings.terrainHeightRange0;
|
||||||
|
args.terrainHeightRange1 = m_scene.RegionInfo.EstateSettings.terrainHeightRange1;
|
||||||
|
args.terrainHeightRange2 = m_scene.RegionInfo.EstateSettings.terrainHeightRange2;
|
||||||
|
args.terrainHeightRange3 = m_scene.RegionInfo.EstateSettings.terrainHeightRange3;
|
||||||
|
args.terrainStartHeight0 = m_scene.RegionInfo.EstateSettings.terrainStartHeight0;
|
||||||
|
args.terrainStartHeight1 = m_scene.RegionInfo.EstateSettings.terrainStartHeight1;
|
||||||
|
args.terrainStartHeight2 = m_scene.RegionInfo.EstateSettings.terrainStartHeight2;
|
||||||
|
args.terrainStartHeight3 = m_scene.RegionInfo.EstateSettings.terrainStartHeight3;
|
||||||
|
args.simAccess = (byte)m_scene.RegionInfo.EstateSettings.simAccess;
|
||||||
|
args.waterHeight = m_scene.RegionInfo.EstateSettings.waterHeight;
|
||||||
|
|
||||||
|
args.regionFlags = (uint)m_scene.RegionInfo.EstateSettings.regionFlags;
|
||||||
|
args.regionName = m_scene.RegionInfo.RegionName;
|
||||||
|
args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
|
||||||
|
args.terrainBase0 = m_scene.RegionInfo.EstateSettings.terrainBase0;
|
||||||
|
args.terrainBase1 = m_scene.RegionInfo.EstateSettings.terrainBase1;
|
||||||
|
args.terrainBase2 = m_scene.RegionInfo.EstateSettings.terrainBase2;
|
||||||
|
args.terrainBase3 = m_scene.RegionInfo.EstateSettings.terrainBase3;
|
||||||
|
args.terrainDetail0 = m_scene.RegionInfo.EstateSettings.terrainDetail0;
|
||||||
|
args.terrainDetail1 = m_scene.RegionInfo.EstateSettings.terrainDetail1;
|
||||||
|
args.terrainDetail2 = m_scene.RegionInfo.EstateSettings.terrainDetail2;
|
||||||
|
args.terrainDetail3 = m_scene.RegionInfo.EstateSettings.terrainDetail3;
|
||||||
|
|
||||||
|
remoteClient.SendRegionHandshake(m_scene.RegionInfo,args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRegionHandshakeToAll()
|
public void sendRegionHandshakeToAll()
|
||||||
|
|
|
@ -29,7 +29,6 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Axiom.Math;
|
using Axiom.Math;
|
||||||
using libsecondlife;
|
using libsecondlife;
|
||||||
using libsecondlife.Packets;
|
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Environment.Interfaces;
|
using OpenSim.Region.Environment.Interfaces;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
@ -521,7 +520,6 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
||||||
byte[] byteArray = new byte[LAND_BLOCKS_PER_PACKET];
|
byte[] byteArray = new byte[LAND_BLOCKS_PER_PACKET];
|
||||||
int byteArrayCount = 0;
|
int byteArrayCount = 0;
|
||||||
int sequenceID = 0;
|
int sequenceID = 0;
|
||||||
ParcelOverlayPacket packet;
|
|
||||||
|
|
||||||
int y;
|
int y;
|
||||||
for (y = 0; y < 64; y++)
|
for (y = 0; y < 64; y++)
|
||||||
|
@ -595,11 +593,8 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
||||||
byteArrayCount++;
|
byteArrayCount++;
|
||||||
if (byteArrayCount >= LAND_BLOCKS_PER_PACKET)
|
if (byteArrayCount >= LAND_BLOCKS_PER_PACKET)
|
||||||
{
|
{
|
||||||
byteArrayCount = 0;
|
remote_client.sendLandParcelOverlay(byteArray, sequenceID);
|
||||||
packet = (ParcelOverlayPacket) PacketPool.Instance.GetPacket(PacketType.ParcelOverlay);
|
byteArrayCount = 0;
|
||||||
packet.ParcelData.Data = byteArray;
|
|
||||||
packet.ParcelData.SequenceID = sequenceID;
|
|
||||||
remote_client.OutPacket(packet, ThrottleOutPacketType.Task);
|
|
||||||
sequenceID++;
|
sequenceID++;
|
||||||
byteArray = new byte[LAND_BLOCKS_PER_PACKET];
|
byteArray = new byte[LAND_BLOCKS_PER_PACKET];
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
||||||
|
|
||||||
public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client)
|
public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client)
|
||||||
{
|
{
|
||||||
remote_client.sendLandProperties(remote_client, sequence_id, snap_selection, request_result, landData, m_scene.RegionInfo.EstateSettings.objectBonusFactor, m_scene.objectCapacity);
|
remote_client.sendLandProperties(remote_client, sequence_id, snap_selection, request_result, landData, m_scene.RegionInfo.EstateSettings.objectBonusFactor, m_scene.objectCapacity,(uint) m_scene.RegionInfo.EstateSettings.regionFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client)
|
public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client)
|
||||||
|
|
|
@ -502,7 +502,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendRegionHandshake(RegionInfo regionInfo)
|
public virtual void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
|
||||||
{
|
{
|
||||||
if (OnRegionHandShakeReply != null)
|
if (OnRegionHandShakeReply != null)
|
||||||
{
|
{
|
||||||
|
@ -637,20 +637,20 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendEstateManagersList(LLUUID invoice)
|
public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public void sendRegionInfoToEstateMenu()
|
public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public void sendEstateCovenantInformation()
|
public void sendEstateCovenantInformation()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public void sendDetailedEstateData(LLUUID invoice)
|
public void sendDetailedEstateData(LLUUID invoice, string estateName, uint estateID)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity)
|
public void sendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity, uint regionFlags)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID)
|
public void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID)
|
||||||
|
@ -662,5 +662,8 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
public void sendLandObjectOwners(Dictionary<LLUUID, int> ownersAndCount)
|
public void sendLandObjectOwners(Dictionary<LLUUID, int> ownersAndCount)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
public void sendLandParcelOverlay(byte[] data, int sequence_id)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue