diff options
Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 257 |
1 files changed, 127 insertions, 130 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??? |