Add copyright header. Formatting cleanup.
parent
31e7e1b5f9
commit
158ad39df0
|
@ -1,4 +1,31 @@
|
|||
using OpenMetaverse;
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of the OpenSimulator Project nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
|
||||
namespace OpenSim.Region.CoreModules.Avatar.NPC
|
||||
|
|
|
@ -213,7 +213,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat
|
|||
m_log.DebugFormat("[IRC-Channel-{0}] AccessPassword : <{1}>", cs.idn, cs.AccessPassword);
|
||||
string[] excludes = config.GetString("exclude_list", "").Trim().Split(new Char[] { ',' });
|
||||
cs.ExcludeList = new List<string>(excludes.Length);
|
||||
foreach(string name in excludes)
|
||||
foreach (string name in excludes)
|
||||
{
|
||||
cs.ExcludeList.Add(name.Trim().ToLower());
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
|||
p_returnUuid = UUID.Zero;
|
||||
}
|
||||
|
||||
while(p_returnUuid == UUID.Zero)
|
||||
while (p_returnUuid == UUID.Zero)
|
||||
{
|
||||
Thread.Sleep(250);
|
||||
}
|
||||
|
@ -102,31 +102,37 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
|||
public void Autopilot(UUID agentID, Scene scene, Vector3 pos)
|
||||
{
|
||||
lock (m_avatars)
|
||||
{
|
||||
if (m_avatars.ContainsKey(agentID))
|
||||
{
|
||||
ScenePresence sp;
|
||||
scene.TryGetAvatar(agentID, out sp);
|
||||
sp.DoAutoPilot(0, pos, m_avatars[agentID]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Say(UUID agentID, Scene scene, string text)
|
||||
{
|
||||
lock (m_avatars)
|
||||
{
|
||||
if (m_avatars.ContainsKey(agentID))
|
||||
{
|
||||
m_avatars[agentID].Say(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteNPC(UUID agentID, Scene scene)
|
||||
{
|
||||
lock(m_avatars)
|
||||
lock (m_avatars)
|
||||
{
|
||||
if (m_avatars.ContainsKey(agentID))
|
||||
{
|
||||
scene.RemoveClient(agentID);
|
||||
m_avatars.Remove(agentID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -146,7 +152,6 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
|||
{
|
||||
p_inUse = false;
|
||||
|
||||
|
||||
NPCAvatar npcAvatar = new NPCAvatar(p_firstname, p_lastname, p_position, p_scene);
|
||||
npcAvatar.CircuitCode = (uint) Util.RandomClass.Next(0, int.MaxValue);
|
||||
|
||||
|
|
|
@ -1978,25 +1978,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
return new LSL_Rotation(q.X, q.Y, q.Z, q.W);
|
||||
}
|
||||
|
||||
private LSL_Rotation GetPartRot( SceneObjectPart part )
|
||||
private LSL_Rotation GetPartRot(SceneObjectPart part)
|
||||
{
|
||||
Quaternion q;
|
||||
if (part.LinkNum == 0 || part.LinkNum == 1) // unlinked or root prim
|
||||
{
|
||||
if (part.ParentGroup.RootPart.AttachmentPoint != 0)
|
||||
{
|
||||
ScenePresence avatar = World.GetScenePresence(part.AttachedAvatar);
|
||||
if (avatar != null)
|
||||
if ((avatar.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0)
|
||||
q = avatar.CameraRotation; // Mouselook
|
||||
else
|
||||
q = avatar.Rotation; // Currently infrequently updated so may be inaccurate
|
||||
else
|
||||
q = part.ParentGroup.GroupRotation; // Likely never get here but just in case
|
||||
}
|
||||
else
|
||||
q = part.ParentGroup.GroupRotation; // just the group rotation
|
||||
return new LSL_Rotation(q.X, q.Y, q.Z, q.W);
|
||||
if (part.ParentGroup.RootPart.AttachmentPoint != 0)
|
||||
{
|
||||
ScenePresence avatar = World.GetScenePresence(part.AttachedAvatar);
|
||||
if (avatar != null)
|
||||
{
|
||||
if ((avatar.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0)
|
||||
q = avatar.CameraRotation; // Mouselook
|
||||
else
|
||||
q = avatar.Rotation; // Currently infrequently updated so may be inaccurate
|
||||
}
|
||||
else
|
||||
q = part.ParentGroup.GroupRotation; // Likely never get here but just in case
|
||||
}
|
||||
else
|
||||
q = part.ParentGroup.GroupRotation; // just the group rotation
|
||||
return new LSL_Rotation(q.X, q.Y, q.Z, q.W);
|
||||
}
|
||||
q = part.GetWorldRotation();
|
||||
return new LSL_Rotation(q.X, q.Y, q.Z, q.W);
|
||||
|
|
Loading…
Reference in New Issue