aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs257
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs33
2 files changed, 136 insertions, 154 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 8a96389..0e17496 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -63,7 +63,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
63 /// Debug packet level. See OpenSim.RegisterConsoleCommands() for more details. 63 /// Debug packet level. See OpenSim.RegisterConsoleCommands() for more details.
64 /// </value> 64 /// </value>
65 protected int m_debugPacketLevel = 0; 65 protected int m_debugPacketLevel = 0;
66 66
67 #region Events 67 #region Events
68 68
69 public event GenericMessage OnGenericMessage; 69 public event GenericMessage OnGenericMessage;
@@ -288,7 +288,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
288 public event MuteListEntryRemove OnRemoveMuteListEntry; 288 public event MuteListEntryRemove OnRemoveMuteListEntry;
289 public event GodlikeMessage onGodlikeMessage; 289 public event GodlikeMessage onGodlikeMessage;
290 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate; 290 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate;
291
292 291
293 #endregion Events 292 #endregion Events
294 293
@@ -330,12 +329,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
330 /// ownerless phantom. 329 /// ownerless phantom.
331 /// 330 ///
332 /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock 331 /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock
333 /// 332 ///
334 /// </value> 333 /// </value>
335 protected HashSet<uint> m_killRecord; 334 protected HashSet<uint> m_killRecord;
336 335
337// protected HashSet<uint> m_attachmentsSent; 336// protected HashSet<uint> m_attachmentsSent;
338 337
339 private int m_moneyBalance; 338 private int m_moneyBalance;
340 private bool m_deliverPackets = true; 339 private bool m_deliverPackets = true;
341 private int m_animationSequenceNumber = 1; 340 private int m_animationSequenceNumber = 1;
@@ -395,22 +394,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
395 public string ActiveGroupName { get { return m_activeGroupName; } } 394 public string ActiveGroupName { get { return m_activeGroupName; } }
396 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } } 395 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } }
397 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } 396 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); }
398 397
399 /// <summary> 398 /// <summary>
400 /// First name of the agent/avatar represented by the client 399 /// First name of the agent/avatar represented by the client
401 /// </summary> 400 /// </summary>
402 public string FirstName { get { return m_firstName; } } 401 public string FirstName { get { return m_firstName; } }
403 402
404 /// <summary> 403 /// <summary>
405 /// Last name of the agent/avatar represented by the client 404 /// Last name of the agent/avatar represented by the client
406 /// </summary> 405 /// </summary>
407 public string LastName { get { return m_lastName; } } 406 public string LastName { get { return m_lastName; } }
408 407
409 /// <summary> 408 /// <summary>
410 /// Full name of the client (first name and last name) 409 /// Full name of the client (first name and last name)
411 /// </summary> 410 /// </summary>
412 public string Name { get { return FirstName + " " + LastName; } } 411 public string Name { get { return FirstName + " " + LastName; } }
413 412
414 public uint CircuitCode { get { return m_circuitCode; } } 413 public uint CircuitCode { get { return m_circuitCode; } }
415 public int MoneyBalance { get { return m_moneyBalance; } } 414 public int MoneyBalance { get { return m_moneyBalance; } }
416 public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } } 415 public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } }
@@ -453,7 +452,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
453 m_entityUpdates = new PriorityQueue(m_scene.Entities.Count); 452 m_entityUpdates = new PriorityQueue(m_scene.Entities.Count);
454 m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>(); 453 m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>();
455 m_killRecord = new HashSet<uint>(); 454 m_killRecord = new HashSet<uint>();
456// m_attachmentsSent = new HashSet<uint>(); 455// m_attachmentsSent = new HashSet<uint>();
457 456
458 m_assetService = m_scene.RequestModuleInterface<IAssetService>(); 457 m_assetService = m_scene.RequestModuleInterface<IAssetService>();
459 m_GroupsModule = scene.RequestModuleInterface<IGroupsModule>(); 458 m_GroupsModule = scene.RequestModuleInterface<IGroupsModule>();
@@ -679,7 +678,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
679 // Make sure that we see any exception caused by the asynchronous operation. 678 // Make sure that we see any exception caused by the asynchronous operation.
680 m_log.Error( 679 m_log.Error(
681 string.Format("[LLCLIENTVIEW]: Caught exception while processing {0}", packetObject.Pack), e); 680 string.Format("[LLCLIENTVIEW]: Caught exception while processing {0}", packetObject.Pack), e);
682 } 681 }
683 } 682 }
684 683
685 #endregion Packet Handling 684 #endregion Packet Handling
@@ -890,7 +889,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
890 foreach (GroupActiveProposals Proposal in Proposals) 889 foreach (GroupActiveProposals Proposal in Proposals)
891 { 890 {
892 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); 891 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
893 892
894 GAPIRP.AgentData.AgentID = AgentId; 893 GAPIRP.AgentData.AgentID = AgentId;
895 GAPIRP.AgentData.GroupID = groupID; 894 GAPIRP.AgentData.GroupID = groupID;
896 GAPIRP.TransactionData.TransactionID = transactionID; 895 GAPIRP.TransactionData.TransactionID = transactionID;
@@ -914,7 +913,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
914 if (Proposals.Length == 0) 913 if (Proposals.Length == 0)
915 { 914 {
916 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); 915 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
917 916
918 GAPIRP.AgentData.AgentID = AgentId; 917 GAPIRP.AgentData.AgentID = AgentId;
919 GAPIRP.AgentData.GroupID = groupID; 918 GAPIRP.AgentData.GroupID = groupID;
920 GAPIRP.TransactionData.TransactionID = transactionID; 919 GAPIRP.TransactionData.TransactionID = transactionID;
@@ -969,7 +968,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
969 if (Votes.Length == 0) 968 if (Votes.Length == 0)
970 { 969 {
971 GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket(); 970 GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket();
972 971
973 GVHIRP.AgentData.AgentID = AgentId; 972 GVHIRP.AgentData.AgentID = AgentId;
974 GVHIRP.AgentData.GroupID = groupID; 973 GVHIRP.AgentData.GroupID = groupID;
975 GVHIRP.TransactionData.TransactionID = transactionID; 974 GVHIRP.TransactionData.TransactionID = transactionID;
@@ -993,7 +992,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
993 OutPacket(GVHIRP, ThrottleOutPacketType.Task); 992 OutPacket(GVHIRP, ThrottleOutPacketType.Task);
994 } 993 }
995 } 994 }
996 995
997 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) 996 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
998 { 997 {
999 GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket(); 998 GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket();
@@ -1012,13 +1011,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1012 GADRP.HistoryData[0] = History; 1011 GADRP.HistoryData[0] = History;
1013 OutPacket(GADRP, ThrottleOutPacketType.Task); 1012 OutPacket(GADRP, ThrottleOutPacketType.Task);
1014 } 1013 }
1015 1014
1016 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier) 1015 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1017 { 1016 {
1018 GroupAccountSummaryReplyPacket GASRP = 1017 GroupAccountSummaryReplyPacket GASRP =
1019 (GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket( 1018 (GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket(
1020 PacketType.GroupAccountSummaryReply); 1019 PacketType.GroupAccountSummaryReply);
1021 1020
1022 GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock(); 1021 GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock();
1023 GASRP.AgentData.AgentID = sender.AgentId; 1022 GASRP.AgentData.AgentID = sender.AgentId;
1024 GASRP.AgentData.GroupID = groupID; 1023 GASRP.AgentData.GroupID = groupID;
@@ -1045,13 +1044,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1045 GASRP.MoneyData.LightTaxEstimate = 0; 1044 GASRP.MoneyData.LightTaxEstimate = 0;
1046 OutPacket(GASRP, ThrottleOutPacketType.Task); 1045 OutPacket(GASRP, ThrottleOutPacketType.Task);
1047 } 1046 }
1048 1047
1049 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) 1048 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1050 { 1049 {
1051 GroupAccountTransactionsReplyPacket GATRP = 1050 GroupAccountTransactionsReplyPacket GATRP =
1052 (GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket( 1051 (GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket(
1053 PacketType.GroupAccountTransactionsReply); 1052 PacketType.GroupAccountTransactionsReply);
1054 1053
1055 GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock(); 1054 GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock();
1056 GATRP.AgentData.AgentID = sender.AgentId; 1055 GATRP.AgentData.AgentID = sender.AgentId;
1057 GATRP.AgentData.GroupID = groupID; 1056 GATRP.AgentData.GroupID = groupID;
@@ -1520,7 +1519,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1520 public void SendKillObject(ulong regionHandle, uint localID) 1519 public void SendKillObject(ulong regionHandle, uint localID)
1521 { 1520 {
1522// m_log.DebugFormat("[CLIENT]: Sending KillObjectPacket to {0} for {1} in {2}", Name, localID, regionHandle); 1521// m_log.DebugFormat("[CLIENT]: Sending KillObjectPacket to {0} for {1} in {2}", Name, localID, regionHandle);
1523 1522
1524 KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject); 1523 KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject);
1525 // TODO: don't create new blocks if recycling an old packet 1524 // TODO: don't create new blocks if recycling an old packet
1526 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; 1525 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
@@ -3488,9 +3487,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3488 objupdate.ObjectData[0] = CreateAvatarUpdateBlock(presence); 3487 objupdate.ObjectData[0] = CreateAvatarUpdateBlock(presence);
3489 3488
3490 OutPacket(objupdate, ThrottleOutPacketType.Task); 3489 OutPacket(objupdate, ThrottleOutPacketType.Task);
3491 3490
3492 // We need to record the avatar local id since the root prim of an attachment points to this. 3491 // We need to record the avatar local id since the root prim of an attachment points to this.
3493// m_attachmentsSent.Add(avatar.LocalId); 3492// m_attachmentsSent.Add(avatar.LocalId);
3494 } 3493 }
3495 3494
3496 public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations) 3495 public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations)
@@ -3538,7 +3537,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3538 #region Primitive Packet/Data Sending Methods 3537 #region Primitive Packet/Data Sending Methods
3539 3538
3540 /// <summary> 3539 /// <summary>
3541 /// Generate one of the object update packets based on PrimUpdateFlags 3540 /// Generate one of the object update packets based on PrimUpdateFlags
3542 /// and broadcast the packet to clients 3541 /// and broadcast the packet to clients
3543 /// </summary> 3542 /// </summary>
3544 public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags) 3543 public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
@@ -3555,14 +3554,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3555 double priority = m_prioritizer.GetUpdatePriority(this, entity); 3554 double priority = m_prioritizer.GetUpdatePriority(this, entity);
3556 3555
3557 lock (m_entityUpdates.SyncRoot) 3556 lock (m_entityUpdates.SyncRoot)
3558 m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags), entity.LocalId); 3557 m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags), entity.LocalId);
3559 } 3558 }
3560 3559
3561 private void ProcessEntityUpdates(int maxUpdates) 3560 private void ProcessEntityUpdates(int maxUpdates)
3562 { 3561 {
3563 Lazy<List<ObjectUpdatePacket.ObjectDataBlock>> objectUpdateBlocks = new Lazy<List<ObjectUpdatePacket.ObjectDataBlock>>(); 3562 OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>> objectUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>>();
3564 Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>> compressedUpdateBlocks = new Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>>(); 3563 OpenSim.Framework.Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>> compressedUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>>();
3565 Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseUpdateBlocks = new Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>(); 3564 OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseUpdateBlocks = new OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>();
3566 3565
3567 if (maxUpdates <= 0) maxUpdates = Int32.MaxValue; 3566 if (maxUpdates <= 0) maxUpdates = Int32.MaxValue;
3568 int updatesThisCall = 0; 3567 int updatesThisCall = 0;
@@ -3660,28 +3659,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3660// string text = sop.Text; 3659// string text = sop.Text;
3661// if (text.IndexOf("\n") >= 0) 3660// if (text.IndexOf("\n") >= 0)
3662// text = text.Remove(text.IndexOf("\n")); 3661// text = text.Remove(text.IndexOf("\n"));
3663// 3662//
3664// if (m_attachmentsSent.Contains(sop.ParentID)) 3663// if (m_attachmentsSent.Contains(sop.ParentID))
3665// { 3664// {
3666//// m_log.DebugFormat( 3665//// m_log.DebugFormat(
3667//// "[CLIENT]: Sending full info about attached prim {0} text {1}", 3666//// "[CLIENT]: Sending full info about attached prim {0} text {1}",
3668//// sop.LocalId, text); 3667//// sop.LocalId, text);
3669// 3668//
3670// objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock(sop, this.m_agentId)); 3669// objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock(sop, this.m_agentId));
3671// 3670//
3672// m_attachmentsSent.Add(sop.LocalId); 3671// m_attachmentsSent.Add(sop.LocalId);
3673// } 3672// }
3674// else 3673// else
3675// { 3674// {
3676// m_log.DebugFormat( 3675// m_log.DebugFormat(
3677// "[CLIENT]: Requeueing full update of prim {0} text {1} since we haven't sent its parent {2} yet", 3676// "[CLIENT]: Requeueing full update of prim {0} text {1} since we haven't sent its parent {2} yet",
3678// sop.LocalId, text, sop.ParentID); 3677// sop.LocalId, text, sop.ParentID);
3679// 3678//
3680// m_entityUpdates.Enqueue(double.MaxValue, update, sop.LocalId); 3679// m_entityUpdates.Enqueue(double.MaxValue, update, sop.LocalId);
3681// } 3680// }
3682// } 3681// }
3683// else 3682// else
3684// { 3683// {
3685 objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId)); 3684 objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId));
3686// } 3685// }
3687 } 3686 }
@@ -3995,7 +3994,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3995 m_propertiesPacketTimer.Stop(); 3994 m_propertiesPacketTimer.Stop();
3996 return; 3995 return;
3997 } 3996 }
3998 3997
3999 m_propertiesPacketTimer.Stop(); 3998 m_propertiesPacketTimer.Stop();
4000 m_propertiesPacketTimer.Start(); 3999 m_propertiesPacketTimer.Start();
4001 } 4000 }
@@ -4229,7 +4228,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4229 4228
4230 public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) 4229 public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
4231 { 4230 {
4232 ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); 4231 ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage();
4233 4232
4234 updateMessage.AABBMax = landData.AABBMax; 4233 updateMessage.AABBMax = landData.AABBMax;
4235 updateMessage.AABBMin = landData.AABBMin; 4234 updateMessage.AABBMin = landData.AABBMin;
@@ -4273,7 +4272,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4273 updateMessage.PassHours = landData.PassHours; 4272 updateMessage.PassHours = landData.PassHours;
4274 updateMessage.PassPrice = landData.PassPrice; 4273 updateMessage.PassPrice = landData.PassPrice;
4275 updateMessage.PublicCount = 0; //TODO: Unimplemented 4274 updateMessage.PublicCount = 0; //TODO: Unimplemented
4276 4275
4277 updateMessage.RegionPushOverride = (regionFlags & (uint)RegionFlags.RestrictPushObject) > 0; 4276 updateMessage.RegionPushOverride = (regionFlags & (uint)RegionFlags.RestrictPushObject) > 0;
4278 updateMessage.RegionDenyAnonymous = (regionFlags & (uint)RegionFlags.DenyAnonymous) > 0; 4277 updateMessage.RegionDenyAnonymous = (regionFlags & (uint)RegionFlags.DenyAnonymous) > 0;
4279 4278
@@ -4303,13 +4302,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4303 updateMessage.UserLocation = landData.UserLocation; 4302 updateMessage.UserLocation = landData.UserLocation;
4304 updateMessage.UserLookAt = landData.UserLookAt; 4303 updateMessage.UserLookAt = landData.UserLookAt;
4305 4304
4306 updateMessage.MediaType = landData.MediaType; 4305 updateMessage.MediaType = landData.MediaType;
4307 updateMessage.MediaDesc = landData.MediaDescription; 4306 updateMessage.MediaDesc = landData.MediaDescription;
4308 updateMessage.MediaWidth = landData.MediaWidth; 4307 updateMessage.MediaWidth = landData.MediaWidth;
4309 updateMessage.MediaHeight = landData.MediaHeight; 4308 updateMessage.MediaHeight = landData.MediaHeight;
4310 updateMessage.MediaLoop = landData.MediaLoop; 4309 updateMessage.MediaLoop = landData.MediaLoop;
4311 updateMessage.ObscureMusic = landData.ObscureMusic; 4310 updateMessage.ObscureMusic = landData.ObscureMusic;
4312 updateMessage.ObscureMedia = landData.ObscureMedia; 4311 updateMessage.ObscureMedia = landData.ObscureMedia;
4313 4312
4314 try 4313 try
4315 { 4314 {
@@ -4318,8 +4317,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4318 { 4317 {
4319 eq.ParcelProperties(updateMessage, this.AgentId); 4318 eq.ParcelProperties(updateMessage, this.AgentId);
4320 } else { 4319 } else {
4321 m_log.Warn("No EQ Interface when sending parcel data."); 4320 m_log.Warn("No EQ Interface when sending parcel data.");
4322 } 4321 }
4323 } 4322 }
4324 catch (Exception ex) 4323 catch (Exception ex)
4325 { 4324 {
@@ -4692,9 +4691,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4692 } 4691 }
4693 4692
4694// m_log.DebugFormat( 4693// m_log.DebugFormat(
4695// "[LLCLIENTVIEW]: Constructing client update for part {0} {1} with flags {2}, localId {3}", 4694// "[LLCLIENTVIEW]: Constructing client update for part {0} {1} with flags {2}, localId {3}",
4696// data.Name, update.FullID, flags, update.ID); 4695// data.Name, update.FullID, flags, update.ID);
4697 4696
4698 update.UpdateFlags = (uint)flags; 4697 update.UpdateFlags = (uint)flags;
4699 4698
4700 #endregion PrimFlags 4699 #endregion PrimFlags
@@ -4827,11 +4826,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4827 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); 4826 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale);
4828 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); 4827 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
4829 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); 4828 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
4830 4829
4831 // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once, 4830 // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once,
4832 // some clients will send out a separate ObjectImage packet for each face 4831 // some clients will send out a separate ObjectImage packet for each face
4833 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false); 4832 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false);
4834 4833
4835 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); 4834 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
4836 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); 4835 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
4837 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); 4836 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);
@@ -5088,12 +5087,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5088 5087
5089 return false; 5088 return false;
5090 } 5089 }
5091 5090
5092 private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet) 5091 private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet)
5093 { 5092 {
5094 ParcelGodMarkAsContentPacket ParcelGodMarkAsContent = 5093 ParcelGodMarkAsContentPacket ParcelGodMarkAsContent =
5095 (ParcelGodMarkAsContentPacket)Packet; 5094 (ParcelGodMarkAsContentPacket)Packet;
5096 5095
5097 ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark; 5096 ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark;
5098 if (ParcelGodMarkAsContentHandler != null) 5097 if (ParcelGodMarkAsContentHandler != null)
5099 { 5098 {
@@ -5104,11 +5103,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5104 } 5103 }
5105 return false; 5104 return false;
5106 } 5105 }
5107 5106
5108 private bool HandleFreezeUser(IClientAPI client, Packet Packet) 5107 private bool HandleFreezeUser(IClientAPI client, Packet Packet)
5109 { 5108 {
5110 FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet; 5109 FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet;
5111 5110
5112 FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUser; 5111 FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUser;
5113 if (FreezeUserHandler != null) 5112 if (FreezeUserHandler != null)
5114 { 5113 {
@@ -5120,12 +5119,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5120 } 5119 }
5121 return false; 5120 return false;
5122 } 5121 }
5123 5122
5124 private bool HandleEjectUser(IClientAPI client, Packet Packet) 5123 private bool HandleEjectUser(IClientAPI client, Packet Packet)
5125 { 5124 {
5126 EjectUserPacket EjectUser = 5125 EjectUserPacket EjectUser =
5127 (EjectUserPacket)Packet; 5126 (EjectUserPacket)Packet;
5128 5127
5129 EjectUserUpdate EjectUserHandler = OnParcelEjectUser; 5128 EjectUserUpdate EjectUserHandler = OnParcelEjectUser;
5130 if (EjectUserHandler != null) 5129 if (EjectUserHandler != null)
5131 { 5130 {
@@ -5137,12 +5136,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5137 } 5136 }
5138 return false; 5137 return false;
5139 } 5138 }
5140 5139
5141 private bool HandleParcelBuyPass(IClientAPI client, Packet Packet) 5140 private bool HandleParcelBuyPass(IClientAPI client, Packet Packet)
5142 { 5141 {
5143 ParcelBuyPassPacket ParcelBuyPass = 5142 ParcelBuyPassPacket ParcelBuyPass =
5144 (ParcelBuyPassPacket)Packet; 5143 (ParcelBuyPassPacket)Packet;
5145 5144
5146 ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass; 5145 ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass;
5147 if (ParcelBuyPassHandler != null) 5146 if (ParcelBuyPassHandler != null)
5148 { 5147 {
@@ -5153,7 +5152,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5153 } 5152 }
5154 return false; 5153 return false;
5155 } 5154 }
5156 5155
5157 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack) 5156 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack)
5158 { 5157 {
5159 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack; 5158 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack;
@@ -5375,7 +5374,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5375 ScriptDialogReplyPacket rdialog = (ScriptDialogReplyPacket)Pack; 5374 ScriptDialogReplyPacket rdialog = (ScriptDialogReplyPacket)Pack;
5376 5375
5377 //m_log.DebugFormat("[CLIENT]: Received ScriptDialogReply from {0}", rdialog.Data.ObjectID); 5376 //m_log.DebugFormat("[CLIENT]: Received ScriptDialogReply from {0}", rdialog.Data.ObjectID);
5378 5377
5379 #region Packet Session and User Check 5378 #region Packet Session and User Check
5380 if (m_checkPackets) 5379 if (m_checkPackets)
5381 { 5380 {
@@ -5521,12 +5520,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5521 } 5520 }
5522 return true; 5521 return true;
5523 } 5522 }
5524 5523
5525 private bool HandleFindAgent(IClientAPI client, Packet Packet) 5524 private bool HandleFindAgent(IClientAPI client, Packet Packet)
5526 { 5525 {
5527 FindAgentPacket FindAgent = 5526 FindAgentPacket FindAgent =
5528 (FindAgentPacket)Packet; 5527 (FindAgentPacket)Packet;
5529 5528
5530 FindAgentUpdate FindAgentHandler = OnFindAgent; 5529 FindAgentUpdate FindAgentHandler = OnFindAgent;
5531 if (FindAgentHandler != null) 5530 if (FindAgentHandler != null)
5532 { 5531 {
@@ -5535,12 +5534,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5535 } 5534 }
5536 return false; 5535 return false;
5537 } 5536 }
5538 5537
5539 private bool HandleTrackAgent(IClientAPI client, Packet Packet) 5538 private bool HandleTrackAgent(IClientAPI client, Packet Packet)
5540 { 5539 {
5541 TrackAgentPacket TrackAgent = 5540 TrackAgentPacket TrackAgent =
5542 (TrackAgentPacket)Packet; 5541 (TrackAgentPacket)Packet;
5543 5542
5544 TrackAgentUpdate TrackAgentHandler = OnTrackAgent; 5543 TrackAgentUpdate TrackAgentHandler = OnTrackAgent;
5545 if (TrackAgentHandler != null) 5544 if (TrackAgentHandler != null)
5546 { 5545 {
@@ -5551,7 +5550,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5551 } 5550 }
5552 return false; 5551 return false;
5553 } 5552 }
5554 5553
5555 private bool HandlerRezObject(IClientAPI sender, Packet Pack) 5554 private bool HandlerRezObject(IClientAPI sender, Packet Pack)
5556 { 5555 {
5557 RezObjectPacket rezPacket = (RezObjectPacket)Pack; 5556 RezObjectPacket rezPacket = (RezObjectPacket)Pack;
@@ -7207,19 +7206,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7207 UUID requestID = new UUID(transfer.TransferInfo.Params, 80); 7206 UUID requestID = new UUID(transfer.TransferInfo.Params, 80);
7208 7207
7209// m_log.DebugFormat( 7208// m_log.DebugFormat(
7210// "[CLIENT]: Got request for asset {0} from item {1} in prim {2} by {3}", 7209// "[CLIENT]: Got request for asset {0} from item {1} in prim {2} by {3}",
7211// requestID, itemID, taskID, Name); 7210// requestID, itemID, taskID, Name);
7212 7211
7213 if (!(((Scene)m_scene).Permissions.BypassPermissions())) 7212 if (!(((Scene)m_scene).Permissions.BypassPermissions()))
7214 { 7213 {
7215 if (taskID != UUID.Zero) // Prim 7214 if (taskID != UUID.Zero) // Prim
7216 { 7215 {
7217 SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID); 7216 SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID);
7218 7217
7219 if (part == null) 7218 if (part == null)
7220 { 7219 {
7221 m_log.WarnFormat( 7220 m_log.WarnFormat(
7222 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but prim does not exist", 7221 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but prim does not exist",
7223 Name, requestID, itemID, taskID); 7222 Name, requestID, itemID, taskID);
7224 return true; 7223 return true;
7225 } 7224 }
@@ -7228,11 +7227,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7228 if (tii == null) 7227 if (tii == null)
7229 { 7228 {
7230 m_log.WarnFormat( 7229 m_log.WarnFormat(
7231 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item does not exist", 7230 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item does not exist",
7232 Name, requestID, itemID, taskID); 7231 Name, requestID, itemID, taskID);
7233 return true; 7232 return true;
7234 } 7233 }
7235 7234
7236 if (tii.Type == (int)AssetType.LSLText) 7235 if (tii.Type == (int)AssetType.LSLText)
7237 { 7236 {
7238 if (!((Scene)m_scene).Permissions.CanEditScript(itemID, taskID, AgentId)) 7237 if (!((Scene)m_scene).Permissions.CanEditScript(itemID, taskID, AgentId))
@@ -7251,41 +7250,41 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7251 { 7250 {
7252 m_log.WarnFormat( 7251 m_log.WarnFormat(
7253 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the prim is owned by {4}", 7252 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the prim is owned by {4}",
7254 Name, requestID, itemID, taskID, part.OwnerID); 7253 Name, requestID, itemID, taskID, part.OwnerID);
7255 return true; 7254 return true;
7256 } 7255 }
7257 7256
7258 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) 7257 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
7259 { 7258 {
7260 m_log.WarnFormat( 7259 m_log.WarnFormat(
7261 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but modify permissions are not set", 7260 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but modify permissions are not set",
7262 Name, requestID, itemID, taskID); 7261 Name, requestID, itemID, taskID);
7263 return true; 7262 return true;
7264 } 7263 }
7265 7264
7266 if (tii.OwnerID != AgentId) 7265 if (tii.OwnerID != AgentId)
7267 { 7266 {
7268 m_log.WarnFormat( 7267 m_log.WarnFormat(
7269 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the item is owned by {4}", 7268 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the item is owned by {4}",
7270 Name, requestID, itemID, taskID, tii.OwnerID); 7269 Name, requestID, itemID, taskID, tii.OwnerID);
7271 return true; 7270 return true;
7272 } 7271 }
7273 7272
7274 if (( 7273 if ((
7275 tii.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) 7274 tii.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer))
7276 != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) 7275 != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer))
7277 { 7276 {
7278 m_log.WarnFormat( 7277 m_log.WarnFormat(
7279 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item permissions are not modify/copy/transfer", 7278 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item permissions are not modify/copy/transfer",
7280 Name, requestID, itemID, taskID); 7279 Name, requestID, itemID, taskID);
7281 return true; 7280 return true;
7282 } 7281 }
7283 7282
7284 if (tii.AssetID != requestID) 7283 if (tii.AssetID != requestID)
7285 { 7284 {
7286 m_log.WarnFormat( 7285 m_log.WarnFormat(
7287 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but this does not match item's asset {4}", 7286 "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but this does not match item's asset {4}",
7288 Name, requestID, itemID, taskID, tii.AssetID); 7287 Name, requestID, itemID, taskID, tii.AssetID);
7289 return true; 7288 return true;
7290 } 7289 }
7291 } 7290 }
@@ -7889,7 +7888,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7889 newTaskItem, updatetask.UpdateData.LocalID); 7888 newTaskItem, updatetask.UpdateData.LocalID);
7890 } 7889 }
7891 } 7890 }
7892 } 7891 }
7893 7892
7894 return true; 7893 return true;
7895 } 7894 }
@@ -8884,7 +8883,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8884 8883
8885// return true; 8884// return true;
8886 } 8885 }
8887 8886
8888 private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack) 8887 private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack)
8889 { 8888 {
8890 RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData; 8889 RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData;
@@ -8905,7 +8904,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8905 } 8904 }
8906 return true; 8905 return true;
8907 } 8906 }
8908 8907
8909 private bool HandleEstateCovenantRequest(IClientAPI sender, Packet Pack) 8908 private bool HandleEstateCovenantRequest(IClientAPI sender, Packet Pack)
8910 { 8909 {
8911 8910
@@ -8942,7 +8941,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8942 8941
8943 return true; 8942 return true;
8944 } 8943 }
8945 8944
8946 private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet) 8945 private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet)
8947 { 8946 {
8948 GodUpdateRegionInfoPacket GodUpdateRegionInfo = 8947 GodUpdateRegionInfoPacket GodUpdateRegionInfo =
@@ -8962,7 +8961,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8962 } 8961 }
8963 return false; 8962 return false;
8964 } 8963 }
8965 8964
8966 private bool HandleSimWideDeletes(IClientAPI client, Packet Packet) 8965 private bool HandleSimWideDeletes(IClientAPI client, Packet Packet)
8967 { 8966 {
8968 SimWideDeletesPacket SimWideDeletesRequest = 8967 SimWideDeletesPacket SimWideDeletesRequest =
@@ -8975,7 +8974,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8975 } 8974 }
8976 return false; 8975 return false;
8977 } 8976 }
8978 8977
8979 private bool HandleGodlikeMessage(IClientAPI client, Packet Packet) 8978 private bool HandleGodlikeMessage(IClientAPI client, Packet Packet)
8980 { 8979 {
8981 GodlikeMessagePacket GodlikeMessage = 8980 GodlikeMessagePacket GodlikeMessage =
@@ -8992,7 +8991,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8992 } 8991 }
8993 return false; 8992 return false;
8994 } 8993 }
8995 8994
8996 private bool HandleSaveStatePacket(IClientAPI client, Packet Packet) 8995 private bool HandleSaveStatePacket(IClientAPI client, Packet Packet)
8997 { 8996 {
8998 StateSavePacket SaveStateMessage = 8997 StateSavePacket SaveStateMessage =
@@ -9005,7 +9004,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9005 } 9004 }
9006 return false; 9005 return false;
9007 } 9006 }
9008 9007
9009 private bool HandleGodKickUser(IClientAPI sender, Packet Pack) 9008 private bool HandleGodKickUser(IClientAPI sender, Packet Pack)
9010 { 9009 {
9011 GodKickUserPacket gkupack = (GodKickUserPacket)Pack; 9010 GodKickUserPacket gkupack = (GodKickUserPacket)Pack;
@@ -9143,7 +9142,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9143 } 9142 }
9144 return true; 9143 return true;
9145 } 9144 }
9146 9145
9147 #endregion Economy/Transaction Packets 9146 #endregion Economy/Transaction Packets
9148 9147
9149 #region Script Packets 9148 #region Script Packets
@@ -9356,7 +9355,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9356 } 9355 }
9357 return true; 9356 return true;
9358 } 9357 }
9359 9358
9360 private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet) 9359 private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet)
9361 { 9360 {
9362 UpdateMuteListEntryPacket UpdateMuteListEntry = 9361 UpdateMuteListEntryPacket UpdateMuteListEntry =
@@ -9372,7 +9371,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9372 } 9371 }
9373 return false; 9372 return false;
9374 } 9373 }
9375 9374
9376 private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet) 9375 private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet)
9377 { 9376 {
9378 RemoveMuteListEntryPacket RemoveMuteListEntry = 9377 RemoveMuteListEntryPacket RemoveMuteListEntry =
@@ -9388,7 +9387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9388 } 9387 }
9389 return false; 9388 return false;
9390 } 9389 }
9391 9390
9392 private bool HandleUserReport(IClientAPI client, Packet Packet) 9391 private bool HandleUserReport(IClientAPI client, Packet Packet)
9393 { 9392 {
9394 UserReportPacket UserReport = 9393 UserReportPacket UserReport =
@@ -9413,7 +9412,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9413 } 9412 }
9414 return false; 9413 return false;
9415 } 9414 }
9416 9415
9417 private bool HandleSendPostcard(IClientAPI client, Packet packet) 9416 private bool HandleSendPostcard(IClientAPI client, Packet packet)
9418 { 9417 {
9419// SendPostcardPacket SendPostcard = 9418// SendPostcardPacket SendPostcard =
@@ -9726,7 +9725,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9726 return true; 9725 return true;
9727 9726
9728 } 9727 }
9729 9728
9730 private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet) 9729 private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet)
9731 { 9730 {
9732 GroupVoteHistoryRequestPacket GroupVoteHistoryRequest = 9731 GroupVoteHistoryRequestPacket GroupVoteHistoryRequest =
@@ -9739,7 +9738,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9739 } 9738 }
9740 return false; 9739 return false;
9741 } 9740 }
9742 9741
9743 private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet) 9742 private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet)
9744 { 9743 {
9745 GroupActiveProposalsRequestPacket GroupActiveProposalsRequest = 9744 GroupActiveProposalsRequestPacket GroupActiveProposalsRequest =
@@ -9752,7 +9751,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9752 } 9751 }
9753 return false; 9752 return false;
9754 } 9753 }
9755 9754
9756 private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet) 9755 private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet)
9757 { 9756 {
9758 GroupAccountDetailsRequestPacket GroupAccountDetailsRequest = 9757 GroupAccountDetailsRequestPacket GroupAccountDetailsRequest =
@@ -9765,7 +9764,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9765 } 9764 }
9766 return false; 9765 return false;
9767 } 9766 }
9768 9767
9769 private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet) 9768 private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet)
9770 { 9769 {
9771 GroupAccountSummaryRequestPacket GroupAccountSummaryRequest = 9770 GroupAccountSummaryRequestPacket GroupAccountSummaryRequest =
@@ -9778,7 +9777,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9778 } 9777 }
9779 return false; 9778 return false;
9780 } 9779 }
9781 9780
9782 private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet) 9781 private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet)
9783 { 9782 {
9784 GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest = 9783 GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest =
@@ -9791,7 +9790,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
9791 } 9790 }
9792 return false; 9791 return false;
9793 } 9792 }
9794 9793
9795 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack) 9794 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack)
9796 { 9795 {
9797 GroupTitlesRequestPacket groupTitlesRequest = 9796 GroupTitlesRequestPacket groupTitlesRequest =
@@ -11239,26 +11238,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11239 if (m_debugPacketLevel > 0) 11238 if (m_debugPacketLevel > 0)
11240 { 11239 {
11241 bool outputPacket = true; 11240 bool outputPacket = true;
11242 11241
11243 if (m_debugPacketLevel <= 255 11242 if (m_debugPacketLevel <= 255
11244 && (packet.Type == PacketType.SimStats || packet.Type == PacketType.SimulatorViewerTimeMessage)) 11243 && (packet.Type == PacketType.SimStats || packet.Type == PacketType.SimulatorViewerTimeMessage))
11245 outputPacket = false; 11244 outputPacket = false;
11246 11245
11247 if (m_debugPacketLevel <= 200 11246 if (m_debugPacketLevel <= 200
11248 && 11247 && (packet.Type == PacketType.ImagePacket
11249 (packet.Type == PacketType.ImagePacket
11250 || packet.Type == PacketType.ImageData 11248 || packet.Type == PacketType.ImageData
11251 || packet.Type == PacketType.LayerData 11249 || packet.Type == PacketType.LayerData
11252 || packet.Type == PacketType.CoarseLocationUpdate)) 11250 || packet.Type == PacketType.CoarseLocationUpdate))
11253 outputPacket = false; 11251 outputPacket = false;
11254 11252
11255 if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.AvatarAnimation || packet.Type == PacketType.ViewerEffect)) 11253 if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.AvatarAnimation || packet.Type == PacketType.ViewerEffect))
11256 outputPacket = false; 11254 outputPacket = false;
11257 11255
11258 if (outputPacket) 11256 if (outputPacket)
11259 m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type); 11257 m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type);
11260 } 11258 }
11261 11259
11262 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); 11260 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting);
11263 } 11261 }
11264 11262
@@ -11348,16 +11346,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11348 if (m_debugPacketLevel > 0) 11346 if (m_debugPacketLevel > 0)
11349 { 11347 {
11350 bool outputPacket = true; 11348 bool outputPacket = true;
11351 11349
11352 if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate) 11350 if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate)
11353 outputPacket = false; 11351 outputPacket = false;
11354 11352
11355 if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage) 11353 if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage)
11356 outputPacket = false; 11354 outputPacket = false;
11357 11355
11358 if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation)) 11356 if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation))
11359 outputPacket = false; 11357 outputPacket = false;
11360 11358
11361 if (outputPacket) 11359 if (outputPacket)
11362 m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type); 11360 m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type);
11363 } 11361 }
@@ -11623,12 +11621,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11623 11621
11624 UUID requestID = UUID.Zero; 11622 UUID requestID = UUID.Zero;
11625 byte source = (byte)SourceType.Asset; 11623 byte source = (byte)SourceType.Asset;
11626 11624
11627 if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) 11625 if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset)
11628 { 11626 {
11629 requestID = new UUID(transferRequest.TransferInfo.Params, 0); 11627 requestID = new UUID(transferRequest.TransferInfo.Params, 0);
11630 } 11628 }
11631 else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) 11629 else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem)
11632 { 11630 {
11633 requestID = new UUID(transferRequest.TransferInfo.Params, 80); 11631 requestID = new UUID(transferRequest.TransferInfo.Params, 80);
11634 source = (byte)SourceType.SimInventoryItem; 11632 source = (byte)SourceType.SimInventoryItem;
@@ -11874,7 +11872,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11874 public PacketMethod method; 11872 public PacketMethod method;
11875 public bool Async; 11873 public bool Async;
11876 } 11874 }
11877 11875
11878 public class AsyncPacketProcess 11876 public class AsyncPacketProcess
11879 { 11877 {
11880 public bool result = false; 11878 public bool result = false;
@@ -11943,8 +11941,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11943 dialog.Data.FirstName = Util.StringToBytes256(ownerFirstName); 11941 dialog.Data.FirstName = Util.StringToBytes256(ownerFirstName);
11944 dialog.Data.LastName = Util.StringToBytes256(ownerLastName); 11942 dialog.Data.LastName = Util.StringToBytes256(ownerLastName);
11945 dialog.Data.Message = Util.StringToBytes256(message); 11943 dialog.Data.Message = Util.StringToBytes256(message);
11946 11944
11947
11948 ScriptDialogPacket.ButtonsBlock[] buttons = new ScriptDialogPacket.ButtonsBlock[1]; 11945 ScriptDialogPacket.ButtonsBlock[] buttons = new ScriptDialogPacket.ButtonsBlock[1];
11949 buttons[0] = new ScriptDialogPacket.ButtonsBlock(); 11946 buttons[0] = new ScriptDialogPacket.ButtonsBlock();
11950 buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!"); 11947 buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!");
@@ -11958,7 +11955,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11958 { 11955 {
11959 ScenePresence presence = p as ScenePresence; 11956 ScenePresence presence = p as ScenePresence;
11960 // It turns out to get the agent to stop flying, you have to feed it stop flying velocities 11957 // It turns out to get the agent to stop flying, you have to feed it stop flying velocities
11961 // There's no explicit message to send the client to tell it to stop flying.. it relies on the 11958 // There's no explicit message to send the client to tell it to stop flying.. it relies on the
11962 // velocity, collision plane and avatar height 11959 // velocity, collision plane and avatar height
11963 11960
11964 // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air 11961 // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air
@@ -11975,7 +11972,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11975 11972
11976 // attach a suitable collision plane regardless of the actual situation to force the LLClient to land. 11973 // attach a suitable collision plane regardless of the actual situation to force the LLClient to land.
11977 // Collision plane below the avatar's position a 6th of the avatar's height is suitable. 11974 // Collision plane below the avatar's position a 6th of the avatar's height is suitable.
11978 // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a 11975 // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a
11979 // certain amount.. because the LLClient wouldn't land in that situation anyway. 11976 // certain amount.. because the LLClient wouldn't land in that situation anyway.
11980 11977
11981 // why are we still testing for this really old height value default??? 11978 // why are we still testing for this really old height value default???
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index 46b68ec..ea1317a 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -36,6 +36,7 @@ using OpenSim.Framework.Communications;
36using OpenSim.Framework.Servers; 36using OpenSim.Framework.Servers;
37using OpenSim.Framework.Servers.HttpServer; 37using OpenSim.Framework.Servers.HttpServer;
38using OpenSim.Region.Framework; 38using OpenSim.Region.Framework;
39using OpenSim.Region.Framework.Interfaces;
39using OpenSim.Region.Framework.Scenes; 40using OpenSim.Region.Framework.Scenes;
40using OpenSim.Region.Physics.Manager; 41using OpenSim.Region.Physics.Manager;
41 42
@@ -48,28 +49,16 @@ namespace OpenSim.Region.ClientStack
48 49
49 protected Dictionary<EndPoint, uint> m_clientCircuits = new Dictionary<EndPoint, uint>(); 50 protected Dictionary<EndPoint, uint> m_clientCircuits = new Dictionary<EndPoint, uint>();
50 protected NetworkServersInfo m_networkServersInfo; 51 protected NetworkServersInfo m_networkServersInfo;
51
52 public NetworkServersInfo NetServersInfo
53 {
54 get { return m_networkServersInfo; }
55 }
56
57 protected uint m_httpServerPort; 52 protected uint m_httpServerPort;
58 53 protected ISimulationDataService m_simulationDataService;
59 protected StorageManager m_storageManager; 54 protected IEstateDataService m_estateDataService;
60
61 public StorageManager StorageManager
62 {
63 get { return m_storageManager; }
64 }
65
66 protected ClientStackManager m_clientStackManager; 55 protected ClientStackManager m_clientStackManager;
67
68 public SceneManager SceneManager
69 {
70 get { return m_sceneManager; }
71 }
72 protected SceneManager m_sceneManager = new SceneManager(); 56 protected SceneManager m_sceneManager = new SceneManager();
57
58 public SceneManager SceneManager { get { return m_sceneManager; } }
59 public NetworkServersInfo NetServersInfo { get { return m_networkServersInfo; } }
60 public ISimulationDataService SimulationDataService { get { return m_simulationDataService; } }
61 public IEstateDataService EstateDataService { get { return m_estateDataService; } }
73 62
74 protected abstract void Initialize(); 63 protected abstract void Initialize();
75 64
@@ -83,15 +72,11 @@ namespace OpenSim.Region.ClientStack
83 /// <returns></returns> 72 /// <returns></returns>
84 protected abstract PhysicsScene GetPhysicsScene(string osSceneIdentifier); 73 protected abstract PhysicsScene GetPhysicsScene(string osSceneIdentifier);
85 74
86 protected abstract StorageManager CreateStorageManager();
87 protected abstract ClientStackManager CreateClientStackManager(); 75 protected abstract ClientStackManager CreateClientStackManager();
88 protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, 76 protected abstract Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService, IEstateDataService estateDataService, AgentCircuitManager circuitManager);
89 AgentCircuitManager circuitManager);
90 77
91 protected override void StartupSpecific() 78 protected override void StartupSpecific()
92 { 79 {
93 m_storageManager = CreateStorageManager();
94
95 m_clientStackManager = CreateClientStackManager(); 80 m_clientStackManager = CreateClientStackManager();
96 81
97 Initialize(); 82 Initialize();