diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 261 |
1 files changed, 129 insertions, 132 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index a6315a9..f35691a 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; |
@@ -287,7 +287,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
287 | public event MuteListEntryRemove OnRemoveMuteListEntry; | 287 | public event MuteListEntryRemove OnRemoveMuteListEntry; |
288 | public event GodlikeMessage onGodlikeMessage; | 288 | public event GodlikeMessage onGodlikeMessage; |
289 | public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate; | 289 | public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate; |
290 | |||
291 | 290 | ||
292 | #endregion Events | 291 | #endregion Events |
293 | 292 | ||
@@ -329,12 +328,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
329 | /// ownerless phantom. | 328 | /// ownerless phantom. |
330 | /// | 329 | /// |
331 | /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock | 330 | /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock |
332 | /// | 331 | /// |
333 | /// </value> | 332 | /// </value> |
334 | protected HashSet<uint> m_killRecord; | 333 | protected HashSet<uint> m_killRecord; |
335 | 334 | ||
336 | // protected HashSet<uint> m_attachmentsSent; | 335 | // protected HashSet<uint> m_attachmentsSent; |
337 | 336 | ||
338 | private int m_moneyBalance; | 337 | private int m_moneyBalance; |
339 | private int m_animationSequenceNumber = 1; | 338 | private int m_animationSequenceNumber = 1; |
340 | private bool m_SendLogoutPacketWhenClosing = true; | 339 | private bool m_SendLogoutPacketWhenClosing = true; |
@@ -383,22 +382,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
383 | public string ActiveGroupName { get { return m_activeGroupName; } } | 382 | public string ActiveGroupName { get { return m_activeGroupName; } } |
384 | public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } } | 383 | public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } } |
385 | public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } | 384 | public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } |
386 | 385 | ||
387 | /// <summary> | 386 | /// <summary> |
388 | /// First name of the agent/avatar represented by the client | 387 | /// First name of the agent/avatar represented by the client |
389 | /// </summary> | 388 | /// </summary> |
390 | public string FirstName { get { return m_firstName; } } | 389 | public string FirstName { get { return m_firstName; } } |
391 | 390 | ||
392 | /// <summary> | 391 | /// <summary> |
393 | /// Last name of the agent/avatar represented by the client | 392 | /// Last name of the agent/avatar represented by the client |
394 | /// </summary> | 393 | /// </summary> |
395 | public string LastName { get { return m_lastName; } } | 394 | public string LastName { get { return m_lastName; } } |
396 | 395 | ||
397 | /// <summary> | 396 | /// <summary> |
398 | /// Full name of the client (first name and last name) | 397 | /// Full name of the client (first name and last name) |
399 | /// </summary> | 398 | /// </summary> |
400 | public string Name { get { return FirstName + " " + LastName; } } | 399 | public string Name { get { return FirstName + " " + LastName; } } |
401 | 400 | ||
402 | public uint CircuitCode { get { return m_circuitCode; } } | 401 | public uint CircuitCode { get { return m_circuitCode; } } |
403 | public int MoneyBalance { get { return m_moneyBalance; } } | 402 | public int MoneyBalance { get { return m_moneyBalance; } } |
404 | public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } } | 403 | public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } } |
@@ -440,7 +439,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
440 | m_entityUpdates = new PriorityQueue(m_scene.Entities.Count); | 439 | m_entityUpdates = new PriorityQueue(m_scene.Entities.Count); |
441 | m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>(); | 440 | m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>(); |
442 | m_killRecord = new HashSet<uint>(); | 441 | m_killRecord = new HashSet<uint>(); |
443 | // m_attachmentsSent = new HashSet<uint>(); | 442 | // m_attachmentsSent = new HashSet<uint>(); |
444 | 443 | ||
445 | m_assetService = m_scene.RequestModuleInterface<IAssetService>(); | 444 | m_assetService = m_scene.RequestModuleInterface<IAssetService>(); |
446 | m_GroupsModule = scene.RequestModuleInterface<IGroupsModule>(); | 445 | m_GroupsModule = scene.RequestModuleInterface<IGroupsModule>(); |
@@ -654,7 +653,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
654 | // Make sure that we see any exception caused by the asynchronous operation. | 653 | // Make sure that we see any exception caused by the asynchronous operation. |
655 | m_log.Error( | 654 | m_log.Error( |
656 | string.Format("[LLCLIENTVIEW]: Caught exception while processing {0}", packetObject.Pack), e); | 655 | string.Format("[LLCLIENTVIEW]: Caught exception while processing {0}", packetObject.Pack), e); |
657 | } | 656 | } |
658 | } | 657 | } |
659 | 658 | ||
660 | #endregion Packet Handling | 659 | #endregion Packet Handling |
@@ -865,7 +864,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
865 | foreach (GroupActiveProposals Proposal in Proposals) | 864 | foreach (GroupActiveProposals Proposal in Proposals) |
866 | { | 865 | { |
867 | GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); | 866 | GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); |
868 | 867 | ||
869 | GAPIRP.AgentData.AgentID = AgentId; | 868 | GAPIRP.AgentData.AgentID = AgentId; |
870 | GAPIRP.AgentData.GroupID = groupID; | 869 | GAPIRP.AgentData.GroupID = groupID; |
871 | GAPIRP.TransactionData.TransactionID = transactionID; | 870 | GAPIRP.TransactionData.TransactionID = transactionID; |
@@ -889,7 +888,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
889 | if (Proposals.Length == 0) | 888 | if (Proposals.Length == 0) |
890 | { | 889 | { |
891 | GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); | 890 | GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket(); |
892 | 891 | ||
893 | GAPIRP.AgentData.AgentID = AgentId; | 892 | GAPIRP.AgentData.AgentID = AgentId; |
894 | GAPIRP.AgentData.GroupID = groupID; | 893 | GAPIRP.AgentData.GroupID = groupID; |
895 | GAPIRP.TransactionData.TransactionID = transactionID; | 894 | GAPIRP.TransactionData.TransactionID = transactionID; |
@@ -944,7 +943,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
944 | if (Votes.Length == 0) | 943 | if (Votes.Length == 0) |
945 | { | 944 | { |
946 | GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket(); | 945 | GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket(); |
947 | 946 | ||
948 | GVHIRP.AgentData.AgentID = AgentId; | 947 | GVHIRP.AgentData.AgentID = AgentId; |
949 | GVHIRP.AgentData.GroupID = groupID; | 948 | GVHIRP.AgentData.GroupID = groupID; |
950 | GVHIRP.TransactionData.TransactionID = transactionID; | 949 | GVHIRP.TransactionData.TransactionID = transactionID; |
@@ -968,7 +967,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
968 | OutPacket(GVHIRP, ThrottleOutPacketType.Task); | 967 | OutPacket(GVHIRP, ThrottleOutPacketType.Task); |
969 | } | 968 | } |
970 | } | 969 | } |
971 | 970 | ||
972 | public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) | 971 | public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) |
973 | { | 972 | { |
974 | GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket(); | 973 | GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket(); |
@@ -987,13 +986,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
987 | GADRP.HistoryData[0] = History; | 986 | GADRP.HistoryData[0] = History; |
988 | OutPacket(GADRP, ThrottleOutPacketType.Task); | 987 | OutPacket(GADRP, ThrottleOutPacketType.Task); |
989 | } | 988 | } |
990 | 989 | ||
991 | public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier) | 990 | public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier) |
992 | { | 991 | { |
993 | GroupAccountSummaryReplyPacket GASRP = | 992 | GroupAccountSummaryReplyPacket GASRP = |
994 | (GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket( | 993 | (GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket( |
995 | PacketType.GroupAccountSummaryReply); | 994 | PacketType.GroupAccountSummaryReply); |
996 | 995 | ||
997 | GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock(); | 996 | GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock(); |
998 | GASRP.AgentData.AgentID = sender.AgentId; | 997 | GASRP.AgentData.AgentID = sender.AgentId; |
999 | GASRP.AgentData.GroupID = groupID; | 998 | GASRP.AgentData.GroupID = groupID; |
@@ -1020,13 +1019,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1020 | GASRP.MoneyData.LightTaxEstimate = 0; | 1019 | GASRP.MoneyData.LightTaxEstimate = 0; |
1021 | OutPacket(GASRP, ThrottleOutPacketType.Task); | 1020 | OutPacket(GASRP, ThrottleOutPacketType.Task); |
1022 | } | 1021 | } |
1023 | 1022 | ||
1024 | public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) | 1023 | public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt) |
1025 | { | 1024 | { |
1026 | GroupAccountTransactionsReplyPacket GATRP = | 1025 | GroupAccountTransactionsReplyPacket GATRP = |
1027 | (GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket( | 1026 | (GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket( |
1028 | PacketType.GroupAccountTransactionsReply); | 1027 | PacketType.GroupAccountTransactionsReply); |
1029 | 1028 | ||
1030 | GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock(); | 1029 | GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock(); |
1031 | GATRP.AgentData.AgentID = sender.AgentId; | 1030 | GATRP.AgentData.AgentID = sender.AgentId; |
1032 | GATRP.AgentData.GroupID = groupID; | 1031 | GATRP.AgentData.GroupID = groupID; |
@@ -1510,7 +1509,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1510 | public void SendKillObject(ulong regionHandle, uint localID) | 1509 | public void SendKillObject(ulong regionHandle, uint localID) |
1511 | { | 1510 | { |
1512 | // m_log.DebugFormat("[CLIENT]: Sending KillObjectPacket to {0} for {1} in {2}", Name, localID, regionHandle); | 1511 | // m_log.DebugFormat("[CLIENT]: Sending KillObjectPacket to {0} for {1} in {2}", Name, localID, regionHandle); |
1513 | 1512 | ||
1514 | KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject); | 1513 | KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject); |
1515 | // TODO: don't create new blocks if recycling an old packet | 1514 | // TODO: don't create new blocks if recycling an old packet |
1516 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | 1515 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; |
@@ -3469,9 +3468,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3469 | objupdate.ObjectData[0] = CreateAvatarUpdateBlock(presence); | 3468 | objupdate.ObjectData[0] = CreateAvatarUpdateBlock(presence); |
3470 | 3469 | ||
3471 | OutPacket(objupdate, ThrottleOutPacketType.Task); | 3470 | OutPacket(objupdate, ThrottleOutPacketType.Task); |
3472 | 3471 | ||
3473 | // We need to record the avatar local id since the root prim of an attachment points to this. | 3472 | // We need to record the avatar local id since the root prim of an attachment points to this. |
3474 | // m_attachmentsSent.Add(avatar.LocalId); | 3473 | // m_attachmentsSent.Add(avatar.LocalId); |
3475 | } | 3474 | } |
3476 | 3475 | ||
3477 | public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations) | 3476 | public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations) |
@@ -3519,7 +3518,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3519 | #region Primitive Packet/Data Sending Methods | 3518 | #region Primitive Packet/Data Sending Methods |
3520 | 3519 | ||
3521 | /// <summary> | 3520 | /// <summary> |
3522 | /// Generate one of the object update packets based on PrimUpdateFlags | 3521 | /// Generate one of the object update packets based on PrimUpdateFlags |
3523 | /// and broadcast the packet to clients | 3522 | /// and broadcast the packet to clients |
3524 | /// </summary> | 3523 | /// </summary> |
3525 | public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags) | 3524 | public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags) |
@@ -3527,7 +3526,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3527 | double priority = m_prioritizer.GetUpdatePriority(this, entity); | 3526 | double priority = m_prioritizer.GetUpdatePriority(this, entity); |
3528 | 3527 | ||
3529 | lock (m_entityUpdates.SyncRoot) | 3528 | lock (m_entityUpdates.SyncRoot) |
3530 | m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags), entity.LocalId); | 3529 | m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags), entity.LocalId); |
3531 | } | 3530 | } |
3532 | 3531 | ||
3533 | private void ProcessEntityUpdates(int maxUpdates) | 3532 | private void ProcessEntityUpdates(int maxUpdates) |
@@ -3544,20 +3543,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3544 | EntityUpdate update; | 3543 | EntityUpdate update; |
3545 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) | 3544 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) |
3546 | { | 3545 | { |
3547 | // Please do not remove this unless you can demonstrate on the OpenSim mailing list that a client | 3546 | // Please do not remove this unless you can demonstrate on the OpenSim mailing list that a client |
3548 | // will never receive an update after a prim kill. Even then, keeping the kill record may be a good | 3547 | // will never receive an update after a prim kill. Even then, keeping the kill record may be a good |
3549 | // safety measure. | 3548 | // safety measure. |
3550 | // | 3549 | // |
3551 | // Receiving updates after kills results in undeleteable prims that persist until relog and | 3550 | // Receiving updates after kills results in undeleteable prims that persist until relog and |
3552 | // currently occurs because prims can be deleted before all queued updates are sent. | 3551 | // currently occurs because prims can be deleted before all queued updates are sent. |
3553 | if (m_killRecord.Contains(update.Entity.LocalId)) | 3552 | if (m_killRecord.Contains(update.Entity.LocalId)) |
3554 | { | 3553 | { |
3555 | // m_log.WarnFormat( | 3554 | // m_log.WarnFormat( |
3556 | // "[CLIENT]: Preventing full update for prim with local id {0} after client for user {1} told it was deleted", | 3555 | // "[CLIENT]: Preventing full update for prim with local id {0} after client for user {1} told it was deleted", |
3557 | // update.Entity.LocalId, Name); | 3556 | // update.Entity.LocalId, Name); |
3558 | continue; | 3557 | continue; |
3559 | } | 3558 | } |
3560 | 3559 | ||
3561 | if (update.Entity is SceneObjectPart) | 3560 | if (update.Entity is SceneObjectPart) |
3562 | { | 3561 | { |
3563 | SceneObjectPart part = (SceneObjectPart)update.Entity; | 3562 | SceneObjectPart part = (SceneObjectPart)update.Entity; |
@@ -3642,28 +3641,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3642 | // string text = sop.Text; | 3641 | // string text = sop.Text; |
3643 | // if (text.IndexOf("\n") >= 0) | 3642 | // if (text.IndexOf("\n") >= 0) |
3644 | // text = text.Remove(text.IndexOf("\n")); | 3643 | // text = text.Remove(text.IndexOf("\n")); |
3645 | // | 3644 | // |
3646 | // if (m_attachmentsSent.Contains(sop.ParentID)) | 3645 | // if (m_attachmentsSent.Contains(sop.ParentID)) |
3647 | // { | 3646 | // { |
3648 | //// m_log.DebugFormat( | 3647 | //// m_log.DebugFormat( |
3649 | //// "[CLIENT]: Sending full info about attached prim {0} text {1}", | 3648 | //// "[CLIENT]: Sending full info about attached prim {0} text {1}", |
3650 | //// sop.LocalId, text); | 3649 | //// sop.LocalId, text); |
3651 | // | 3650 | // |
3652 | // objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock(sop, this.m_agentId)); | 3651 | // objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock(sop, this.m_agentId)); |
3653 | // | 3652 | // |
3654 | // m_attachmentsSent.Add(sop.LocalId); | 3653 | // m_attachmentsSent.Add(sop.LocalId); |
3655 | // } | 3654 | // } |
3656 | // else | 3655 | // else |
3657 | // { | 3656 | // { |
3658 | // m_log.DebugFormat( | 3657 | // m_log.DebugFormat( |
3659 | // "[CLIENT]: Requeueing full update of prim {0} text {1} since we haven't sent its parent {2} yet", | 3658 | // "[CLIENT]: Requeueing full update of prim {0} text {1} since we haven't sent its parent {2} yet", |
3660 | // sop.LocalId, text, sop.ParentID); | 3659 | // sop.LocalId, text, sop.ParentID); |
3661 | // | 3660 | // |
3662 | // m_entityUpdates.Enqueue(double.MaxValue, update, sop.LocalId); | 3661 | // m_entityUpdates.Enqueue(double.MaxValue, update, sop.LocalId); |
3663 | // } | 3662 | // } |
3664 | // } | 3663 | // } |
3665 | // else | 3664 | // else |
3666 | // { | 3665 | // { |
3667 | objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId)); | 3666 | objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId)); |
3668 | // } | 3667 | // } |
3669 | } | 3668 | } |
@@ -3977,7 +3976,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3977 | m_propertiesPacketTimer.Stop(); | 3976 | m_propertiesPacketTimer.Stop(); |
3978 | return; | 3977 | return; |
3979 | } | 3978 | } |
3980 | 3979 | ||
3981 | m_propertiesPacketTimer.Stop(); | 3980 | m_propertiesPacketTimer.Stop(); |
3982 | m_propertiesPacketTimer.Start(); | 3981 | m_propertiesPacketTimer.Start(); |
3983 | } | 3982 | } |
@@ -4208,7 +4207,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4208 | 4207 | ||
4209 | public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) | 4208 | public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) |
4210 | { | 4209 | { |
4211 | ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); | 4210 | ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); |
4212 | 4211 | ||
4213 | updateMessage.AABBMax = landData.AABBMax; | 4212 | updateMessage.AABBMax = landData.AABBMax; |
4214 | updateMessage.AABBMin = landData.AABBMin; | 4213 | updateMessage.AABBMin = landData.AABBMin; |
@@ -4252,7 +4251,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4252 | updateMessage.PassHours = landData.PassHours; | 4251 | updateMessage.PassHours = landData.PassHours; |
4253 | updateMessage.PassPrice = landData.PassPrice; | 4252 | updateMessage.PassPrice = landData.PassPrice; |
4254 | updateMessage.PublicCount = 0; //TODO: Unimplemented | 4253 | updateMessage.PublicCount = 0; //TODO: Unimplemented |
4255 | 4254 | ||
4256 | updateMessage.RegionPushOverride = (regionFlags & (uint)RegionFlags.RestrictPushObject) > 0; | 4255 | updateMessage.RegionPushOverride = (regionFlags & (uint)RegionFlags.RestrictPushObject) > 0; |
4257 | updateMessage.RegionDenyAnonymous = (regionFlags & (uint)RegionFlags.DenyAnonymous) > 0; | 4256 | updateMessage.RegionDenyAnonymous = (regionFlags & (uint)RegionFlags.DenyAnonymous) > 0; |
4258 | 4257 | ||
@@ -4282,13 +4281,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4282 | updateMessage.UserLocation = landData.UserLocation; | 4281 | updateMessage.UserLocation = landData.UserLocation; |
4283 | updateMessage.UserLookAt = landData.UserLookAt; | 4282 | updateMessage.UserLookAt = landData.UserLookAt; |
4284 | 4283 | ||
4285 | updateMessage.MediaType = landData.MediaType; | 4284 | updateMessage.MediaType = landData.MediaType; |
4286 | updateMessage.MediaDesc = landData.MediaDescription; | 4285 | updateMessage.MediaDesc = landData.MediaDescription; |
4287 | updateMessage.MediaWidth = landData.MediaWidth; | 4286 | updateMessage.MediaWidth = landData.MediaWidth; |
4288 | updateMessage.MediaHeight = landData.MediaHeight; | 4287 | updateMessage.MediaHeight = landData.MediaHeight; |
4289 | updateMessage.MediaLoop = landData.MediaLoop; | 4288 | updateMessage.MediaLoop = landData.MediaLoop; |
4290 | updateMessage.ObscureMusic = landData.ObscureMusic; | 4289 | updateMessage.ObscureMusic = landData.ObscureMusic; |
4291 | updateMessage.ObscureMedia = landData.ObscureMedia; | 4290 | updateMessage.ObscureMedia = landData.ObscureMedia; |
4292 | 4291 | ||
4293 | try | 4292 | try |
4294 | { | 4293 | { |
@@ -4297,8 +4296,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4297 | { | 4296 | { |
4298 | eq.ParcelProperties(updateMessage, this.AgentId); | 4297 | eq.ParcelProperties(updateMessage, this.AgentId); |
4299 | } else { | 4298 | } else { |
4300 | m_log.Warn("No EQ Interface when sending parcel data."); | 4299 | m_log.Warn("No EQ Interface when sending parcel data."); |
4301 | } | 4300 | } |
4302 | } | 4301 | } |
4303 | catch (Exception ex) | 4302 | catch (Exception ex) |
4304 | { | 4303 | { |
@@ -4671,9 +4670,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4671 | } | 4670 | } |
4672 | 4671 | ||
4673 | // m_log.DebugFormat( | 4672 | // m_log.DebugFormat( |
4674 | // "[LLCLIENTVIEW]: Constructing client update for part {0} {1} with flags {2}, localId {3}", | 4673 | // "[LLCLIENTVIEW]: Constructing client update for part {0} {1} with flags {2}, localId {3}", |
4675 | // data.Name, update.FullID, flags, update.ID); | 4674 | // data.Name, update.FullID, flags, update.ID); |
4676 | 4675 | ||
4677 | update.UpdateFlags = (uint)flags; | 4676 | update.UpdateFlags = (uint)flags; |
4678 | 4677 | ||
4679 | #endregion PrimFlags | 4678 | #endregion PrimFlags |
@@ -4806,11 +4805,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4806 | AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); | 4805 | AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); |
4807 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); | 4806 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); |
4808 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); | 4807 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); |
4809 | 4808 | ||
4810 | // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once, | 4809 | // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once, |
4811 | // some clients will send out a separate ObjectImage packet for each face | 4810 | // some clients will send out a separate ObjectImage packet for each face |
4812 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false); | 4811 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false); |
4813 | 4812 | ||
4814 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); | 4813 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); |
4815 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); | 4814 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); |
4816 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); | 4815 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); |
@@ -5065,12 +5064,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5065 | 5064 | ||
5066 | return false; | 5065 | return false; |
5067 | } | 5066 | } |
5068 | 5067 | ||
5069 | private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet) | 5068 | private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet) |
5070 | { | 5069 | { |
5071 | ParcelGodMarkAsContentPacket ParcelGodMarkAsContent = | 5070 | ParcelGodMarkAsContentPacket ParcelGodMarkAsContent = |
5072 | (ParcelGodMarkAsContentPacket)Packet; | 5071 | (ParcelGodMarkAsContentPacket)Packet; |
5073 | 5072 | ||
5074 | ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark; | 5073 | ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark; |
5075 | if (ParcelGodMarkAsContentHandler != null) | 5074 | if (ParcelGodMarkAsContentHandler != null) |
5076 | { | 5075 | { |
@@ -5081,11 +5080,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5081 | } | 5080 | } |
5082 | return false; | 5081 | return false; |
5083 | } | 5082 | } |
5084 | 5083 | ||
5085 | private bool HandleFreezeUser(IClientAPI client, Packet Packet) | 5084 | private bool HandleFreezeUser(IClientAPI client, Packet Packet) |
5086 | { | 5085 | { |
5087 | FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet; | 5086 | FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet; |
5088 | 5087 | ||
5089 | FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUser; | 5088 | FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUser; |
5090 | if (FreezeUserHandler != null) | 5089 | if (FreezeUserHandler != null) |
5091 | { | 5090 | { |
@@ -5097,12 +5096,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5097 | } | 5096 | } |
5098 | return false; | 5097 | return false; |
5099 | } | 5098 | } |
5100 | 5099 | ||
5101 | private bool HandleEjectUser(IClientAPI client, Packet Packet) | 5100 | private bool HandleEjectUser(IClientAPI client, Packet Packet) |
5102 | { | 5101 | { |
5103 | EjectUserPacket EjectUser = | 5102 | EjectUserPacket EjectUser = |
5104 | (EjectUserPacket)Packet; | 5103 | (EjectUserPacket)Packet; |
5105 | 5104 | ||
5106 | EjectUserUpdate EjectUserHandler = OnParcelEjectUser; | 5105 | EjectUserUpdate EjectUserHandler = OnParcelEjectUser; |
5107 | if (EjectUserHandler != null) | 5106 | if (EjectUserHandler != null) |
5108 | { | 5107 | { |
@@ -5114,12 +5113,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5114 | } | 5113 | } |
5115 | return false; | 5114 | return false; |
5116 | } | 5115 | } |
5117 | 5116 | ||
5118 | private bool HandleParcelBuyPass(IClientAPI client, Packet Packet) | 5117 | private bool HandleParcelBuyPass(IClientAPI client, Packet Packet) |
5119 | { | 5118 | { |
5120 | ParcelBuyPassPacket ParcelBuyPass = | 5119 | ParcelBuyPassPacket ParcelBuyPass = |
5121 | (ParcelBuyPassPacket)Packet; | 5120 | (ParcelBuyPassPacket)Packet; |
5122 | 5121 | ||
5123 | ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass; | 5122 | ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass; |
5124 | if (ParcelBuyPassHandler != null) | 5123 | if (ParcelBuyPassHandler != null) |
5125 | { | 5124 | { |
@@ -5130,7 +5129,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5130 | } | 5129 | } |
5131 | return false; | 5130 | return false; |
5132 | } | 5131 | } |
5133 | 5132 | ||
5134 | private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack) | 5133 | private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack) |
5135 | { | 5134 | { |
5136 | ParcelBuyPacket parcel = (ParcelBuyPacket)Pack; | 5135 | ParcelBuyPacket parcel = (ParcelBuyPacket)Pack; |
@@ -5352,7 +5351,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5352 | ScriptDialogReplyPacket rdialog = (ScriptDialogReplyPacket)Pack; | 5351 | ScriptDialogReplyPacket rdialog = (ScriptDialogReplyPacket)Pack; |
5353 | 5352 | ||
5354 | //m_log.DebugFormat("[CLIENT]: Received ScriptDialogReply from {0}", rdialog.Data.ObjectID); | 5353 | //m_log.DebugFormat("[CLIENT]: Received ScriptDialogReply from {0}", rdialog.Data.ObjectID); |
5355 | 5354 | ||
5356 | #region Packet Session and User Check | 5355 | #region Packet Session and User Check |
5357 | if (m_checkPackets) | 5356 | if (m_checkPackets) |
5358 | { | 5357 | { |
@@ -5498,12 +5497,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5498 | } | 5497 | } |
5499 | return true; | 5498 | return true; |
5500 | } | 5499 | } |
5501 | 5500 | ||
5502 | private bool HandleFindAgent(IClientAPI client, Packet Packet) | 5501 | private bool HandleFindAgent(IClientAPI client, Packet Packet) |
5503 | { | 5502 | { |
5504 | FindAgentPacket FindAgent = | 5503 | FindAgentPacket FindAgent = |
5505 | (FindAgentPacket)Packet; | 5504 | (FindAgentPacket)Packet; |
5506 | 5505 | ||
5507 | FindAgentUpdate FindAgentHandler = OnFindAgent; | 5506 | FindAgentUpdate FindAgentHandler = OnFindAgent; |
5508 | if (FindAgentHandler != null) | 5507 | if (FindAgentHandler != null) |
5509 | { | 5508 | { |
@@ -5512,12 +5511,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5512 | } | 5511 | } |
5513 | return false; | 5512 | return false; |
5514 | } | 5513 | } |
5515 | 5514 | ||
5516 | private bool HandleTrackAgent(IClientAPI client, Packet Packet) | 5515 | private bool HandleTrackAgent(IClientAPI client, Packet Packet) |
5517 | { | 5516 | { |
5518 | TrackAgentPacket TrackAgent = | 5517 | TrackAgentPacket TrackAgent = |
5519 | (TrackAgentPacket)Packet; | 5518 | (TrackAgentPacket)Packet; |
5520 | 5519 | ||
5521 | TrackAgentUpdate TrackAgentHandler = OnTrackAgent; | 5520 | TrackAgentUpdate TrackAgentHandler = OnTrackAgent; |
5522 | if (TrackAgentHandler != null) | 5521 | if (TrackAgentHandler != null) |
5523 | { | 5522 | { |
@@ -5528,7 +5527,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5528 | } | 5527 | } |
5529 | return false; | 5528 | return false; |
5530 | } | 5529 | } |
5531 | 5530 | ||
5532 | private bool HandlerRezObject(IClientAPI sender, Packet Pack) | 5531 | private bool HandlerRezObject(IClientAPI sender, Packet Pack) |
5533 | { | 5532 | { |
5534 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; | 5533 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; |
@@ -7184,19 +7183,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7184 | UUID requestID = new UUID(transfer.TransferInfo.Params, 80); | 7183 | UUID requestID = new UUID(transfer.TransferInfo.Params, 80); |
7185 | 7184 | ||
7186 | // m_log.DebugFormat( | 7185 | // m_log.DebugFormat( |
7187 | // "[CLIENT]: Got request for asset {0} from item {1} in prim {2} by {3}", | 7186 | // "[CLIENT]: Got request for asset {0} from item {1} in prim {2} by {3}", |
7188 | // requestID, itemID, taskID, Name); | 7187 | // requestID, itemID, taskID, Name); |
7189 | 7188 | ||
7190 | if (!(((Scene)m_scene).Permissions.BypassPermissions())) | 7189 | if (!(((Scene)m_scene).Permissions.BypassPermissions())) |
7191 | { | 7190 | { |
7192 | if (taskID != UUID.Zero) // Prim | 7191 | if (taskID != UUID.Zero) // Prim |
7193 | { | 7192 | { |
7194 | SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID); | 7193 | SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID); |
7195 | 7194 | ||
7196 | if (part == null) | 7195 | if (part == null) |
7197 | { | 7196 | { |
7198 | m_log.WarnFormat( | 7197 | m_log.WarnFormat( |
7199 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but prim does not exist", | 7198 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but prim does not exist", |
7200 | Name, requestID, itemID, taskID); | 7199 | Name, requestID, itemID, taskID); |
7201 | return true; | 7200 | return true; |
7202 | } | 7201 | } |
@@ -7205,11 +7204,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7205 | if (tii == null) | 7204 | if (tii == null) |
7206 | { | 7205 | { |
7207 | m_log.WarnFormat( | 7206 | m_log.WarnFormat( |
7208 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item does not exist", | 7207 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item does not exist", |
7209 | Name, requestID, itemID, taskID); | 7208 | Name, requestID, itemID, taskID); |
7210 | return true; | 7209 | return true; |
7211 | } | 7210 | } |
7212 | 7211 | ||
7213 | if (tii.Type == (int)AssetType.LSLText) | 7212 | if (tii.Type == (int)AssetType.LSLText) |
7214 | { | 7213 | { |
7215 | if (!((Scene)m_scene).Permissions.CanEditScript(itemID, taskID, AgentId)) | 7214 | if (!((Scene)m_scene).Permissions.CanEditScript(itemID, taskID, AgentId)) |
@@ -7228,41 +7227,41 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7228 | { | 7227 | { |
7229 | m_log.WarnFormat( | 7228 | m_log.WarnFormat( |
7230 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the prim is owned by {4}", | 7229 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the prim is owned by {4}", |
7231 | Name, requestID, itemID, taskID, part.OwnerID); | 7230 | Name, requestID, itemID, taskID, part.OwnerID); |
7232 | return true; | 7231 | return true; |
7233 | } | 7232 | } |
7234 | 7233 | ||
7235 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | 7234 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) |
7236 | { | 7235 | { |
7237 | m_log.WarnFormat( | 7236 | m_log.WarnFormat( |
7238 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but modify permissions are not set", | 7237 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but modify permissions are not set", |
7239 | Name, requestID, itemID, taskID); | 7238 | Name, requestID, itemID, taskID); |
7240 | return true; | 7239 | return true; |
7241 | } | 7240 | } |
7242 | 7241 | ||
7243 | if (tii.OwnerID != AgentId) | 7242 | if (tii.OwnerID != AgentId) |
7244 | { | 7243 | { |
7245 | m_log.WarnFormat( | 7244 | m_log.WarnFormat( |
7246 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the item is owned by {4}", | 7245 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but the item is owned by {4}", |
7247 | Name, requestID, itemID, taskID, tii.OwnerID); | 7246 | Name, requestID, itemID, taskID, tii.OwnerID); |
7248 | return true; | 7247 | return true; |
7249 | } | 7248 | } |
7250 | 7249 | ||
7251 | if (( | 7250 | if (( |
7252 | tii.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) | 7251 | tii.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) |
7253 | != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) | 7252 | != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) |
7254 | { | 7253 | { |
7255 | m_log.WarnFormat( | 7254 | m_log.WarnFormat( |
7256 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item permissions are not modify/copy/transfer", | 7255 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but item permissions are not modify/copy/transfer", |
7257 | Name, requestID, itemID, taskID); | 7256 | Name, requestID, itemID, taskID); |
7258 | return true; | 7257 | return true; |
7259 | } | 7258 | } |
7260 | 7259 | ||
7261 | if (tii.AssetID != requestID) | 7260 | if (tii.AssetID != requestID) |
7262 | { | 7261 | { |
7263 | m_log.WarnFormat( | 7262 | m_log.WarnFormat( |
7264 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but this does not match item's asset {4}", | 7263 | "[CLIENT]: {0} requested asset {1} from item {2} in prim {3} but this does not match item's asset {4}", |
7265 | Name, requestID, itemID, taskID, tii.AssetID); | 7264 | Name, requestID, itemID, taskID, tii.AssetID); |
7266 | return true; | 7265 | return true; |
7267 | } | 7266 | } |
7268 | } | 7267 | } |
@@ -7866,7 +7865,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7866 | newTaskItem, updatetask.UpdateData.LocalID); | 7865 | newTaskItem, updatetask.UpdateData.LocalID); |
7867 | } | 7866 | } |
7868 | } | 7867 | } |
7869 | } | 7868 | } |
7870 | 7869 | ||
7871 | return true; | 7870 | return true; |
7872 | } | 7871 | } |
@@ -8861,7 +8860,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8861 | 8860 | ||
8862 | // return true; | 8861 | // return true; |
8863 | } | 8862 | } |
8864 | 8863 | ||
8865 | private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack) | 8864 | private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack) |
8866 | { | 8865 | { |
8867 | RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData; | 8866 | RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData; |
@@ -8882,7 +8881,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8882 | } | 8881 | } |
8883 | return true; | 8882 | return true; |
8884 | } | 8883 | } |
8885 | 8884 | ||
8886 | private bool HandleEstateCovenantRequest(IClientAPI sender, Packet Pack) | 8885 | private bool HandleEstateCovenantRequest(IClientAPI sender, Packet Pack) |
8887 | { | 8886 | { |
8888 | 8887 | ||
@@ -8919,7 +8918,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8919 | 8918 | ||
8920 | return true; | 8919 | return true; |
8921 | } | 8920 | } |
8922 | 8921 | ||
8923 | private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet) | 8922 | private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet) |
8924 | { | 8923 | { |
8925 | GodUpdateRegionInfoPacket GodUpdateRegionInfo = | 8924 | GodUpdateRegionInfoPacket GodUpdateRegionInfo = |
@@ -8939,7 +8938,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8939 | } | 8938 | } |
8940 | return false; | 8939 | return false; |
8941 | } | 8940 | } |
8942 | 8941 | ||
8943 | private bool HandleSimWideDeletes(IClientAPI client, Packet Packet) | 8942 | private bool HandleSimWideDeletes(IClientAPI client, Packet Packet) |
8944 | { | 8943 | { |
8945 | SimWideDeletesPacket SimWideDeletesRequest = | 8944 | SimWideDeletesPacket SimWideDeletesRequest = |
@@ -8952,7 +8951,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8952 | } | 8951 | } |
8953 | return false; | 8952 | return false; |
8954 | } | 8953 | } |
8955 | 8954 | ||
8956 | private bool HandleGodlikeMessage(IClientAPI client, Packet Packet) | 8955 | private bool HandleGodlikeMessage(IClientAPI client, Packet Packet) |
8957 | { | 8956 | { |
8958 | GodlikeMessagePacket GodlikeMessage = | 8957 | GodlikeMessagePacket GodlikeMessage = |
@@ -8969,7 +8968,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8969 | } | 8968 | } |
8970 | return false; | 8969 | return false; |
8971 | } | 8970 | } |
8972 | 8971 | ||
8973 | private bool HandleSaveStatePacket(IClientAPI client, Packet Packet) | 8972 | private bool HandleSaveStatePacket(IClientAPI client, Packet Packet) |
8974 | { | 8973 | { |
8975 | StateSavePacket SaveStateMessage = | 8974 | StateSavePacket SaveStateMessage = |
@@ -8982,7 +8981,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8982 | } | 8981 | } |
8983 | return false; | 8982 | return false; |
8984 | } | 8983 | } |
8985 | 8984 | ||
8986 | private bool HandleGodKickUser(IClientAPI sender, Packet Pack) | 8985 | private bool HandleGodKickUser(IClientAPI sender, Packet Pack) |
8987 | { | 8986 | { |
8988 | GodKickUserPacket gkupack = (GodKickUserPacket)Pack; | 8987 | GodKickUserPacket gkupack = (GodKickUserPacket)Pack; |
@@ -9120,7 +9119,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9120 | } | 9119 | } |
9121 | return true; | 9120 | return true; |
9122 | } | 9121 | } |
9123 | 9122 | ||
9124 | #endregion Economy/Transaction Packets | 9123 | #endregion Economy/Transaction Packets |
9125 | 9124 | ||
9126 | #region Script Packets | 9125 | #region Script Packets |
@@ -9333,7 +9332,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9333 | } | 9332 | } |
9334 | return true; | 9333 | return true; |
9335 | } | 9334 | } |
9336 | 9335 | ||
9337 | private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet) | 9336 | private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet) |
9338 | { | 9337 | { |
9339 | UpdateMuteListEntryPacket UpdateMuteListEntry = | 9338 | UpdateMuteListEntryPacket UpdateMuteListEntry = |
@@ -9349,7 +9348,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9349 | } | 9348 | } |
9350 | return false; | 9349 | return false; |
9351 | } | 9350 | } |
9352 | 9351 | ||
9353 | private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet) | 9352 | private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet) |
9354 | { | 9353 | { |
9355 | RemoveMuteListEntryPacket RemoveMuteListEntry = | 9354 | RemoveMuteListEntryPacket RemoveMuteListEntry = |
@@ -9365,7 +9364,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9365 | } | 9364 | } |
9366 | return false; | 9365 | return false; |
9367 | } | 9366 | } |
9368 | 9367 | ||
9369 | private bool HandleUserReport(IClientAPI client, Packet Packet) | 9368 | private bool HandleUserReport(IClientAPI client, Packet Packet) |
9370 | { | 9369 | { |
9371 | UserReportPacket UserReport = | 9370 | UserReportPacket UserReport = |
@@ -9390,7 +9389,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9390 | } | 9389 | } |
9391 | return false; | 9390 | return false; |
9392 | } | 9391 | } |
9393 | 9392 | ||
9394 | private bool HandleSendPostcard(IClientAPI client, Packet packet) | 9393 | private bool HandleSendPostcard(IClientAPI client, Packet packet) |
9395 | { | 9394 | { |
9396 | // SendPostcardPacket SendPostcard = | 9395 | // SendPostcardPacket SendPostcard = |
@@ -9672,7 +9671,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9672 | return true; | 9671 | return true; |
9673 | 9672 | ||
9674 | } | 9673 | } |
9675 | 9674 | ||
9676 | private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet) | 9675 | private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet) |
9677 | { | 9676 | { |
9678 | GroupVoteHistoryRequestPacket GroupVoteHistoryRequest = | 9677 | GroupVoteHistoryRequestPacket GroupVoteHistoryRequest = |
@@ -9685,7 +9684,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9685 | } | 9684 | } |
9686 | return false; | 9685 | return false; |
9687 | } | 9686 | } |
9688 | 9687 | ||
9689 | private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet) | 9688 | private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet) |
9690 | { | 9689 | { |
9691 | GroupActiveProposalsRequestPacket GroupActiveProposalsRequest = | 9690 | GroupActiveProposalsRequestPacket GroupActiveProposalsRequest = |
@@ -9698,7 +9697,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9698 | } | 9697 | } |
9699 | return false; | 9698 | return false; |
9700 | } | 9699 | } |
9701 | 9700 | ||
9702 | private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet) | 9701 | private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet) |
9703 | { | 9702 | { |
9704 | GroupAccountDetailsRequestPacket GroupAccountDetailsRequest = | 9703 | GroupAccountDetailsRequestPacket GroupAccountDetailsRequest = |
@@ -9711,7 +9710,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9711 | } | 9710 | } |
9712 | return false; | 9711 | return false; |
9713 | } | 9712 | } |
9714 | 9713 | ||
9715 | private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet) | 9714 | private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet) |
9716 | { | 9715 | { |
9717 | GroupAccountSummaryRequestPacket GroupAccountSummaryRequest = | 9716 | GroupAccountSummaryRequestPacket GroupAccountSummaryRequest = |
@@ -9724,7 +9723,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9724 | } | 9723 | } |
9725 | return false; | 9724 | return false; |
9726 | } | 9725 | } |
9727 | 9726 | ||
9728 | private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet) | 9727 | private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet) |
9729 | { | 9728 | { |
9730 | GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest = | 9729 | GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest = |
@@ -9737,7 +9736,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9737 | } | 9736 | } |
9738 | return false; | 9737 | return false; |
9739 | } | 9738 | } |
9740 | 9739 | ||
9741 | private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack) | 9740 | private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack) |
9742 | { | 9741 | { |
9743 | GroupTitlesRequestPacket groupTitlesRequest = | 9742 | GroupTitlesRequestPacket groupTitlesRequest = |
@@ -11185,26 +11184,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11185 | if (m_debugPacketLevel > 0) | 11184 | if (m_debugPacketLevel > 0) |
11186 | { | 11185 | { |
11187 | bool outputPacket = true; | 11186 | bool outputPacket = true; |
11188 | 11187 | ||
11189 | if (m_debugPacketLevel <= 255 | 11188 | if (m_debugPacketLevel <= 255 |
11190 | && (packet.Type == PacketType.SimStats || packet.Type == PacketType.SimulatorViewerTimeMessage)) | 11189 | && (packet.Type == PacketType.SimStats || packet.Type == PacketType.SimulatorViewerTimeMessage)) |
11191 | outputPacket = false; | 11190 | outputPacket = false; |
11192 | 11191 | ||
11193 | if (m_debugPacketLevel <= 200 | 11192 | if (m_debugPacketLevel <= 200 |
11194 | && | 11193 | && (packet.Type == PacketType.ImagePacket |
11195 | (packet.Type == PacketType.ImagePacket | ||
11196 | || packet.Type == PacketType.ImageData | 11194 | || packet.Type == PacketType.ImageData |
11197 | || packet.Type == PacketType.LayerData | 11195 | || packet.Type == PacketType.LayerData |
11198 | || packet.Type == PacketType.CoarseLocationUpdate)) | 11196 | || packet.Type == PacketType.CoarseLocationUpdate)) |
11199 | outputPacket = false; | 11197 | outputPacket = false; |
11200 | 11198 | ||
11201 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.AvatarAnimation || packet.Type == PacketType.ViewerEffect)) | 11199 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.AvatarAnimation || packet.Type == PacketType.ViewerEffect)) |
11202 | outputPacket = false; | 11200 | outputPacket = false; |
11203 | 11201 | ||
11204 | if (outputPacket) | 11202 | if (outputPacket) |
11205 | m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type); | 11203 | m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type); |
11206 | } | 11204 | } |
11207 | 11205 | ||
11208 | m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); | 11206 | m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); |
11209 | } | 11207 | } |
11210 | 11208 | ||
@@ -11279,16 +11277,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11279 | if (m_debugPacketLevel > 0) | 11277 | if (m_debugPacketLevel > 0) |
11280 | { | 11278 | { |
11281 | bool outputPacket = true; | 11279 | bool outputPacket = true; |
11282 | 11280 | ||
11283 | if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate) | 11281 | if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate) |
11284 | outputPacket = false; | 11282 | outputPacket = false; |
11285 | 11283 | ||
11286 | if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage) | 11284 | if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage) |
11287 | outputPacket = false; | 11285 | outputPacket = false; |
11288 | 11286 | ||
11289 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation)) | 11287 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation)) |
11290 | outputPacket = false; | 11288 | outputPacket = false; |
11291 | 11289 | ||
11292 | if (outputPacket) | 11290 | if (outputPacket) |
11293 | m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type); | 11291 | m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type); |
11294 | } | 11292 | } |
@@ -11551,12 +11549,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11551 | 11549 | ||
11552 | UUID requestID = UUID.Zero; | 11550 | UUID requestID = UUID.Zero; |
11553 | byte source = (byte)SourceType.Asset; | 11551 | byte source = (byte)SourceType.Asset; |
11554 | 11552 | ||
11555 | if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) | 11553 | if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) |
11556 | { | 11554 | { |
11557 | requestID = new UUID(transferRequest.TransferInfo.Params, 0); | 11555 | requestID = new UUID(transferRequest.TransferInfo.Params, 0); |
11558 | } | 11556 | } |
11559 | else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) | 11557 | else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) |
11560 | { | 11558 | { |
11561 | requestID = new UUID(transferRequest.TransferInfo.Params, 80); | 11559 | requestID = new UUID(transferRequest.TransferInfo.Params, 80); |
11562 | source = (byte)SourceType.SimInventoryItem; | 11560 | source = (byte)SourceType.SimInventoryItem; |
@@ -11802,7 +11800,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11802 | public PacketMethod method; | 11800 | public PacketMethod method; |
11803 | public bool Async; | 11801 | public bool Async; |
11804 | } | 11802 | } |
11805 | 11803 | ||
11806 | public class AsyncPacketProcess | 11804 | public class AsyncPacketProcess |
11807 | { | 11805 | { |
11808 | public bool result = false; | 11806 | public bool result = false; |
@@ -11871,8 +11869,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11871 | dialog.Data.FirstName = Util.StringToBytes256(ownerFirstName); | 11869 | dialog.Data.FirstName = Util.StringToBytes256(ownerFirstName); |
11872 | dialog.Data.LastName = Util.StringToBytes256(ownerLastName); | 11870 | dialog.Data.LastName = Util.StringToBytes256(ownerLastName); |
11873 | dialog.Data.Message = Util.StringToBytes256(message); | 11871 | dialog.Data.Message = Util.StringToBytes256(message); |
11874 | 11872 | ||
11875 | |||
11876 | ScriptDialogPacket.ButtonsBlock[] buttons = new ScriptDialogPacket.ButtonsBlock[1]; | 11873 | ScriptDialogPacket.ButtonsBlock[] buttons = new ScriptDialogPacket.ButtonsBlock[1]; |
11877 | buttons[0] = new ScriptDialogPacket.ButtonsBlock(); | 11874 | buttons[0] = new ScriptDialogPacket.ButtonsBlock(); |
11878 | buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!"); | 11875 | buttons[0].ButtonLabel = Util.StringToBytes256("!!llTextBox!!"); |
@@ -11886,7 +11883,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11886 | { | 11883 | { |
11887 | ScenePresence presence = p as ScenePresence; | 11884 | ScenePresence presence = p as ScenePresence; |
11888 | // It turns out to get the agent to stop flying, you have to feed it stop flying velocities | 11885 | // It turns out to get the agent to stop flying, you have to feed it stop flying velocities |
11889 | // There's no explicit message to send the client to tell it to stop flying.. it relies on the | 11886 | // There's no explicit message to send the client to tell it to stop flying.. it relies on the |
11890 | // velocity, collision plane and avatar height | 11887 | // velocity, collision plane and avatar height |
11891 | 11888 | ||
11892 | // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air | 11889 | // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air |
@@ -11903,7 +11900,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11903 | 11900 | ||
11904 | // attach a suitable collision plane regardless of the actual situation to force the LLClient to land. | 11901 | // attach a suitable collision plane regardless of the actual situation to force the LLClient to land. |
11905 | // Collision plane below the avatar's position a 6th of the avatar's height is suitable. | 11902 | // Collision plane below the avatar's position a 6th of the avatar's height is suitable. |
11906 | // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a | 11903 | // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a |
11907 | // certain amount.. because the LLClient wouldn't land in that situation anyway. | 11904 | // certain amount.. because the LLClient wouldn't land in that situation anyway. |
11908 | 11905 | ||
11909 | // why are we still testing for this really old height value default??? | 11906 | // why are we still testing for this really old height value default??? |