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.
avinationmerge
Melanie Thielker 2010-08-08 02:01:24 +02:00
parent 4c5788c4c0
commit 50ac61e17f
3 changed files with 27 additions and 0 deletions

View File

@ -315,6 +315,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
@ -420,6 +421,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
@ -3522,6 +3529,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
SceneObjectPart part = (SceneObjectPart)update.Entity;
if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId))
continue;
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;

View File

@ -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
{
@ -907,6 +910,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
//this will prevent us from missing important messages
//before the modules are bound
client.DeliverPackets = false;
client.DisableFacelights = m_disableFacelights;
Util.FireAndForget(
delegate

View File

@ -390,6 +390,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;