In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion- breaking, silly vanity lights that destroy nighttime RP. Girls, you look just fine without them. Guys, you too. Thank you. Melanie has left the building.prebuild-update
parent
ab5a461c5c
commit
cd2c7b9ac9
|
@ -314,6 +314,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
private int m_cachedTextureSerial;
|
||||
private PriorityQueue m_entityUpdates;
|
||||
private Prioritizer m_prioritizer;
|
||||
private bool m_disableFacelights = false;
|
||||
|
||||
/// <value>
|
||||
/// 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
|
|||
set { m_IsLoggingOut = value; }
|
||||
}
|
||||
|
||||
public bool DisableFacelights
|
||||
{
|
||||
get { return m_disableFacelights; }
|
||||
set { m_disableFacelights = value; }
|
||||
}
|
||||
|
||||
public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } }
|
||||
|
||||
#endregion Properties
|
||||
|
@ -3487,6 +3494,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
EntityUpdate update;
|
||||
while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update))
|
||||
{
|
||||
if (update.Entity is SceneObjectPart)
|
||||
{
|
||||
SceneObjectPart part = (SceneObjectPart)update.Entity;
|
||||
|
||||
if (part.ParentGroup.IsAttachment && m_disableFacelights)
|
||||
{
|
||||
if (part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.LeftHand &&
|
||||
part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.RightHand)
|
||||
{
|
||||
part.Shape.LightEntry = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
++updatesThisCall;
|
||||
|
||||
#region UpdateFlags to packet type conversion
|
||||
|
|
|
@ -153,6 +153,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
private int m_defaultRTO = 0;
|
||||
private int m_maxRTO = 0;
|
||||
|
||||
private bool m_disableFacelights = false;
|
||||
|
||||
public Socket Server { get { return null; } }
|
||||
|
||||
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
|
|||
|
||||
m_defaultRTO = config.GetInt("DefaultRTO", 0);
|
||||
m_maxRTO = config.GetInt("MaxRTO", 0);
|
||||
m_disableFacelights = config.GetBoolean("DisableFacelights", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -898,6 +901,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
LLClientView client = new LLClientView(remoteEndPoint, m_scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode);
|
||||
client.OnLogout += LogoutHandler;
|
||||
|
||||
client.DisableFacelights = m_disableFacelights;
|
||||
|
||||
// Start the IClientAPI
|
||||
client.Start();
|
||||
}
|
||||
|
|
|
@ -387,6 +387,13 @@
|
|||
;
|
||||
;TextureSendLimit = 20
|
||||
|
||||
; Quash and remove any light properties from attachments not on the
|
||||
; hands. This allows flashlights and lanterns to function, but kills
|
||||
; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps
|
||||
; will also be affected.
|
||||
;
|
||||
;DisableFacelights = "false"
|
||||
|
||||
[Chat]
|
||||
; Controls whether the chat module is enabled. Default is true.
|
||||
enabled = true;
|
||||
|
|
Loading…
Reference in New Issue