aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs21
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs5
-rw-r--r--bin/OpenSim.ini.example7
3 files changed, 33 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 }
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 54c013a..3dc8f23 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -387,6 +387,13 @@
387 ; 387 ;
388 ;TextureSendLimit = 20 388 ;TextureSendLimit = 20
389 389
390 ; Quash and remove any light properties from attachments not on the
391 ; hands. This allows flashlights and lanterns to function, but kills
392 ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps
393 ; will also be affected.
394 ;
395 ;DisableFacelights = "false"
396
390[Chat] 397[Chat]
391 ; Controls whether the chat module is enabled. Default is true. 398 ; Controls whether the chat module is enabled. Default is true.
392 enabled = true; 399 enabled = true;