* Moved script packet handlers from 'unimplemented' to 'Script Packets'
parent
35f5db2a1c
commit
b1b529f94e
|
@ -42,12 +42,12 @@ using OpenSim.Framework.Communications.Cache;
|
||||||
using OpenSim.Framework.Statistics;
|
using OpenSim.Framework.Statistics;
|
||||||
using OpenSim.Region.ClientStack.LindenUDP;
|
using OpenSim.Region.ClientStack.LindenUDP;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
using Timer=System.Timers.Timer;
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.LindenUDP
|
namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
public delegate bool PacketMethod(IClientAPI simClient, Packet packet);
|
public delegate bool PacketMethod(IClientAPI simClient, Packet packet);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class that keeps track of past packets so that they don't get
|
/// Class that keeps track of past packets so that they don't get
|
||||||
|
@ -727,7 +727,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_log.WarnFormat(
|
m_log.WarnFormat(
|
||||||
"[CLIENT]: New user request denied to avatar {0} connecting with circuit code {1} from {2}",
|
"[CLIENT]: New user request denied to avatar {0} connecting with circuit code {1} from {2}",
|
||||||
m_agentId, m_circuitCode, m_userEndPoint);
|
m_agentId, m_circuitCode, m_userEndPoint);
|
||||||
|
|
||||||
m_packetQueue.Close();
|
m_packetQueue.Close();
|
||||||
m_clientThread.Abort();
|
m_clientThread.Abort();
|
||||||
}
|
}
|
||||||
|
@ -742,7 +742,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
m_secureSessionId = sessionInfo.LoginInfo.SecureSession;
|
m_secureSessionId = sessionInfo.LoginInfo.SecureSession;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This sets up all the timers
|
// This sets up all the timers
|
||||||
InitNewClient();
|
InitNewClient();
|
||||||
|
|
||||||
|
@ -753,24 +753,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
if (e is ThreadAbortException)
|
if (e is ThreadAbortException)
|
||||||
throw e;
|
throw e;
|
||||||
|
|
||||||
if (StatsManager.SimExtraStats != null)
|
if (StatsManager.SimExtraStats != null)
|
||||||
StatsManager.SimExtraStats.AddAbnormalClientThreadTermination();
|
StatsManager.SimExtraStats.AddAbnormalClientThreadTermination();
|
||||||
|
|
||||||
// Don't let a failure in an individual client thread crash the whole sim.
|
// Don't let a failure in an individual client thread crash the whole sim.
|
||||||
m_log.ErrorFormat("[CLIENT]: Client thread for {0} {1} crashed. Logging them out. Exception {2}", Name, AgentId, e);
|
m_log.ErrorFormat("[CLIENT]: Client thread for {0} {1} crashed. Logging them out. Exception {2}", Name, AgentId, e);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Make an attempt to alert the user that their session has crashed
|
// Make an attempt to alert the user that their session has crashed
|
||||||
AgentAlertMessagePacket packet
|
AgentAlertMessagePacket packet
|
||||||
= BuildAgentAlertPacket(
|
= BuildAgentAlertPacket(
|
||||||
"Unfortunately the session for this client on the server has crashed.\n"
|
"Unfortunately the session for this client on the server has crashed.\n"
|
||||||
+ "Any further actions taken will not be processed.\n"
|
+ "Any further actions taken will not be processed.\n"
|
||||||
+ "Please relog", true);
|
+ "Please relog", true);
|
||||||
|
|
||||||
ProcessOutPacket(packet);
|
ProcessOutPacket(packet);
|
||||||
|
|
||||||
// There may be a better way to do this. Perhaps kick? Not sure this propogates notifications to
|
// There may be a better way to do this. Perhaps kick? Not sure this propogates notifications to
|
||||||
// listeners yet, though.
|
// listeners yet, though.
|
||||||
Logout(this);
|
Logout(this);
|
||||||
|
@ -779,7 +779,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
if (e2 is ThreadAbortException)
|
if (e2 is ThreadAbortException)
|
||||||
throw e2;
|
throw e2;
|
||||||
|
|
||||||
m_log.ErrorFormat("[CLIENT]: Further exception thrown on forced session logout. {0}", e2);
|
m_log.ErrorFormat("[CLIENT]: Further exception thrown on forced session logout. {0}", e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1108,7 +1108,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
private void DoSendLayerData(object o)
|
private void DoSendLayerData(object o)
|
||||||
{
|
{
|
||||||
float[] map = (float[])o;
|
float[] map = (float[])o;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
for (int y = 0; y < 16; y++)
|
for (int y = 0; y < 16; y++)
|
||||||
|
@ -1120,10 +1120,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// SendLayerPacket(map, y, x);
|
// SendLayerPacket(map, y, x);
|
||||||
// Thread.Sleep(150);
|
// Thread.Sleep(150);
|
||||||
//}
|
//}
|
||||||
for (int x= 0; x < 16; x++)
|
for (int x = 0; x < 16; x++)
|
||||||
{
|
{
|
||||||
SendLayerData(x, y, map);
|
SendLayerData(x, y, map);
|
||||||
Thread.Sleep(35);
|
Thread.Sleep(35);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1278,15 +1278,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
public void SendMapBlock(List<MapBlockData> mapBlocks, uint flag)
|
public void SendMapBlock(List<MapBlockData> mapBlocks, uint flag)
|
||||||
{
|
{
|
||||||
|
|
||||||
MapBlockData[] mapBlocks2 = mapBlocks.ToArray();
|
MapBlockData[] mapBlocks2 = mapBlocks.ToArray();
|
||||||
|
|
||||||
int maxsend = 10;
|
int maxsend = 10;
|
||||||
|
|
||||||
//int packets = Math.Ceiling(mapBlocks2.Length / maxsend);
|
//int packets = Math.Ceiling(mapBlocks2.Length / maxsend);
|
||||||
|
|
||||||
List<MapBlockData> sendingBlocks = new List<MapBlockData>();
|
List<MapBlockData> sendingBlocks = new List<MapBlockData>();
|
||||||
|
|
||||||
for (int i = 0; i < mapBlocks2.Length; i++)
|
for (int i = 0; i < mapBlocks2.Length; i++)
|
||||||
{
|
{
|
||||||
sendingBlocks.Add(mapBlocks2[i]);
|
sendingBlocks.Add(mapBlocks2[i]);
|
||||||
|
@ -1389,14 +1389,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
payPriceReply.ObjectData.ObjectID = objectID;
|
payPriceReply.ObjectData.ObjectID = objectID;
|
||||||
payPriceReply.ObjectData.DefaultPayPrice = payPrice[0];
|
payPriceReply.ObjectData.DefaultPayPrice = payPrice[0];
|
||||||
|
|
||||||
payPriceReply.ButtonData=new PayPriceReplyPacket.ButtonDataBlock[4];
|
payPriceReply.ButtonData = new PayPriceReplyPacket.ButtonDataBlock[4];
|
||||||
payPriceReply.ButtonData[0]=new PayPriceReplyPacket.ButtonDataBlock();
|
payPriceReply.ButtonData[0] = new PayPriceReplyPacket.ButtonDataBlock();
|
||||||
payPriceReply.ButtonData[0].PayButton = payPrice[1];
|
payPriceReply.ButtonData[0].PayButton = payPrice[1];
|
||||||
payPriceReply.ButtonData[1]=new PayPriceReplyPacket.ButtonDataBlock();
|
payPriceReply.ButtonData[1] = new PayPriceReplyPacket.ButtonDataBlock();
|
||||||
payPriceReply.ButtonData[1].PayButton = payPrice[2];
|
payPriceReply.ButtonData[1].PayButton = payPrice[2];
|
||||||
payPriceReply.ButtonData[2]=new PayPriceReplyPacket.ButtonDataBlock();
|
payPriceReply.ButtonData[2] = new PayPriceReplyPacket.ButtonDataBlock();
|
||||||
payPriceReply.ButtonData[2].PayButton = payPrice[3];
|
payPriceReply.ButtonData[2].PayButton = payPrice[3];
|
||||||
payPriceReply.ButtonData[3]=new PayPriceReplyPacket.ButtonDataBlock();
|
payPriceReply.ButtonData[3] = new PayPriceReplyPacket.ButtonDataBlock();
|
||||||
payPriceReply.ButtonData[3].PayButton = payPrice[4];
|
payPriceReply.ButtonData[3].PayButton = payPrice[4];
|
||||||
|
|
||||||
OutPacket(payPriceReply, ThrottleOutPacketType.Task);
|
OutPacket(payPriceReply, ThrottleOutPacketType.Task);
|
||||||
|
@ -1448,8 +1448,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// 6 to 7 items at a time, so let's stick with 6
|
// 6 to 7 items at a time, so let's stick with 6
|
||||||
int MAX_ITEMS_PER_PACKET = 6;
|
int MAX_ITEMS_PER_PACKET = 6;
|
||||||
|
|
||||||
//Ckrinke This variable is not used, so comment out to remove the warning from the compiler (3-21-08)
|
//Ckrinke This variable is not used, so comment out to remove the warning from the compiler (3-21-08)
|
||||||
//Ckrinke uint FULL_MASK_PERMISSIONS = 2147483647;
|
//Ckrinke uint FULL_MASK_PERMISSIONS = 2147483647;
|
||||||
|
|
||||||
if (fetchItems)
|
if (fetchItems)
|
||||||
{
|
{
|
||||||
|
@ -1576,7 +1576,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
descend.FolderData[i].FolderID = folder.ID;
|
descend.FolderData[i].FolderID = folder.ID;
|
||||||
descend.FolderData[i].Name = Helpers.StringToField(folder.Name);
|
descend.FolderData[i].Name = Helpers.StringToField(folder.Name);
|
||||||
descend.FolderData[i].ParentID = folder.ParentID;
|
descend.FolderData[i].ParentID = folder.ParentID;
|
||||||
descend.FolderData[i].Type = (sbyte) folder.Type;
|
descend.FolderData[i].Type = (sbyte)folder.Type;
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
count++;
|
count++;
|
||||||
|
@ -1902,7 +1902,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
OutPacket(BuildAgentAlertPacket(message, modal), ThrottleOutPacketType.Task);
|
OutPacket(BuildAgentAlertPacket(message, modal), ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Construct an agent alert packet
|
/// Construct an agent alert packet
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1915,7 +1915,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
alertPack.AgentData.AgentID = AgentId;
|
alertPack.AgentData.AgentID = AgentId;
|
||||||
alertPack.AlertData.Message = Helpers.StringToField(message);
|
alertPack.AlertData.Message = Helpers.StringToField(message);
|
||||||
alertPack.AlertData.Modal = modal;
|
alertPack.AlertData.Modal = modal;
|
||||||
|
|
||||||
return alertPack;
|
return alertPack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2003,13 +2003,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public void SendSunPos(LLVector3 Position, LLVector3 Velocity, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
|
public void SendSunPos(LLVector3 Position, LLVector3 Velocity, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
|
||||||
{
|
{
|
||||||
SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket)PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage);
|
SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket)PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage);
|
||||||
viewertime.TimeInfo.SunDirection = Position;
|
viewertime.TimeInfo.SunDirection = Position;
|
||||||
viewertime.TimeInfo.SunAngVelocity = Velocity;
|
viewertime.TimeInfo.SunAngVelocity = Velocity;
|
||||||
viewertime.TimeInfo.UsecSinceStart = CurrentTime;
|
viewertime.TimeInfo.UsecSinceStart = CurrentTime;
|
||||||
viewertime.TimeInfo.SecPerDay = SecondsPerSunCycle;
|
viewertime.TimeInfo.SecPerDay = SecondsPerSunCycle;
|
||||||
viewertime.TimeInfo.SecPerYear = SecondsPerYear;
|
viewertime.TimeInfo.SecPerYear = SecondsPerYear;
|
||||||
viewertime.TimeInfo.SunPhase = OrbitalPosition;
|
viewertime.TimeInfo.SunPhase = OrbitalPosition;
|
||||||
viewertime.Header.Reliable = false;
|
viewertime.Header.Reliable = false;
|
||||||
viewertime.Header.Zerocoded = true;
|
viewertime.Header.Zerocoded = true;
|
||||||
OutPacket(viewertime, ThrottleOutPacketType.Task);
|
OutPacket(viewertime, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
@ -2296,7 +2296,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
SendPrimitiveToClient(regionHandle, timeDilation, localID, primShape, pos, vel,
|
SendPrimitiveToClient(regionHandle, timeDilation, localID, primShape, pos, vel,
|
||||||
acc, rotation, rvel, flags,
|
acc, rotation, rvel, flags,
|
||||||
objectID, ownerID, text, color, parentID, particleSystem,
|
objectID, ownerID, text, color, parentID, particleSystem,
|
||||||
clickAction, textureanim, false,(uint)0, LLUUID.Zero, LLUUID.Zero,0,0,0);
|
clickAction, textureanim, false, (uint)0, LLUUID.Zero, LLUUID.Zero, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendPrimitiveToClient(
|
public void SendPrimitiveToClient(
|
||||||
|
@ -2485,13 +2485,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
public void SendSimStats(Packet pack)
|
public void SendSimStats(Packet pack)
|
||||||
{
|
{
|
||||||
pack.Header.Reliable = false;
|
pack.Header.Reliable = false;
|
||||||
OutPacket(pack, ThrottleOutPacketType.Task);
|
OutPacket(pack, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendObjectPropertiesFamilyData(uint RequestFlags, LLUUID ObjectUUID, LLUUID OwnerID, LLUUID GroupID,
|
public void SendObjectPropertiesFamilyData(uint RequestFlags, LLUUID ObjectUUID, LLUUID OwnerID, LLUUID GroupID,
|
||||||
uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask,
|
uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask,
|
||||||
uint NextOwnerMask, int OwnershipCost, byte SaleType,int SalePrice, uint Category,
|
uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice, uint Category,
|
||||||
LLUUID LastOwnerID, string ObjectName, string Description)
|
LLUUID LastOwnerID, string ObjectName, string Description)
|
||||||
{
|
{
|
||||||
ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket)PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily);
|
ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket)PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily);
|
||||||
|
@ -2621,7 +2621,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
continue;
|
continue;
|
||||||
BannedUsers[i] = bl[i].bannedUUID;
|
BannedUsers[i] = bl[i].bannedUUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
|
||||||
packet.AgentData.TransactionID = LLUUID.Random();
|
packet.AgentData.TransactionID = LLUUID.Random();
|
||||||
packet.AgentData.AgentID = this.AgentId;
|
packet.AgentData.AgentID = this.AgentId;
|
||||||
|
@ -2659,10 +2659,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
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 =args.billableFactor;
|
rinfoblk.BillableFactor = args.billableFactor;
|
||||||
rinfoblk.EstateID = args.estateID;
|
rinfoblk.EstateID = args.estateID;
|
||||||
rinfoblk.MaxAgents = args.maxAgents;
|
rinfoblk.MaxAgents = args.maxAgents;
|
||||||
rinfoblk.ObjectBonusFactor =args.objectBonusFactor;
|
rinfoblk.ObjectBonusFactor = args.objectBonusFactor;
|
||||||
rinfoblk.ParentEstateID = args.parentEstateID;
|
rinfoblk.ParentEstateID = args.parentEstateID;
|
||||||
rinfoblk.PricePerMeter = args.pricePerMeter;
|
rinfoblk.PricePerMeter = args.pricePerMeter;
|
||||||
rinfoblk.RedirectGridX = args.redirectGridX;
|
rinfoblk.RedirectGridX = args.redirectGridX;
|
||||||
|
@ -2741,9 +2741,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
this.OutPacket(packet, ThrottleOutPacketType.Task);
|
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 parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
|
public void sendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, 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
|
||||||
|
|
||||||
updatePacket.ParcelData.AABBMax = landData.AABBMax;
|
updatePacket.ParcelData.AABBMax = landData.AABBMax;
|
||||||
|
@ -2755,13 +2755,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
updatePacket.ParcelData.Bitmap = landData.landBitmapByteArray;
|
updatePacket.ParcelData.Bitmap = landData.landBitmapByteArray;
|
||||||
|
|
||||||
updatePacket.ParcelData.Desc = Helpers.StringToField(landData.landDesc);
|
updatePacket.ParcelData.Desc = Helpers.StringToField(landData.landDesc);
|
||||||
updatePacket.ParcelData.Category = (byte) landData.category;
|
updatePacket.ParcelData.Category = (byte)landData.category;
|
||||||
updatePacket.ParcelData.ClaimDate = landData.claimDate;
|
updatePacket.ParcelData.ClaimDate = landData.claimDate;
|
||||||
updatePacket.ParcelData.ClaimPrice = landData.claimPrice;
|
updatePacket.ParcelData.ClaimPrice = landData.claimPrice;
|
||||||
updatePacket.ParcelData.GroupID = landData.groupID;
|
updatePacket.ParcelData.GroupID = landData.groupID;
|
||||||
updatePacket.ParcelData.GroupPrims = landData.groupPrims;
|
updatePacket.ParcelData.GroupPrims = landData.groupPrims;
|
||||||
updatePacket.ParcelData.IsGroupOwned = landData.isGroupOwned;
|
updatePacket.ParcelData.IsGroupOwned = landData.isGroupOwned;
|
||||||
updatePacket.ParcelData.LandingType = (byte) landData.landingType;
|
updatePacket.ParcelData.LandingType = (byte)landData.landingType;
|
||||||
updatePacket.ParcelData.LocalID = landData.localID;
|
updatePacket.ParcelData.LocalID = landData.localID;
|
||||||
if (landData.area > 0)
|
if (landData.area > 0)
|
||||||
{
|
{
|
||||||
|
@ -2787,13 +2787,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
updatePacket.ParcelData.PassPrice = landData.passPrice;
|
updatePacket.ParcelData.PassPrice = landData.passPrice;
|
||||||
updatePacket.ParcelData.PublicCount = 0; //unemplemented
|
updatePacket.ParcelData.PublicCount = 0; //unemplemented
|
||||||
|
|
||||||
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) >
|
||||||
0);
|
0);
|
||||||
updatePacket.ParcelData.RegionDenyTransacted = ((regionFlags & (uint) Simulator.RegionFlags.DenyTransacted) >
|
updatePacket.ParcelData.RegionDenyTransacted = ((regionFlags & (uint)Simulator.RegionFlags.DenyTransacted) >
|
||||||
0);
|
0);
|
||||||
updatePacket.ParcelData.RegionPushOverride = ((regionFlags & (uint) Simulator.RegionFlags.RestrictPushObject) >
|
updatePacket.ParcelData.RegionPushOverride = ((regionFlags & (uint)Simulator.RegionFlags.RestrictPushObject) >
|
||||||
0);
|
0);
|
||||||
|
|
||||||
updatePacket.ParcelData.RentPrice = 0;
|
updatePacket.ParcelData.RentPrice = 0;
|
||||||
|
@ -2813,13 +2813,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
updatePacket.ParcelData.SimWideTotalPrims = landData.simwidePrims;
|
updatePacket.ParcelData.SimWideTotalPrims = landData.simwidePrims;
|
||||||
updatePacket.ParcelData.SnapSelection = snap_selection;
|
updatePacket.ParcelData.SnapSelection = snap_selection;
|
||||||
updatePacket.ParcelData.SnapshotID = landData.snapshotID;
|
updatePacket.ParcelData.SnapshotID = landData.snapshotID;
|
||||||
updatePacket.ParcelData.Status = (byte) landData.landStatus;
|
updatePacket.ParcelData.Status = (byte)landData.landStatus;
|
||||||
updatePacket.ParcelData.TotalPrims = landData.ownerPrims + landData.groupPrims + landData.otherPrims +
|
updatePacket.ParcelData.TotalPrims = landData.ownerPrims + landData.groupPrims + landData.otherPrims +
|
||||||
landData.selectedPrims;
|
landData.selectedPrims;
|
||||||
updatePacket.ParcelData.UserLocation = landData.userLocation;
|
updatePacket.ParcelData.UserLocation = landData.userLocation;
|
||||||
updatePacket.ParcelData.UserLookAt = landData.userLookAt;
|
updatePacket.ParcelData.UserLookAt = landData.userLookAt;
|
||||||
updatePacket.Header.Zerocoded = true;
|
updatePacket.Header.Zerocoded = true;
|
||||||
remote_client.OutPacket((Packet) updatePacket, ThrottleOutPacketType.Task);
|
remote_client.OutPacket((Packet)updatePacket, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID)
|
public void sendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID)
|
||||||
|
@ -3330,14 +3330,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack)
|
private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
UUIDGroupNameRequestPacket upack = (UUIDGroupNameRequestPacket) Pack;
|
UUIDGroupNameRequestPacket upack = (UUIDGroupNameRequestPacket)Pack;
|
||||||
|
|
||||||
for (int i=0;i< upack.UUIDNameBlock.Length; i++)
|
for (int i = 0; i < upack.UUIDNameBlock.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUUIDGroupNameRequest = OnUUIDGroupNameRequest;
|
handlerUUIDGroupNameRequest = OnUUIDGroupNameRequest;
|
||||||
if (handlerUUIDGroupNameRequest != null)
|
if (handlerUUIDGroupNameRequest != null)
|
||||||
{
|
{
|
||||||
handlerUUIDGroupNameRequest(upack.UUIDNameBlock[i].ID,this);
|
handlerUUIDGroupNameRequest(upack.UUIDNameBlock[i].ID, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3421,7 +3421,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
return Logout(client);
|
return Logout(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -3754,7 +3754,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_needAck.Add(Pack.Header.Sequence, Pack);
|
m_needAck.Add(Pack.Header.Sequence, Pack);
|
||||||
m_unAckedBytes += Pack.ToBytes().Length;
|
m_unAckedBytes += Pack.ToBytes().Length;
|
||||||
}
|
}
|
||||||
//BUG: severity=major - This looks like a framework bug!?
|
//BUG: severity=major - This looks like a framework bug!?
|
||||||
catch (Exception) // HACKY
|
catch (Exception) // HACKY
|
||||||
{
|
{
|
||||||
// Ignore
|
// Ignore
|
||||||
|
@ -3777,7 +3777,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="Pack"></param>
|
/// <param name="Pack"></param>
|
||||||
protected virtual void SetPendingAcks(ref Packet Pack)
|
protected virtual void SetPendingAcks(ref Packet Pack)
|
||||||
{
|
{
|
||||||
|
|
||||||
lock (m_pendingAcks)
|
lock (m_pendingAcks)
|
||||||
{
|
{
|
||||||
// TODO: If we are over MAX_APPENDED_ACKS we should drain off some of these
|
// TODO: If we are over MAX_APPENDED_ACKS we should drain off some of these
|
||||||
|
@ -3919,7 +3919,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The dreaded OutPacket. This should only be called from withink the ClientStack itself right now
|
/// The dreaded OutPacket. This should only be called from withink the ClientStack itself right now
|
||||||
/// This is the entry point for simulator packets to go out to the client.
|
/// This is the entry point for simulator packets to go out to the client.
|
||||||
|
@ -4127,9 +4127,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
uint regionX = 0;
|
uint regionX = 0;
|
||||||
uint regionY = 0;
|
uint regionY = 0;
|
||||||
try
|
try
|
||||||
|
|
||||||
{
|
{
|
||||||
Helpers.LongToUInts(Scene.RegionInfo.RegionHandle,out regionX, out regionY);
|
Helpers.LongToUInts(Scene.RegionInfo.RegionHandle, out regionX, out regionY);
|
||||||
locx = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[0].Parameter)) - (float)regionX;
|
locx = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[0].Parameter)) - (float)regionX;
|
||||||
locy = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[1].Parameter)) - (float)regionY;
|
locy = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[1].Parameter)) - (float)regionY;
|
||||||
locz = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[2].Parameter));
|
locz = Convert.ToSingle(Helpers.FieldToUTF8String(gmParams[2].Parameter));
|
||||||
|
@ -4149,7 +4148,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_log.Debug("[CLIENT]: Unknown Generic Message, Method: " + gmMethod + ". Invoice: " + gmInvoice.ToString() + ". Dumping Params:");
|
m_log.Debug("[CLIENT]: Unknown Generic Message, Method: " + gmMethod + ". Invoice: " + gmInvoice.ToString() + ". Dumping Params:");
|
||||||
for (int hi = 0; hi < gmParams.Length; hi++)
|
for (int hi = 0; hi < gmParams.Length; hi++)
|
||||||
{
|
{
|
||||||
|
@ -4170,7 +4169,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
// always ack the packet!
|
// always ack the packet!
|
||||||
ack_pack(Pack);
|
ack_pack(Pack);
|
||||||
|
|
||||||
// check for duplicate packets.. packets that the client is
|
// check for duplicate packets.. packets that the client is
|
||||||
// resending because it didn't receive our ack
|
// resending because it didn't receive our ack
|
||||||
|
|
||||||
|
@ -4190,7 +4189,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_dupeLimiter.Add(Pack.Header.Sequence, pkdedupe);
|
m_dupeLimiter.Add(Pack.Header.Sequence, pkdedupe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if we've got a local packet handler for this packet.type. See RegisterLocalPacketHandlers()
|
// check if we've got a local packet handler for this packet.type. See RegisterLocalPacketHandlers()
|
||||||
if (ProcessPacketMethod(Pack))
|
if (ProcessPacketMethod(Pack))
|
||||||
{
|
{
|
||||||
|
@ -4206,9 +4205,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
case PacketType.GenericMessage:
|
case PacketType.GenericMessage:
|
||||||
GenericMessagePacket gmpack = (GenericMessagePacket)Pack;
|
GenericMessagePacket gmpack = (GenericMessagePacket)Pack;
|
||||||
|
|
||||||
DecipherGenericMessage(Helpers.FieldToUTF8String(gmpack.MethodData.Method),gmpack.MethodData.Invoice,gmpack.ParamList);
|
DecipherGenericMessage(Helpers.FieldToUTF8String(gmpack.MethodData.Method), gmpack.MethodData.Invoice, gmpack.ParamList);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case PacketType.AvatarPropertiesRequest:
|
case PacketType.AvatarPropertiesRequest:
|
||||||
AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack;
|
AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack;
|
||||||
|
@ -4511,7 +4510,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
handlerObjectDetach = OnObjectDetach;
|
handlerObjectDetach = OnObjectDetach;
|
||||||
if (handlerObjectDetach != null)
|
if (handlerObjectDetach != null)
|
||||||
{
|
{
|
||||||
handlerObjectDetach(obj,this);
|
handlerObjectDetach(obj, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4541,18 +4540,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
AgentUpdatePacket.AgentDataBlock x = agenUpdate.AgentData;
|
AgentUpdatePacket.AgentDataBlock x = agenUpdate.AgentData;
|
||||||
AgentUpdateArgs arg = new AgentUpdateArgs();
|
AgentUpdateArgs arg = new AgentUpdateArgs();
|
||||||
arg.AgentID = x.AgentID;
|
arg.AgentID = x.AgentID;
|
||||||
arg.BodyRotation = x.BodyRotation;
|
arg.BodyRotation = x.BodyRotation;
|
||||||
arg.CameraAtAxis = x.CameraAtAxis;
|
arg.CameraAtAxis = x.CameraAtAxis;
|
||||||
arg.CameraCenter = x.CameraCenter;
|
arg.CameraCenter = x.CameraCenter;
|
||||||
arg.CameraLeftAxis = x.CameraLeftAxis;
|
arg.CameraLeftAxis = x.CameraLeftAxis;
|
||||||
arg.CameraUpAxis = x.CameraUpAxis;
|
arg.CameraUpAxis = x.CameraUpAxis;
|
||||||
arg.ControlFlags = x.ControlFlags;
|
arg.ControlFlags = x.ControlFlags;
|
||||||
arg.Far = x.Far;
|
arg.Far = x.Far;
|
||||||
arg.Flags = x.Flags;
|
arg.Flags = x.Flags;
|
||||||
arg.HeadRotation = x.HeadRotation;
|
arg.HeadRotation = x.HeadRotation;
|
||||||
arg.SessionID = x.SessionID;
|
arg.SessionID = x.SessionID;
|
||||||
arg.State = x.State;
|
arg.State = x.State;
|
||||||
|
|
||||||
handlerAgentUpdate = OnAgentUpdate;
|
handlerAgentUpdate = OnAgentUpdate;
|
||||||
if (handlerAgentUpdate != null)
|
if (handlerAgentUpdate != null)
|
||||||
|
@ -4842,7 +4841,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectPositionPacket position = (ObjectPositionPacket)Pack;
|
ObjectPositionPacket position = (ObjectPositionPacket)Pack;
|
||||||
|
|
||||||
for (int i=0; i<position.ObjectData.Length; i++)
|
for (int i = 0; i < position.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdateVector = OnUpdatePrimGroupPosition;
|
handlerUpdateVector = OnUpdatePrimGroupPosition;
|
||||||
if (handlerUpdateVector != null)
|
if (handlerUpdateVector != null)
|
||||||
|
@ -4854,7 +4853,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectScalePacket scale = (ObjectScalePacket)Pack;
|
ObjectScalePacket scale = (ObjectScalePacket)Pack;
|
||||||
|
|
||||||
for (int i=0; i<scale.ObjectData.Length; i++)
|
for (int i = 0; i < scale.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdatePrimGroupScale = OnUpdatePrimGroupScale;
|
handlerUpdatePrimGroupScale = OnUpdatePrimGroupScale;
|
||||||
if (handlerUpdatePrimGroupScale != null)
|
if (handlerUpdatePrimGroupScale != null)
|
||||||
|
@ -4866,7 +4865,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectRotationPacket rotation = (ObjectRotationPacket)Pack;
|
ObjectRotationPacket rotation = (ObjectRotationPacket)Pack;
|
||||||
|
|
||||||
for (int i=0; i<rotation.ObjectData.Length; i++)
|
for (int i = 0; i < rotation.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdatePrimRotation = OnUpdatePrimGroupRotation;
|
handlerUpdatePrimRotation = OnUpdatePrimGroupRotation;
|
||||||
if (handlerUpdatePrimRotation != null)
|
if (handlerUpdatePrimRotation != null)
|
||||||
|
@ -5415,26 +5414,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
handlerUpdateTaskInventory = OnUpdateTaskInventory;
|
handlerUpdateTaskInventory = OnUpdateTaskInventory;
|
||||||
if (handlerUpdateTaskInventory != null)
|
if (handlerUpdateTaskInventory != null)
|
||||||
{
|
{
|
||||||
TaskInventoryItem newTaskItem=new TaskInventoryItem();
|
TaskInventoryItem newTaskItem = new TaskInventoryItem();
|
||||||
newTaskItem.ItemID=updatetask.InventoryData.ItemID;
|
newTaskItem.ItemID = updatetask.InventoryData.ItemID;
|
||||||
newTaskItem.ParentID=updatetask.InventoryData.FolderID;
|
newTaskItem.ParentID = updatetask.InventoryData.FolderID;
|
||||||
newTaskItem.CreatorID=updatetask.InventoryData.CreatorID;
|
newTaskItem.CreatorID = updatetask.InventoryData.CreatorID;
|
||||||
newTaskItem.OwnerID=updatetask.InventoryData.OwnerID;
|
newTaskItem.OwnerID = updatetask.InventoryData.OwnerID;
|
||||||
newTaskItem.GroupID=updatetask.InventoryData.GroupID;
|
newTaskItem.GroupID = updatetask.InventoryData.GroupID;
|
||||||
newTaskItem.BaseMask=updatetask.InventoryData.BaseMask;
|
newTaskItem.BaseMask = updatetask.InventoryData.BaseMask;
|
||||||
newTaskItem.OwnerMask=updatetask.InventoryData.OwnerMask;
|
newTaskItem.OwnerMask = updatetask.InventoryData.OwnerMask;
|
||||||
newTaskItem.GroupMask=updatetask.InventoryData.GroupMask;
|
newTaskItem.GroupMask = updatetask.InventoryData.GroupMask;
|
||||||
newTaskItem.EveryoneMask=updatetask.InventoryData.EveryoneMask;
|
newTaskItem.EveryoneMask = updatetask.InventoryData.EveryoneMask;
|
||||||
newTaskItem.NextOwnerMask=updatetask.InventoryData.NextOwnerMask;
|
newTaskItem.NextOwnerMask = updatetask.InventoryData.NextOwnerMask;
|
||||||
//newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned;
|
//newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned;
|
||||||
newTaskItem.Type=updatetask.InventoryData.Type;
|
newTaskItem.Type = updatetask.InventoryData.Type;
|
||||||
newTaskItem.InvType=updatetask.InventoryData.InvType;
|
newTaskItem.InvType = updatetask.InventoryData.InvType;
|
||||||
newTaskItem.Flags=updatetask.InventoryData.Flags;
|
newTaskItem.Flags = updatetask.InventoryData.Flags;
|
||||||
//newTaskItem.SaleType=updatetask.InventoryData.SaleType;
|
//newTaskItem.SaleType=updatetask.InventoryData.SaleType;
|
||||||
//newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;;
|
//newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;;
|
||||||
newTaskItem.Name=Util.FieldToString(updatetask.InventoryData.Name);
|
newTaskItem.Name = Util.FieldToString(updatetask.InventoryData.Name);
|
||||||
newTaskItem.Description=Util.FieldToString(updatetask.InventoryData.Description);
|
newTaskItem.Description = Util.FieldToString(updatetask.InventoryData.Description);
|
||||||
newTaskItem.CreationDate=(uint)updatetask.InventoryData.CreationDate;
|
newTaskItem.CreationDate = (uint)updatetask.InventoryData.CreationDate;
|
||||||
handlerUpdateTaskInventory(this, updatetask.InventoryData.TransactionID,
|
handlerUpdateTaskInventory(this, updatetask.InventoryData.TransactionID,
|
||||||
newTaskItem, updatetask.UpdateData.LocalID);
|
newTaskItem, updatetask.UpdateData.LocalID);
|
||||||
}
|
}
|
||||||
|
@ -5478,25 +5477,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
RezScriptPacket rezScriptx = (RezScriptPacket)Pack;
|
RezScriptPacket rezScriptx = (RezScriptPacket)Pack;
|
||||||
|
|
||||||
handlerRezScript = OnRezScript;
|
handlerRezScript = OnRezScript;
|
||||||
InventoryItemBase item=new InventoryItemBase();
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
item.ID=rezScriptx.InventoryBlock.ItemID;
|
item.ID = rezScriptx.InventoryBlock.ItemID;
|
||||||
item.Folder=rezScriptx.InventoryBlock.FolderID;
|
item.Folder = rezScriptx.InventoryBlock.FolderID;
|
||||||
item.Creator=rezScriptx.InventoryBlock.CreatorID;
|
item.Creator = rezScriptx.InventoryBlock.CreatorID;
|
||||||
item.Owner=rezScriptx.InventoryBlock.OwnerID;
|
item.Owner = rezScriptx.InventoryBlock.OwnerID;
|
||||||
item.BasePermissions=rezScriptx.InventoryBlock.BaseMask;
|
item.BasePermissions = rezScriptx.InventoryBlock.BaseMask;
|
||||||
item.CurrentPermissions=rezScriptx.InventoryBlock.OwnerMask;
|
item.CurrentPermissions = rezScriptx.InventoryBlock.OwnerMask;
|
||||||
item.EveryOnePermissions=rezScriptx.InventoryBlock.EveryoneMask;
|
item.EveryOnePermissions = rezScriptx.InventoryBlock.EveryoneMask;
|
||||||
item.NextPermissions=rezScriptx.InventoryBlock.NextOwnerMask;
|
item.NextPermissions = rezScriptx.InventoryBlock.NextOwnerMask;
|
||||||
item.GroupOwned=rezScriptx.InventoryBlock.GroupOwned;
|
item.GroupOwned = rezScriptx.InventoryBlock.GroupOwned;
|
||||||
item.GroupID=rezScriptx.InventoryBlock.GroupID;
|
item.GroupID = rezScriptx.InventoryBlock.GroupID;
|
||||||
item.AssetType=rezScriptx.InventoryBlock.Type;
|
item.AssetType = rezScriptx.InventoryBlock.Type;
|
||||||
item.InvType=rezScriptx.InventoryBlock.InvType;
|
item.InvType = rezScriptx.InventoryBlock.InvType;
|
||||||
item.Flags=rezScriptx.InventoryBlock.Flags;
|
item.Flags = rezScriptx.InventoryBlock.Flags;
|
||||||
item.SaleType=rezScriptx.InventoryBlock.SaleType;
|
item.SaleType = rezScriptx.InventoryBlock.SaleType;
|
||||||
item.SalePrice=rezScriptx.InventoryBlock.SalePrice;
|
item.SalePrice = rezScriptx.InventoryBlock.SalePrice;
|
||||||
item.Name=Util.FieldToString(rezScriptx.InventoryBlock.Name);
|
item.Name = Util.FieldToString(rezScriptx.InventoryBlock.Name);
|
||||||
item.Description=Util.FieldToString(rezScriptx.InventoryBlock.Description);
|
item.Description = Util.FieldToString(rezScriptx.InventoryBlock.Description);
|
||||||
item.CreationDate=(int)rezScriptx.InventoryBlock.CreationDate;
|
item.CreationDate = (int)rezScriptx.InventoryBlock.CreationDate;
|
||||||
|
|
||||||
if (handlerRezScript != null)
|
if (handlerRezScript != null)
|
||||||
{
|
{
|
||||||
|
@ -5564,7 +5563,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
handlerTeleportHomeRequest = OnTeleportHomeRequest;
|
handlerTeleportHomeRequest = OnTeleportHomeRequest;
|
||||||
if (handlerTeleportHomeRequest != null)
|
if (handlerTeleportHomeRequest != null)
|
||||||
{
|
{
|
||||||
handlerTeleportHomeRequest(this.AgentId,this);
|
handlerTeleportHomeRequest(this.AgentId, this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -5781,7 +5780,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
handlerParcelReturnObjectsRequest = OnParcelReturnObjectsRequest;
|
handlerParcelReturnObjectsRequest = OnParcelReturnObjectsRequest;
|
||||||
if (handlerParcelReturnObjectsRequest != null)
|
if (handlerParcelReturnObjectsRequest != null)
|
||||||
{
|
{
|
||||||
handlerParcelReturnObjectsRequest(parcelReturnObjects.ParcelData.LocalID,parcelReturnObjects.ParcelData.ReturnType,puserselectedOwnerIDs,puserselectedTaskIDs, this);
|
handlerParcelReturnObjectsRequest(parcelReturnObjects.ParcelData.LocalID, parcelReturnObjects.ParcelData.ReturnType, puserselectedOwnerIDs, puserselectedTaskIDs, this);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5805,12 +5804,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case "setregioninfo":
|
case "setregioninfo":
|
||||||
if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(this.AgentId))
|
if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(this.AgentId))
|
||||||
{
|
{
|
||||||
OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter),convertParamStringToBool(messagePacket.ParamList[1].Parameter),
|
OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter),
|
||||||
convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
|
convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
|
||||||
Convert.ToInt16(Convert.ToDecimal(Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter))),
|
Convert.ToInt16(Convert.ToDecimal(Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter))),
|
||||||
(float)Convert.ToDecimal(Helpers.FieldToUTF8String(messagePacket.ParamList[5].Parameter)),
|
(float)Convert.ToDecimal(Helpers.FieldToUTF8String(messagePacket.ParamList[5].Parameter)),
|
||||||
Convert.ToInt16(Helpers.FieldToUTF8String(messagePacket.ParamList[6].Parameter)),
|
Convert.ToInt16(Helpers.FieldToUTF8String(messagePacket.ParamList[6].Parameter)),
|
||||||
convertParamStringToBool(messagePacket.ParamList[7].Parameter),convertParamStringToBool(messagePacket.ParamList[8].Parameter));
|
convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5842,7 +5841,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
Int16 corner = Convert.ToInt16(splitField[0]);
|
Int16 corner = Convert.ToInt16(splitField[0]);
|
||||||
LLUUID textureUUID = new LLUUID(splitField[1]);
|
LLUUID textureUUID = new LLUUID(splitField[1]);
|
||||||
|
|
||||||
OnSetEstateTerrainDetailTexture(this, corner,textureUUID);
|
OnSetEstateTerrainDetailTexture(this, corner, textureUUID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5861,7 +5860,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
float lowValue = (float)Convert.ToDecimal(splitField[1]);
|
float lowValue = (float)Convert.ToDecimal(splitField[1]);
|
||||||
float highValue = (float)Convert.ToDecimal(splitField[2]);
|
float highValue = (float)Convert.ToDecimal(splitField[2]);
|
||||||
|
|
||||||
OnSetEstateTerrainTextureHeights(this,corner,lowValue,highValue);
|
OnSetEstateTerrainTextureHeights(this, corner, lowValue, highValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5932,7 +5931,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(this.AgentId))
|
if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(this.AgentId))
|
||||||
{
|
{
|
||||||
int estateAccessType = Convert.ToInt16(Helpers.FieldToUTF8String(messagePacket.ParamList[1].Parameter));
|
int estateAccessType = Convert.ToInt16(Helpers.FieldToUTF8String(messagePacket.ParamList[1].Parameter));
|
||||||
OnUpdateEstateAccessDeltaRequest(this, messagePacket.MethodData.Invoice,estateAccessType,new LLUUID(Helpers.FieldToUTF8String(messagePacket.ParamList[2].Parameter)));
|
OnUpdateEstateAccessDeltaRequest(this, messagePacket.MethodData.Invoice, estateAccessType, new LLUUID(Helpers.FieldToUTF8String(messagePacket.ParamList[2].Parameter)));
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5944,7 +5943,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
string SenderName = Helpers.FieldToUTF8String(messagePacket.ParamList[3].Parameter);
|
string SenderName = Helpers.FieldToUTF8String(messagePacket.ParamList[3].Parameter);
|
||||||
string Message = Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter);
|
string Message = Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter);
|
||||||
LLUUID sessionID = messagePacket.AgentData.SessionID;
|
LLUUID sessionID = messagePacket.AgentData.SessionID;
|
||||||
OnSimulatorBlueBoxMessageRequest(this,invoice,SenderID, sessionID, SenderName,Message);
|
OnSimulatorBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "instantmessage":
|
case "instantmessage":
|
||||||
|
@ -5955,7 +5954,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
string SenderName = Helpers.FieldToUTF8String(messagePacket.ParamList[3].Parameter);
|
string SenderName = Helpers.FieldToUTF8String(messagePacket.ParamList[3].Parameter);
|
||||||
string Message = Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter);
|
string Message = Helpers.FieldToUTF8String(messagePacket.ParamList[4].Parameter);
|
||||||
LLUUID sessionID = messagePacket.AgentData.SessionID;
|
LLUUID sessionID = messagePacket.AgentData.SessionID;
|
||||||
OnEstateBlueBoxMessageRequest(this,invoice,SenderID, sessionID, SenderName,Message);
|
OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "setregiondebug":
|
case "setregiondebug":
|
||||||
|
@ -5967,7 +5966,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
bool collisionEvents = convertParamStringToBool(messagePacket.ParamList[1].Parameter);
|
bool collisionEvents = convertParamStringToBool(messagePacket.ParamList[1].Parameter);
|
||||||
bool physics = convertParamStringToBool(messagePacket.ParamList[2].Parameter);
|
bool physics = convertParamStringToBool(messagePacket.ParamList[2].Parameter);
|
||||||
|
|
||||||
OnEstateDebugRegionRequest(this, invoice,SenderID,scripted,collisionEvents,physics);
|
OnEstateDebugRegionRequest(this, invoice, SenderID, scripted, collisionEvents, physics);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "teleporthomeuser":
|
case "teleporthomeuser":
|
||||||
|
@ -5979,7 +5978,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
Helpers.TryParse(Helpers.FieldToUTF8String(messagePacket.ParamList[1].Parameter), out Prey);
|
Helpers.TryParse(Helpers.FieldToUTF8String(messagePacket.ParamList[1].Parameter), out Prey);
|
||||||
|
|
||||||
OnEstateTeleportOneUserHomeRequest(this,invoice,SenderID,Prey);
|
OnEstateTeleportOneUserHomeRequest(this, invoice, SenderID, Prey);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "colliders":
|
case "colliders":
|
||||||
|
@ -6018,7 +6017,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
handlerLandStatRequest = OnLandStatRequest;
|
handlerLandStatRequest = OnLandStatRequest;
|
||||||
if (handlerLandStatRequest != null)
|
if (handlerLandStatRequest != null)
|
||||||
{
|
{
|
||||||
handlerLandStatRequest(lsrp.RequestData.ParcelLocalID,lsrp.RequestData.ReportType,lsrp.RequestData.RequestFlags,Helpers.FieldToUTF8String(lsrp.RequestData.Filter),this);
|
handlerLandStatRequest(lsrp.RequestData.ParcelLocalID, lsrp.RequestData.ReportType, lsrp.RequestData.RequestFlags, Helpers.FieldToUTF8String(lsrp.RequestData.Filter), this);
|
||||||
}
|
}
|
||||||
//int parcelID, uint reportType, uint requestflags, string filter
|
//int parcelID, uint reportType, uint requestflags, string filter
|
||||||
|
|
||||||
|
@ -6136,6 +6135,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Script Packets
|
||||||
|
|
||||||
|
case PacketType.GetScriptRunning:
|
||||||
|
GetScriptRunningPacket scriptRunning = (GetScriptRunningPacket)Pack;
|
||||||
|
handlerGetScriptRunning = OnGetScriptRunning;
|
||||||
|
if (handlerGetScriptRunning != null)
|
||||||
|
{
|
||||||
|
handlerGetScriptRunning(this, scriptRunning.Script.ObjectID, scriptRunning.Script.ItemID);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PacketType.SetScriptRunning:
|
||||||
|
SetScriptRunningPacket setScriptRunning = (SetScriptRunningPacket)Pack;
|
||||||
|
handlerSetScriptRunning = OnSetScriptRunning;
|
||||||
|
if (handlerSetScriptRunning != null)
|
||||||
|
{
|
||||||
|
handlerSetScriptRunning(this, setScriptRunning.Script.ObjectID, setScriptRunning.Script.ItemID, setScriptRunning.Script.Running);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PacketType.ScriptReset:
|
||||||
|
ScriptResetPacket scriptResetPacket = (ScriptResetPacket)Pack;
|
||||||
|
handlerScriptReset = OnScriptReset;
|
||||||
|
if (handlerScriptReset != null)
|
||||||
|
{
|
||||||
|
handlerScriptReset(this, scriptResetPacket.Script.ObjectID, scriptResetPacket.Script.ItemID);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region unimplemented handlers
|
#region unimplemented handlers
|
||||||
|
|
||||||
case PacketType.StartPingCheck:
|
case PacketType.StartPingCheck:
|
||||||
|
@ -6148,14 +6178,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// TODO: Perhaps this should be processed on the Sim to determine whether or not to drop a dead client
|
// TODO: Perhaps this should be processed on the Sim to determine whether or not to drop a dead client
|
||||||
//m_log.Warn("[CLIENT]: unhandled CompletePingCheck packet");
|
//m_log.Warn("[CLIENT]: unhandled CompletePingCheck packet");
|
||||||
break;
|
break;
|
||||||
case PacketType.ScriptReset:
|
|
||||||
ScriptResetPacket scriptResetPacket = (ScriptResetPacket)Pack;
|
|
||||||
handlerScriptReset = OnScriptReset;
|
|
||||||
if (handlerScriptReset != null)
|
|
||||||
{
|
|
||||||
handlerScriptReset(this, scriptResetPacket.Script.ObjectID, scriptResetPacket.Script.ItemID);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PacketType.ViewerStats:
|
case PacketType.ViewerStats:
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
m_log.Warn("[CLIENT]: unhandled ViewerStats packet");
|
m_log.Warn("[CLIENT]: unhandled ViewerStats packet");
|
||||||
|
@ -6166,9 +6189,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_log.Warn("[CLIENT]: unhandled CreateGroupRequest packet");
|
m_log.Warn("[CLIENT]: unhandled CreateGroupRequest packet");
|
||||||
break;
|
break;
|
||||||
//case PacketType.GenericMessage:
|
//case PacketType.GenericMessage:
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
//m_log.Warn("[CLIENT]: unhandled GenericMessage packet");
|
//m_log.Warn("[CLIENT]: unhandled GenericMessage packet");
|
||||||
//break;
|
//break;
|
||||||
case PacketType.MapItemRequest:
|
case PacketType.MapItemRequest:
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
m_log.Warn("[CLIENT]: unhandled MapItemRequest packet");
|
m_log.Warn("[CLIENT]: unhandled MapItemRequest packet");
|
||||||
|
@ -6206,22 +6229,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// TODO: handle this packet
|
// TODO: handle this packet
|
||||||
m_log.Warn("[CLIENT]: unhandled InventoryDescent packet");
|
m_log.Warn("[CLIENT]: unhandled InventoryDescent packet");
|
||||||
break;
|
break;
|
||||||
case PacketType.GetScriptRunning:
|
|
||||||
GetScriptRunningPacket scriptRunning = (GetScriptRunningPacket)Pack;
|
|
||||||
handlerGetScriptRunning = OnGetScriptRunning;
|
|
||||||
if (handlerGetScriptRunning != null)
|
|
||||||
{
|
|
||||||
handlerGetScriptRunning(this, scriptRunning.Script.ObjectID, scriptRunning.Script.ItemID);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PacketType.SetScriptRunning:
|
|
||||||
SetScriptRunningPacket setScriptRunning = (SetScriptRunningPacket)Pack;
|
|
||||||
handlerSetScriptRunning = OnSetScriptRunning;
|
|
||||||
if (handlerSetScriptRunning != null)
|
|
||||||
{
|
|
||||||
handlerSetScriptRunning(this, setScriptRunning.Script.ObjectID, setScriptRunning.Script.ItemID, setScriptRunning.Script.Running);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
|
m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
|
||||||
break;
|
break;
|
||||||
|
@ -6435,7 +6442,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
public void SendAsset(AssetRequestToClient req)
|
public void SendAsset(AssetRequestToClient req)
|
||||||
{
|
{
|
||||||
|
|
||||||
//Console.WriteLine("sending asset " + req.RequestAssetID);
|
//Console.WriteLine("sending asset " + req.RequestAssetID);
|
||||||
TransferInfoPacket Transfer = new TransferInfoPacket();
|
TransferInfoPacket Transfer = new TransferInfoPacket();
|
||||||
Transfer.TransferInfo.ChannelType = 2;
|
Transfer.TransferInfo.ChannelType = 2;
|
||||||
|
@ -6511,7 +6518,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
public void SendTexture(AssetBase TextureAsset)
|
public void SendTexture(AssetBase TextureAsset)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClientInfo GetClientInfo()
|
public ClientInfo GetClientInfo()
|
||||||
|
@ -6525,7 +6532,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
info.pendingAcks = m_pendingAcks;
|
info.pendingAcks = m_pendingAcks;
|
||||||
|
|
||||||
info.needAck = new Dictionary<uint,byte[]>();
|
info.needAck = new Dictionary<uint, byte[]>();
|
||||||
|
|
||||||
lock (m_needAck)
|
lock (m_needAck)
|
||||||
{
|
{
|
||||||
|
@ -6535,20 +6542,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pending
|
/* pending
|
||||||
QueItem[] queitems = m_packetQueue.GetQueueArray();
|
QueItem[] queitems = m_packetQueue.GetQueueArray();
|
||||||
|
|
||||||
MainLog.Instance.Verbose("CLIENT", "Queue Count : [{0}]", queitems.Length);
|
MainLog.Instance.Verbose("CLIENT", "Queue Count : [{0}]", queitems.Length);
|
||||||
|
|
||||||
for (int i = 0; i < queitems.Length; i++)
|
for (int i = 0; i < queitems.Length; i++)
|
||||||
{
|
{
|
||||||
if (queitems[i].Incoming == false)
|
if (queitems[i].Incoming == false)
|
||||||
{
|
{
|
||||||
info.out_packets.Add(queitems[i].Packet.ToBytes());
|
info.out_packets.Add(queitems[i].Packet.ToBytes());
|
||||||
MainLog.Instance.Verbose("CLIENT", "Add OutPacket [{0}]", queitems[i].Packet.Type.ToString());
|
MainLog.Instance.Verbose("CLIENT", "Add OutPacket [{0}]", queitems[i].Packet.Type.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
info.sequence = m_sequence;
|
info.sequence = m_sequence;
|
||||||
|
|
||||||
|
@ -6561,7 +6568,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
m_pendingAcks = info.pendingAcks;
|
m_pendingAcks = info.pendingAcks;
|
||||||
|
|
||||||
m_needAck = new Dictionary<uint,Packet>();
|
m_needAck = new Dictionary<uint, Packet>();
|
||||||
|
|
||||||
Packet packet = null;
|
Packet packet = null;
|
||||||
int packetEnd = 0;
|
int packetEnd = 0;
|
||||||
|
|
Loading…
Reference in New Issue