Add Enabled switch in new [Attachments] section in OpenSimDefaults.ini to allow attachments to be temporarily turned off.
This is for debugging purposes. Defaults to Attachments Enabledremove-scene-viewer
parent
528fcede6c
commit
e742cffe15
|
@ -5,7 +5,7 @@ for your effort!)
|
||||||
These folks represent the current core team for OpenSim, and are the
|
These folks represent the current core team for OpenSim, and are the
|
||||||
people that make the day to day of OpenSim happen.
|
people that make the day to day of OpenSim happen.
|
||||||
|
|
||||||
* justincc
|
* justincc (OSVW Consulting, justincc.org)
|
||||||
* chi11ken (Genkii)
|
* chi11ken (Genkii)
|
||||||
* dahlia
|
* dahlia
|
||||||
* Melanie Thielker
|
* Melanie Thielker
|
||||||
|
@ -15,6 +15,7 @@ people that make the day to day of OpenSim happen.
|
||||||
* Mic Bowman (Intel)
|
* Mic Bowman (Intel)
|
||||||
* BlueWall (James Hughes)
|
* BlueWall (James Hughes)
|
||||||
* Snoopy Pfeffer
|
* Snoopy Pfeffer
|
||||||
|
* Richard Adams (Intel)
|
||||||
|
|
||||||
= Core Developers Following the White Rabbit =
|
= Core Developers Following the White Rabbit =
|
||||||
Core developers who have temporarily (we hope) gone chasing the white rabbit.
|
Core developers who have temporarily (we hope) gone chasing the white rabbit.
|
||||||
|
@ -119,6 +120,7 @@ what it is today.
|
||||||
* openlifegrid.com
|
* openlifegrid.com
|
||||||
* Oren Hurvitz (Kitely)
|
* Oren Hurvitz (Kitely)
|
||||||
* otakup0pe
|
* otakup0pe
|
||||||
|
* Pixel Tomsen
|
||||||
* ralphos
|
* ralphos
|
||||||
* RemedyTomm
|
* RemedyTomm
|
||||||
* Revolution
|
* Revolution
|
||||||
|
|
|
@ -49,23 +49,40 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
private IDialogModule m_dialogModule;
|
private IDialogModule m_dialogModule;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Are attachments enabled?
|
||||||
|
/// </summary>
|
||||||
|
public bool Enabled { get; private set; }
|
||||||
|
|
||||||
public string Name { get { return "Attachments Module"; } }
|
public string Name { get { return "Attachments Module"; } }
|
||||||
public Type ReplaceableInterface { get { return null; } }
|
public Type ReplaceableInterface { get { return null; } }
|
||||||
|
|
||||||
public void Initialise(IConfigSource source) {}
|
public void Initialise(IConfigSource source)
|
||||||
|
{
|
||||||
|
IConfig config = source.Configs["Attachments"];
|
||||||
|
if (config != null)
|
||||||
|
Enabled = config.GetBoolean("Enabled", true);
|
||||||
|
else
|
||||||
|
Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
public void AddRegion(Scene scene)
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
|
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
|
||||||
m_scene.RegisterModuleInterface<IAttachmentsModule>(this);
|
m_scene.RegisterModuleInterface<IAttachmentsModule>(this);
|
||||||
|
|
||||||
|
if (Enabled)
|
||||||
m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
||||||
|
|
||||||
// TODO: Should probably be subscribing to CloseClient too, but this doesn't yet give us IClientAPI
|
// TODO: Should probably be subscribing to CloseClient too, but this doesn't yet give us IClientAPI
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene.UnregisterModuleInterface<IAttachmentsModule>(this);
|
m_scene.UnregisterModuleInterface<IAttachmentsModule>(this);
|
||||||
|
|
||||||
|
if (Enabled)
|
||||||
m_scene.EventManager.OnNewClient -= SubscribeToClientEvents;
|
m_scene.EventManager.OnNewClient -= SubscribeToClientEvents;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,6 +119,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RezAttachments(IScenePresence sp)
|
public void RezAttachments(IScenePresence sp)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
if (null == sp.Appearance)
|
if (null == sp.Appearance)
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[ATTACHMENTS MODULE]: Appearance has not been initialized for agent {0}", sp.UUID);
|
m_log.WarnFormat("[ATTACHMENTS MODULE]: Appearance has not been initialized for agent {0}", sp.UUID);
|
||||||
|
@ -145,6 +165,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Saving changed attachments for {0}", sp.Name);
|
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Saving changed attachments for {0}", sp.Name);
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
foreach (SceneObjectGroup grp in sp.GetAttachments())
|
foreach (SceneObjectGroup grp in sp.GetAttachments())
|
||||||
{
|
{
|
||||||
// if (grp.HasGroupChanged) // Resizer scripts?
|
// if (grp.HasGroupChanged) // Resizer scripts?
|
||||||
|
@ -163,6 +186,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
// "[ATTACHMENTS MODULE]: Deleting attachments from scene {0} for {1}, silent = {2}",
|
// "[ATTACHMENTS MODULE]: Deleting attachments from scene {0} for {1}, silent = {2}",
|
||||||
// m_scene.RegionInfo.RegionName, sp.Name, silent);
|
// m_scene.RegionInfo.RegionName, sp.Name, silent);
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
foreach (SceneObjectGroup sop in sp.GetAttachments())
|
foreach (SceneObjectGroup sop in sp.GetAttachments())
|
||||||
{
|
{
|
||||||
sop.Scene.DeleteSceneObject(sop, silent);
|
sop.Scene.DeleteSceneObject(sop, silent);
|
||||||
|
@ -184,6 +210,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
// "[ATTACHMENTS MODULE]: Attaching object local id {0} to {1} point {2} from ground (silent = {3})",
|
// "[ATTACHMENTS MODULE]: Attaching object local id {0} to {1} point {2} from ground (silent = {3})",
|
||||||
// objectLocalID, remoteClient.Name, AttachmentPt, silent);
|
// objectLocalID, remoteClient.Name, AttachmentPt, silent);
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
||||||
|
@ -232,6 +261,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public bool AttachObject(IClientAPI remoteClient, SceneObjectGroup group, uint AttachmentPt, bool silent)
|
public bool AttachObject(IClientAPI remoteClient, SceneObjectGroup group, uint AttachmentPt, bool silent)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return false;
|
||||||
|
|
||||||
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
||||||
|
|
||||||
if (sp == null)
|
if (sp == null)
|
||||||
|
@ -331,6 +363,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
|
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
|
||||||
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
|
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
||||||
|
|
||||||
if (sp == null)
|
if (sp == null)
|
||||||
|
@ -354,6 +389,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public ISceneEntity RezSingleAttachmentFromInventory(IClientAPI remoteClient, UUID itemID, uint AttachmentPt)
|
public ISceneEntity RezSingleAttachmentFromInventory(IClientAPI remoteClient, UUID itemID, uint AttachmentPt)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return null;
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[ATTACHMENTS MODULE]: Rezzing attachment to point {0} from item {1} for {2}",
|
// "[ATTACHMENTS MODULE]: Rezzing attachment to point {0} from item {1} for {2}",
|
||||||
// (AttachmentPoint)AttachmentPt, itemID, remoteClient.Name);
|
// (AttachmentPoint)AttachmentPt, itemID, remoteClient.Name);
|
||||||
|
@ -373,6 +411,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public ISceneEntity RezSingleAttachmentFromInventory(ScenePresence sp, UUID itemID, uint AttachmentPt)
|
public ISceneEntity RezSingleAttachmentFromInventory(ScenePresence sp, UUID itemID, uint AttachmentPt)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return null;
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2}",
|
// "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2}",
|
||||||
// (AttachmentPoint)AttachmentPt, itemID, sp.Name);
|
// (AttachmentPoint)AttachmentPt, itemID, sp.Name);
|
||||||
|
@ -535,6 +576,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient)
|
public void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
ScenePresence presence;
|
ScenePresence presence;
|
||||||
if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence))
|
if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence))
|
||||||
{
|
{
|
||||||
|
@ -554,6 +598,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public void DetachSingleAttachmentToGround(uint soLocalId, IClientAPI remoteClient)
|
public void DetachSingleAttachmentToGround(uint soLocalId, IClientAPI remoteClient)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[ATTACHMENTS MODULE]: DetachSingleAttachmentToGround() for {0}, object {1}",
|
// "[ATTACHMENTS MODULE]: DetachSingleAttachmentToGround() for {0}, object {1}",
|
||||||
// remoteClient.Name, soLocalId);
|
// remoteClient.Name, soLocalId);
|
||||||
|
@ -669,6 +716,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public void UpdateAttachmentPosition(SceneObjectGroup sog, Vector3 pos)
|
public void UpdateAttachmentPosition(SceneObjectGroup sog, Vector3 pos)
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
// First we save the
|
// First we save the
|
||||||
// attachment point information, then we update the relative
|
// attachment point information, then we update the relative
|
||||||
// positioning. Then we have to mark the object as NOT an
|
// positioning. Then we have to mark the object as NOT an
|
||||||
|
|
|
@ -150,7 +150,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
{
|
{
|
||||||
if (!m_Enabled)
|
if (!m_Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -515,6 +515,7 @@
|
||||||
; so it is disabled by default.
|
; so it is disabled by default.
|
||||||
Cap_WebFetchInventoryDescendents = ""
|
Cap_WebFetchInventoryDescendents = ""
|
||||||
|
|
||||||
|
|
||||||
[Chat]
|
[Chat]
|
||||||
; Controls whether the chat module is enabled. Default is true.
|
; Controls whether the chat module is enabled. Default is true.
|
||||||
enabled = true;
|
enabled = true;
|
||||||
|
@ -528,6 +529,7 @@
|
||||||
; Distance in meters that shouts should travel. Default is 100m
|
; Distance in meters that shouts should travel. Default is 100m
|
||||||
shout_distance = 100
|
shout_distance = 100
|
||||||
|
|
||||||
|
|
||||||
[EntityTransfer]
|
[EntityTransfer]
|
||||||
; The maximum distance in regions that an agent is allowed to teleport along the x or y axis
|
; The maximum distance in regions that an agent is allowed to teleport along the x or y axis
|
||||||
; This is set to 4095 because current viewers can't handle teleports that are greater than this distance
|
; This is set to 4095 because current viewers can't handle teleports that are greater than this distance
|
||||||
|
@ -554,6 +556,12 @@
|
||||||
CoalesceMultipleObjectsToInventory = true
|
CoalesceMultipleObjectsToInventory = true
|
||||||
|
|
||||||
|
|
||||||
|
[Attachments]
|
||||||
|
; Controls whether avatar attachments are enabled.
|
||||||
|
; Defaults to true - only set to false for debugging purposes
|
||||||
|
Enabled = true
|
||||||
|
|
||||||
|
|
||||||
[Mesh]
|
[Mesh]
|
||||||
; enable / disable Collada mesh support
|
; enable / disable Collada mesh support
|
||||||
; default is true
|
; default is true
|
||||||
|
|
Loading…
Reference in New Issue