diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 5 |
2 files changed, 26 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 |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 1b81105..ca5a297 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -153,6 +153,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
153 | private int m_defaultRTO = 0; | 153 | private int m_defaultRTO = 0; |
154 | private int m_maxRTO = 0; | 154 | private int m_maxRTO = 0; |
155 | 155 | ||
156 | private bool m_disableFacelights = false; | ||
157 | |||
156 | public Socket Server { get { return null; } } | 158 | public Socket Server { get { return null; } } |
157 | 159 | ||
158 | public LLUDPServer(IPAddress listenIP, ref uint port, int proxyPortOffsetParm, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager circuitManager) | 160 | public LLUDPServer(IPAddress listenIP, ref uint port, int proxyPortOffsetParm, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager circuitManager) |
@@ -190,6 +192,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
190 | 192 | ||
191 | m_defaultRTO = config.GetInt("DefaultRTO", 0); | 193 | m_defaultRTO = config.GetInt("DefaultRTO", 0); |
192 | m_maxRTO = config.GetInt("MaxRTO", 0); | 194 | m_maxRTO = config.GetInt("MaxRTO", 0); |
195 | m_disableFacelights = config.GetBoolean("DisableFacelights", false); | ||
193 | } | 196 | } |
194 | else | 197 | else |
195 | { | 198 | { |
@@ -898,6 +901,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
898 | LLClientView client = new LLClientView(remoteEndPoint, m_scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); | 901 | LLClientView client = new LLClientView(remoteEndPoint, m_scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); |
899 | client.OnLogout += LogoutHandler; | 902 | client.OnLogout += LogoutHandler; |
900 | 903 | ||
904 | client.DisableFacelights = m_disableFacelights; | ||
905 | |||
901 | // Start the IClientAPI | 906 | // Start the IClientAPI |
902 | client.Start(); | 907 | client.Start(); |
903 | } | 908 | } |