diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 7bf7511..df2690e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -314,6 +314,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
314 | private int m_cachedTextureSerial; | 314 | private int m_cachedTextureSerial; |
315 | private PriorityQueue m_entityUpdates; | 315 | private PriorityQueue m_entityUpdates; |
316 | private Prioritizer m_prioritizer; | 316 | private Prioritizer m_prioritizer; |
317 | private bool m_disableFacelights = false; | ||
317 | 318 | ||
318 | /// <value> | 319 | /// <value> |
319 | /// List used in construction of data blocks for an object update packet. This is to stop us having to | 320 | /// List used in construction of data blocks for an object update packet. This is to stop us having to |
@@ -407,6 +408,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
407 | set { m_IsLoggingOut = value; } | 408 | set { m_IsLoggingOut = value; } |
408 | } | 409 | } |
409 | 410 | ||
411 | public bool DisableFacelights | ||
412 | { | ||
413 | get { return m_disableFacelights; } | ||
414 | set { m_disableFacelights = value; } | ||
415 | } | ||
416 | |||
410 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } | 417 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } |
411 | 418 | ||
412 | #endregion Properties | 419 | #endregion Properties |
@@ -3487,6 +3494,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3487 | EntityUpdate update; | 3494 | EntityUpdate update; |
3488 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) | 3495 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) |
3489 | { | 3496 | { |
3497 | if (update.Entity is SceneObjectPart) | ||
3498 | { | ||
3499 | SceneObjectPart part = (SceneObjectPart)update.Entity; | ||
3500 | |||
3501 | if (part.ParentGroup.IsAttachment && m_disableFacelights) | ||
3502 | { | ||
3503 | if (part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.LeftHand && | ||
3504 | part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.RightHand) | ||
3505 | { | ||
3506 | part.Shape.LightEntry = false; | ||
3507 | } | ||
3508 | } | ||
3509 | } | ||
3510 | |||
3490 | ++updatesThisCall; | 3511 | ++updatesThisCall; |
3491 | 3512 | ||
3492 | #region UpdateFlags to packet type conversion | 3513 | #region UpdateFlags to packet type conversion |