mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
bad merge?
This commit is contained in:
@@ -58,6 +58,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
public ISceneAgent SceneAgent { get; set; }
|
||||
|
||||
public int PingTimeMS { get { return 0; } }
|
||||
|
||||
private string m_username;
|
||||
private string m_nick;
|
||||
|
||||
@@ -66,6 +68,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
private bool m_connected = true;
|
||||
|
||||
public List<uint> SelectedObjects {get; private set;}
|
||||
|
||||
public IRCClientView(TcpClient client, Scene scene)
|
||||
{
|
||||
m_client = client;
|
||||
@@ -671,6 +675,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
public event ObjectDrop OnObjectDrop;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
@@ -717,6 +722,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
|
||||
public event UpdatePrimFlags OnUpdatePrimFlags;
|
||||
public event UpdatePrimTexture OnUpdatePrimTexture;
|
||||
public event ClientChangeObject onClientChangeObject;
|
||||
public event UpdateVector OnUpdatePrimGroupPosition;
|
||||
public event UpdateVector OnUpdatePrimSinglePosition;
|
||||
public event UpdatePrimRotation OnUpdatePrimGroupRotation;
|
||||
@@ -821,6 +827,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
public event ObjectOwner OnObjectOwner;
|
||||
public event DirPlacesQuery OnDirPlacesQuery;
|
||||
public event DirFindQuery OnDirFindQuery;
|
||||
public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
|
||||
public event DirLandQuery OnDirLandQuery;
|
||||
public event DirPopularQuery OnDirPopularQuery;
|
||||
public event DirClassifiedQuery OnDirClassifiedQuery;
|
||||
@@ -837,7 +844,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
public event ClassifiedInfoRequest OnClassifiedInfoRequest;
|
||||
public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
|
||||
public event ClassifiedDelete OnClassifiedDelete;
|
||||
public event ClassifiedDelete OnClassifiedGodDelete;
|
||||
public event ClassifiedGodDelete OnClassifiedGodDelete;
|
||||
public event EventNotificationAddRequest OnEventNotificationAddRequest;
|
||||
public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
|
||||
public event EventGodDelete OnEventGodDelete;
|
||||
@@ -867,10 +874,12 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||
public event SendPostcard OnSendPostcard;
|
||||
public event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
|
||||
public event MuteListEntryUpdate OnUpdateMuteListEntry;
|
||||
public event MuteListEntryRemove OnRemoveMuteListEntry;
|
||||
public event GodlikeMessage onGodlikeMessage;
|
||||
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate;
|
||||
public event GenericCall2 OnUpdateThrottles;
|
||||
|
||||
#pragma warning restore 67
|
||||
|
||||
@@ -888,10 +897,10 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
public void Close()
|
||||
{
|
||||
Close(false);
|
||||
Close(true, false);
|
||||
}
|
||||
|
||||
public void Close(bool force)
|
||||
public void Close(bool sendStop, bool force)
|
||||
{
|
||||
Disconnect();
|
||||
}
|
||||
@@ -988,6 +997,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
}
|
||||
|
||||
public virtual bool CanSendLayerData()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SendLayerData(float[] map)
|
||||
{
|
||||
|
||||
@@ -1104,7 +1118,12 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SendRemoveInventoryItem(UUID itemID)
|
||||
@@ -1127,7 +1146,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
}
|
||||
|
||||
public void SendXferPacket(ulong xferID, uint packet, byte[] data)
|
||||
public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1421,6 +1440,16 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
}
|
||||
|
||||
public virtual void SetChildAgentThrottle(byte[] throttle,float factor)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SetAgentThrottleSilent(int throttle, int setting)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
public byte[] GetThrottlesPacked(float multiplier)
|
||||
{
|
||||
return new byte[0];
|
||||
@@ -1687,5 +1716,13 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
{
|
||||
}
|
||||
|
||||
public void SendPartFullUpdate(ISceneEntity ent, uint? parentID)
|
||||
{
|
||||
}
|
||||
|
||||
public int GetAgentThrottleSilent(int throttle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.Framework.Scenes.Animation;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using AnimationSet = OpenSim.Region.Framework.Scenes.Animation.AnimationSet;
|
||||
|
||||
namespace OpenSim.Region.OptionalModules.Avatar.Animations
|
||||
{
|
||||
@@ -197,4 +198,4 @@ namespace OpenSim.Region.OptionalModules.Avatar.Animations
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
|
||||
hostPart.ParentGroup.RootPart.ScheduleFullUpdate();
|
||||
}
|
||||
|
||||
return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, false, true) ? 1 : 0;
|
||||
return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, false, true, true) ? 1 : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Friends
|
||||
m_scene.AddCommand(
|
||||
"Friends", this, "friends show",
|
||||
"friends show [--cache] <first-name> <last-name>",
|
||||
"Show the friends for the given user if they exist.\n",
|
||||
"Show the friends for the given user if they exist.",
|
||||
"The --cache option will show locally cached information for that user.",
|
||||
HandleFriendsShowCommand);
|
||||
}
|
||||
@@ -197,4 +197,4 @@ namespace OpenSim.Region.OptionalModules.Avatar.Friends
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -575,7 +575,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
|
||||
|
||||
public Hashtable FreeSwitchSLVoiceGetPreloginHTTPHandler(Hashtable request)
|
||||
{
|
||||
m_log.Debug("[FreeSwitchVoice]: FreeSwitchSLVoiceGetPreloginHTTPHandler called");
|
||||
// m_log.Debug("[FreeSwitchVoice] FreeSwitchSLVoiceGetPreloginHTTPHandler called");
|
||||
|
||||
Hashtable response = new Hashtable();
|
||||
response["content_type"] = "text/xml";
|
||||
@@ -726,7 +726,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
|
||||
|
||||
public Hashtable FreeSwitchSLVoiceSigninHTTPHandler(Hashtable request)
|
||||
{
|
||||
m_log.Debug("[FreeSwitchVoice]: FreeSwitchSLVoiceSigninHTTPHandler called");
|
||||
//m_log.Debug("[FreeSwitchVoice] FreeSwitchSLVoiceSigninHTTPHandler called");
|
||||
// string requestbody = (string)request["body"];
|
||||
// string uri = (string)request["uri"];
|
||||
// string contenttype = (string)request["content-type"];
|
||||
|
||||
@@ -121,6 +121,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
|
||||
public void Initialise(IConfigSource config)
|
||||
{
|
||||
MainConsole.Instance.Commands.AddCommand("vivox", false, "vivox debug", "vivox debug <on>|<off>", "Set vivox debugging", HandleDebug);
|
||||
|
||||
m_config = config.Configs["VivoxVoice"];
|
||||
|
||||
@@ -196,7 +197,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
break;
|
||||
}
|
||||
|
||||
m_vivoxVoiceAccountApi = String.Format("http://{0}/api2", m_vivoxServer);
|
||||
m_vivoxVoiceAccountApi = String.Format("https://{0}/api2", m_vivoxServer);
|
||||
|
||||
// Admin interface required values
|
||||
if (String.IsNullOrEmpty(m_vivoxServer) ||
|
||||
@@ -475,8 +476,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
avatarName = avatar.Name;
|
||||
|
||||
m_log.DebugFormat("[VivoxVoice][PROVISIONVOICE]: scene = {0}, agentID = {1}", scene, agentID);
|
||||
m_log.DebugFormat("[VivoxVoice][PROVISIONVOICE]: request: {0}, path: {1}, param: {2}",
|
||||
request, path, param);
|
||||
// m_log.DebugFormat("[VivoxVoice][PROVISIONVOICE]: request: {0}, path: {1}, param: {2}",
|
||||
// request, path, param);
|
||||
|
||||
XmlElement resp;
|
||||
bool retry = false;
|
||||
@@ -583,7 +584,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
|
||||
string r = LLSDHelpers.SerialiseLLSDReply(voiceAccountResponse);
|
||||
|
||||
m_log.DebugFormat("[VivoxVoice][PROVISIONVOICE]: avatar \"{0}\": {1}", avatarName, r);
|
||||
// m_log.DebugFormat("[VivoxVoice][PROVISIONVOICE]: avatar \"{0}\": {1}", avatarName, r);
|
||||
|
||||
return r;
|
||||
}
|
||||
@@ -630,24 +631,28 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
// voice, if all do retrieve or obtain the parcel
|
||||
// voice channel
|
||||
LandData land = scene.GetLandData(avatar.AbsolutePosition);
|
||||
if (land == null)
|
||||
{
|
||||
return "<llsd><undef /></llsd>";
|
||||
}
|
||||
|
||||
m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}",
|
||||
scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param);
|
||||
// m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}",
|
||||
// scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param);
|
||||
// m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: avatar \"{0}\": location: {1} {2} {3}",
|
||||
// avatarName, avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y, avatar.AbsolutePosition.Z);
|
||||
|
||||
// TODO: EstateSettings don't seem to get propagated...
|
||||
if (!scene.RegionInfo.EstateSettings.AllowVoice)
|
||||
{
|
||||
m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": voice not enabled in estate settings",
|
||||
scene.RegionInfo.RegionName);
|
||||
//m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": voice not enabled in estate settings",
|
||||
// scene.RegionInfo.RegionName);
|
||||
channel_uri = String.Empty;
|
||||
}
|
||||
|
||||
if ((land.Flags & (uint)ParcelFlags.AllowVoiceChat) == 0)
|
||||
{
|
||||
m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": voice not enabled for parcel",
|
||||
scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName);
|
||||
//m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": voice not enabled for parcel",
|
||||
// scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName);
|
||||
channel_uri = String.Empty;
|
||||
}
|
||||
else
|
||||
@@ -662,8 +667,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
parcelVoiceInfo = new LLSDParcelVoiceInfoResponse(scene.RegionInfo.RegionName, land.LocalID, creds);
|
||||
string r = LLSDHelpers.SerialiseLLSDReply(parcelVoiceInfo);
|
||||
|
||||
m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": {4}",
|
||||
scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, r);
|
||||
// m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": {4}",
|
||||
// scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, r);
|
||||
return r;
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -690,11 +695,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
public string ChatSessionRequest(Scene scene, string request, string path, string param,
|
||||
UUID agentID, Caps caps)
|
||||
{
|
||||
ScenePresence avatar = scene.GetScenePresence(agentID);
|
||||
string avatarName = avatar.Name;
|
||||
// ScenePresence avatar = scene.GetScenePresence(agentID);
|
||||
// string avatarName = avatar.Name;
|
||||
|
||||
m_log.DebugFormat("[VivoxVoice][CHATSESSION]: avatar \"{0}\": request: {1}, path: {2}, param: {3}",
|
||||
avatarName, request, path, param);
|
||||
// m_log.DebugFormat("[VivoxVoice][CHATSESSION]: avatar \"{0}\": request: {1}, path: {2}, param: {3}",
|
||||
// avatarName, request, path, param);
|
||||
return "<llsd>true</llsd>";
|
||||
}
|
||||
|
||||
@@ -744,7 +749,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return channelUri;
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxLoginPath = "http://{0}/api2/viv_signin.php?userid={1}&pwd={2}";
|
||||
|
||||
private static readonly string m_vivoxLoginPath = "https://{0}/api2/viv_signin.php?userid={1}&pwd={2}";
|
||||
|
||||
/// <summary>
|
||||
/// Perform administrative login for Vivox.
|
||||
@@ -756,7 +762,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, false);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxLogoutPath = "http://{0}/api2/viv_signout.php?auth_token={1}";
|
||||
private static readonly string m_vivoxLogoutPath = "https://{0}/api2/viv_signout.php?auth_token={1}";
|
||||
|
||||
/// <summary>
|
||||
/// Perform administrative logout for Vivox.
|
||||
@@ -767,7 +773,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, false);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxGetAccountPath = "http://{0}/api2/viv_get_acct.php?auth_token={1}&user_name={2}";
|
||||
|
||||
private static readonly string m_vivoxGetAccountPath = "https://{0}/api2/viv_get_acct.php?auth_token={1}&user_name={2}";
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve account information for the specified user.
|
||||
@@ -779,7 +786,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, true);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxNewAccountPath = "http://{0}/api2/viv_adm_acct_new.php?username={1}&pwd={2}&auth_token={3}";
|
||||
|
||||
private static readonly string m_vivoxNewAccountPath = "https://{0}/api2/viv_adm_acct_new.php?username={1}&pwd={2}&auth_token={3}";
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new account.
|
||||
@@ -793,7 +801,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, true);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxPasswordPath = "http://{0}/api2/viv_adm_password.php?user_name={1}&new_pwd={2}&auth_token={3}";
|
||||
|
||||
private static readonly string m_vivoxPasswordPath = "https://{0}/api2/viv_adm_password.php?user_name={1}&new_pwd={2}&auth_token={3}";
|
||||
|
||||
/// <summary>
|
||||
/// Change the user's password.
|
||||
@@ -804,7 +813,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, true);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxChannelPath = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_name={2}&auth_token={3}";
|
||||
|
||||
private static readonly string m_vivoxChannelPath = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_name={2}&auth_token={3}";
|
||||
|
||||
/// <summary>
|
||||
/// Create a channel.
|
||||
@@ -876,7 +886,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return false;
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxChannelSearchPath = "http://{0}/api2/viv_chan_search.php?cond_channame={1}&auth_token={2}";
|
||||
private static readonly string m_vivoxChannelSearchPath = "https://{0}/api2/viv_chan_search.php?cond_channame={1}&auth_token={2}";
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve a channel.
|
||||
@@ -1019,7 +1029,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return false;
|
||||
}
|
||||
|
||||
// private static readonly string m_vivoxChannelById = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
|
||||
// private static readonly string m_vivoxChannelById = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
|
||||
|
||||
// private XmlElement VivoxGetChannelById(string parent, string channelid)
|
||||
// {
|
||||
@@ -1031,7 +1041,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
// return VivoxCall(requrl, true);
|
||||
// }
|
||||
|
||||
private static readonly string m_vivoxChannelDel = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
|
||||
private static readonly string m_vivoxChannelDel = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
|
||||
|
||||
/// <summary>
|
||||
/// Delete a channel.
|
||||
@@ -1044,6 +1054,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
/// are required in a later phase.
|
||||
/// In this case the call handles parent and description as optional values.
|
||||
/// </summary>
|
||||
|
||||
private XmlElement VivoxDeleteChannel(string parent, string channelid)
|
||||
{
|
||||
string requrl = String.Format(m_vivoxChannelDel, m_vivoxServer, "delete", channelid, m_authToken);
|
||||
@@ -1054,11 +1065,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
return VivoxCall(requrl, true);
|
||||
}
|
||||
|
||||
private static readonly string m_vivoxChannelSearch = "http://{0}/api2/viv_chan_search.php?&cond_chanparent={1}&auth_token={2}";
|
||||
private static readonly string m_vivoxChannelSearch = "https://{0}/api2/viv_chan_search.php?&cond_chanparent={1}&auth_token={2}";
|
||||
|
||||
/// <summary>
|
||||
/// Return information on channels in the given directory
|
||||
/// </summary>
|
||||
|
||||
private XmlElement VivoxListChildren(string channelid)
|
||||
{
|
||||
string requrl = String.Format(m_vivoxChannelSearch, m_vivoxServer, channelid, m_authToken);
|
||||
@@ -1124,7 +1136,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
try
|
||||
{
|
||||
// Otherwise prepare the request
|
||||
m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
||||
//m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
||||
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl);
|
||||
|
||||
@@ -1324,5 +1336,21 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||
result = String.Empty;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void HandleDebug(string module, string[] cmd)
|
||||
{
|
||||
if (cmd.Length < 3)
|
||||
{
|
||||
MainConsole.Instance.Output("Error: missing on/off flag");
|
||||
return;
|
||||
}
|
||||
|
||||
if (cmd[2] == "on")
|
||||
m_dumpXml = true;
|
||||
else if (cmd[2] == "off")
|
||||
m_dumpXml = false;
|
||||
else
|
||||
MainConsole.Instance.Output("Error: only on and off are supported");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,6 +206,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
|
||||
}
|
||||
|
||||
scene.EventManager.OnNewClient += OnNewClient;
|
||||
scene.EventManager.OnMakeRootAgent += OnMakeRoot;
|
||||
scene.EventManager.OnMakeChildAgent += OnMakeChild;
|
||||
scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
|
||||
// The InstantMessageModule itself doesn't do this,
|
||||
// so lets see if things explode if we don't do it
|
||||
@@ -256,19 +258,34 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
|
||||
#endregion
|
||||
|
||||
#region EventHandlers
|
||||
|
||||
private void OnMakeRoot(ScenePresence sp)
|
||||
{
|
||||
if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);
|
||||
|
||||
sp.ControllingClient.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest;
|
||||
// Used for Notices and Group Invites/Accept/Reject
|
||||
sp.ControllingClient.OnInstantMessage += OnInstantMessage;
|
||||
// Send client their groups information.
|
||||
// SendAgentGroupDataUpdate(sp.ControllingClient, sp.UUID);
|
||||
// only send data viwer will ask rest later
|
||||
OnAgentDataUpdateRequest(sp.ControllingClient, sp.UUID, sp.UUID);
|
||||
}
|
||||
|
||||
private void OnMakeChild(ScenePresence sp)
|
||||
{
|
||||
if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);
|
||||
|
||||
sp.ControllingClient.OnUUIDGroupNameRequest -= HandleUUIDGroupNameRequest;
|
||||
sp.ControllingClient.OnInstantMessage -= OnInstantMessage;
|
||||
}
|
||||
|
||||
private void OnNewClient(IClientAPI client)
|
||||
{
|
||||
if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);
|
||||
|
||||
client.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest;
|
||||
client.OnAgentDataUpdateRequest += OnAgentDataUpdateRequest;
|
||||
client.OnRequestAvatarProperties += OnRequestAvatarProperties;
|
||||
|
||||
// Used for Notices and Group Invites/Accept/Reject
|
||||
client.OnInstantMessage += OnInstantMessage;
|
||||
|
||||
// Send client their groups information.
|
||||
SendAgentGroupDataUpdate(client, client.AgentId);
|
||||
}
|
||||
|
||||
private void OnRequestAvatarProperties(IClientAPI remoteClient, UUID avatarID)
|
||||
@@ -984,7 +1001,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
|
||||
msg.toAgentID = agentID.Guid;
|
||||
msg.dialog = dialog;
|
||||
msg.fromGroup = true;
|
||||
msg.offline = (byte)0;
|
||||
msg.offline = (byte)1; // Allow this message to be stored for offline use
|
||||
msg.ParentEstateID = 0;
|
||||
msg.Position = Vector3.Zero;
|
||||
msg.RegionID = UUID.Zero.Guid;
|
||||
|
||||
@@ -135,30 +135,49 @@ namespace OpenSim.Region.OptionalModules
|
||||
|
||||
private bool CanObjectEnter(UUID objectID, bool enteringRegion, Vector3 newPoint, Scene scene)
|
||||
{
|
||||
if (newPoint.X < -1f || newPoint.X > (scene.RegionInfo.RegionSizeX + 1) ||
|
||||
newPoint.Y < -1f || newPoint.Y > (scene.RegionInfo.RegionSizeY) )
|
||||
return true;
|
||||
|
||||
SceneObjectPart obj = scene.GetSceneObjectPart(objectID);
|
||||
Vector3 oldPoint = obj.GroupPosition;
|
||||
int objectCount = obj.ParentGroup.PrimCount;
|
||||
ILandObject oldParcel = scene.LandChannel.GetLandObject(oldPoint.X, oldPoint.Y);
|
||||
|
||||
if (obj == null)
|
||||
return false;
|
||||
|
||||
// Prim counts are determined by the location of the root prim. if we're
|
||||
// moving a child prim, just let it pass
|
||||
if (!obj.IsRoot)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
ILandObject newParcel = scene.LandChannel.GetLandObject(newPoint.X, newPoint.Y);
|
||||
|
||||
<<<<<<< HEAD
|
||||
// newParcel will be null only if it outside of our current region. If this is the case, then the
|
||||
// receiving permissions will perform the check.
|
||||
if (newParcel == null)
|
||||
return true;
|
||||
|
||||
// The prim hasn't crossed a region boundary so we don't need to worry
|
||||
=======
|
||||
if (newParcel == null)
|
||||
return true;
|
||||
|
||||
Vector3 oldPoint = obj.GroupPosition;
|
||||
ILandObject oldParcel = scene.LandChannel.GetLandObject(oldPoint.X, oldPoint.Y);
|
||||
|
||||
// The prim hasn't crossed a region boundry so we don't need to worry
|
||||
>>>>>>> avn/ubitvar
|
||||
// about prim counts here
|
||||
if(oldParcel.Equals(newParcel))
|
||||
if(oldParcel != null && oldParcel.Equals(newParcel))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Prim counts are determined by the location of the root prim. if we're
|
||||
// moving a child prim, just let it pass
|
||||
if(!obj.IsRoot)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
int objectCount = obj.ParentGroup.PrimCount;
|
||||
int usedPrims = newParcel.PrimCounts.Total;
|
||||
int simulatorCapacity = newParcel.GetSimulatorMaxPrimCount();
|
||||
|
||||
// TODO: Add Special Case here for temporary prims
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.XmlRpcGridRouterModule
|
||||
{
|
||||
if(!m_Channels.ContainsKey(itemID))
|
||||
{
|
||||
m_log.InfoFormat("[XMLRPC GRID ROUTER]: Attempted to unregister non-existing Item: {0}", itemID.ToString());
|
||||
//m_log.InfoFormat("[XMLRPC GRID ROUTER]: Attempted to unregister non-existing Item: {0}", itemID.ToString());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.XmlRpcRouterModule
|
||||
|
||||
public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
|
||||
{
|
||||
scriptEngine.PostScriptEvent(itemID, "xmlrpc_uri", new Object[] {uri});
|
||||
if (m_Enabled)
|
||||
{
|
||||
scriptEngine.PostScriptEvent(itemID, "xmlrpc_uri", new Object[] { uri });
|
||||
}
|
||||
}
|
||||
|
||||
public void UnRegisterReceiver(string channelID, UUID itemID)
|
||||
|
||||
@@ -1,29 +1,8 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
// ******************************************************************
|
||||
// Copyright (c) 2008, 2009 Melanie Thielker
|
||||
//
|
||||
// All rights reserved
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
@@ -131,8 +110,11 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
|
||||
{
|
||||
foreach (MenuItemData d in m_menuItems[UUID.Zero])
|
||||
{
|
||||
if (d.Mode == UserMode.God && (!m_scene.Permissions.IsGod(agentID)))
|
||||
continue;
|
||||
if (!m_scene.Permissions.IsGod(agentID))
|
||||
{
|
||||
if (d.Mode == UserMode.RegionManager && (!m_scene.Permissions.IsAdministrator(agentID)))
|
||||
continue;
|
||||
}
|
||||
|
||||
OSDMap loc = null;
|
||||
switch (d.Location)
|
||||
|
||||
@@ -205,8 +205,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
||||
{
|
||||
}
|
||||
|
||||
public bool ObjectGiveMoney(UUID objectID, UUID fromID, UUID toID, int amount)
|
||||
public bool ObjectGiveMoney(UUID objectID, UUID fromID, UUID toID, int amount, UUID txn, out string result)
|
||||
{
|
||||
result = String.Empty;
|
||||
string description = String.Format("Object {0} pays {1}", resolveObjectName(objectID), resolveAgentName(toID));
|
||||
|
||||
bool give_result = doMoneyTransfer(fromID, toID, amount, 2, description);
|
||||
@@ -842,6 +843,10 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
||||
if (module != null)
|
||||
module.BuyObject(remoteClient, categoryID, localID, saleType, salePrice);
|
||||
}
|
||||
|
||||
public void MoveMoney(UUID fromAgentID, UUID toAgentID, int amount, string text)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public enum TransactionType : int
|
||||
|
||||
@@ -61,10 +61,16 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
private readonly string m_firstname;
|
||||
private readonly string m_lastname;
|
||||
private readonly Vector3 m_startPos;
|
||||
<<<<<<< HEAD
|
||||
private readonly UUID m_uuid;
|
||||
=======
|
||||
private UUID m_uuid = UUID.Random();
|
||||
>>>>>>> avn/ubitvar
|
||||
private readonly Scene m_scene;
|
||||
private readonly UUID m_ownerID;
|
||||
|
||||
public List<uint> SelectedObjects {get; private set;}
|
||||
|
||||
public NPCAvatar(
|
||||
string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene)
|
||||
{
|
||||
@@ -94,6 +100,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
get { return m_scene; }
|
||||
}
|
||||
|
||||
public int PingTimeMS { get { return 0; } }
|
||||
|
||||
public UUID OwnerID
|
||||
{
|
||||
get { return m_ownerID; }
|
||||
@@ -248,7 +256,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
#pragma warning disable 67
|
||||
public event Action<IClientAPI> OnLogout;
|
||||
public event ObjectPermissions OnObjectPermissions;
|
||||
|
||||
public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
|
||||
public event MoneyTransferRequest OnMoneyTransferRequest;
|
||||
public event ParcelBuy OnParcelBuy;
|
||||
public event Action<IClientAPI> OnConnectionClosed;
|
||||
@@ -268,6 +276,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public event ObjectDrop OnObjectDrop;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
@@ -318,6 +327,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public event UpdatePrimTexture OnUpdatePrimTexture;
|
||||
public event UpdateVector OnUpdatePrimGroupPosition;
|
||||
public event UpdateVector OnUpdatePrimSinglePosition;
|
||||
public event ClientChangeObject onClientChangeObject;
|
||||
public event UpdatePrimRotation OnUpdatePrimGroupRotation;
|
||||
public event UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition;
|
||||
public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
|
||||
@@ -456,7 +466,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public event ClassifiedInfoRequest OnClassifiedInfoRequest;
|
||||
public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
|
||||
public event ClassifiedDelete OnClassifiedDelete;
|
||||
public event ClassifiedDelete OnClassifiedGodDelete;
|
||||
public event ClassifiedGodDelete OnClassifiedGodDelete;
|
||||
|
||||
public event EventNotificationAddRequest OnEventNotificationAddRequest;
|
||||
public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
|
||||
@@ -495,11 +505,12 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||
public event SendPostcard OnSendPostcard;
|
||||
public event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
|
||||
public event MuteListEntryUpdate OnUpdateMuteListEntry;
|
||||
public event MuteListEntryRemove OnRemoveMuteListEntry;
|
||||
public event GodlikeMessage onGodlikeMessage;
|
||||
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate;
|
||||
|
||||
public event GenericCall2 OnUpdateThrottles;
|
||||
#pragma warning restore 67
|
||||
|
||||
#endregion
|
||||
@@ -522,6 +533,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public virtual UUID AgentId
|
||||
{
|
||||
get { return m_uuid; }
|
||||
set { m_uuid = value; }
|
||||
}
|
||||
|
||||
public UUID SessionId
|
||||
@@ -626,6 +638,17 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
|
||||
public virtual void SetChildAgentThrottle(byte[] throttle)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void SetChildAgentThrottle(byte[] throttle, float factor)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SetAgentThrottleSilent(int throttle, int setting)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
public byte[] GetThrottlesPacked(float multiplier)
|
||||
{
|
||||
@@ -665,6 +688,11 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
|
||||
}
|
||||
|
||||
public virtual bool CanSendLayerData()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void SendLayerData(float[] map)
|
||||
{
|
||||
}
|
||||
@@ -772,6 +800,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
}
|
||||
|
||||
public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void SendRemoveInventoryItem(UUID itemID)
|
||||
{
|
||||
}
|
||||
@@ -788,7 +820,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data)
|
||||
public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
|
||||
{
|
||||
}
|
||||
public virtual void SendAbortXferPacket(ulong xferID)
|
||||
@@ -933,10 +965,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
|
||||
public void Close()
|
||||
{
|
||||
Close(false);
|
||||
Close(true, false);
|
||||
}
|
||||
|
||||
public void Close(bool force)
|
||||
public void Close(bool sendStop, bool force)
|
||||
{
|
||||
// Remove ourselves from the scene
|
||||
m_scene.RemoveClient(AgentId, false);
|
||||
@@ -1269,5 +1301,14 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
}
|
||||
|
||||
public void SendPartFullUpdate(ISceneEntity ent, uint? parentID)
|
||||
{
|
||||
}
|
||||
|
||||
public int GetAgentThrottleSilent(int throttle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,10 +167,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
npcAvatar.CircuitCode = (uint)Util.RandomClass.Next(0,
|
||||
int.MaxValue);
|
||||
|
||||
m_log.DebugFormat(
|
||||
"[NPC MODULE]: Creating NPC {0} {1} {2}, owner={3}, senseAsAgent={4} at {5} in {6}",
|
||||
firstname, lastname, npcAvatar.AgentId, owner,
|
||||
senseAsAgent, position, scene.RegionInfo.RegionName);
|
||||
// m_log.DebugFormat(
|
||||
// "[NPC MODULE]: Creating NPC {0} {1} {2}, owner={3}, senseAsAgent={4} at {5} in {6}",
|
||||
// firstname, lastname, npcAvatar.AgentId, owner, senseAsAgent, position, scene.RegionInfo.RegionName);
|
||||
|
||||
AgentCircuitData acd = new AgentCircuitData();
|
||||
acd.AgentID = npcAvatar.AgentId;
|
||||
@@ -192,36 +191,31 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
}
|
||||
*/
|
||||
|
||||
lock (m_avatars)
|
||||
{
|
||||
scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode,
|
||||
acd);
|
||||
scene.AddNewAgent(npcAvatar, PresenceType.Npc);
|
||||
// ManualResetEvent ev = new ManualResetEvent(false);
|
||||
|
||||
ScenePresence sp;
|
||||
if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
|
||||
// Util.FireAndForget(delegate(object x) {
|
||||
lock (m_avatars)
|
||||
{
|
||||
/*
|
||||
m_log.DebugFormat(
|
||||
"[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}",
|
||||
sp.Name, sp.UUID);
|
||||
*/
|
||||
scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd);
|
||||
scene.AddNewAgent(npcAvatar, PresenceType.Npc);
|
||||
|
||||
sp.CompleteMovement(npcAvatar, false);
|
||||
m_avatars.Add(npcAvatar.AgentId, npcAvatar);
|
||||
m_log.DebugFormat("[NPC MODULE]: Created NPC {0} {1}", npcAvatar.AgentId, sp.Name);
|
||||
|
||||
return npcAvatar.AgentId;
|
||||
ScenePresence sp;
|
||||
if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
|
||||
{
|
||||
|
||||
sp.CompleteMovement(npcAvatar, false);
|
||||
m_avatars.Add(npcAvatar.AgentId, npcAvatar);
|
||||
// m_log.DebugFormat("[NPC MODULE]: Created NPC {0} {1}", npcAvatar.AgentId, sp.Name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.WarnFormat(
|
||||
"[NPC MODULE]: Could not find scene presence for NPC {0} {1}",
|
||||
sp.Name, sp.UUID);
|
||||
// ev.Set();
|
||||
// });
|
||||
|
||||
return UUID.Zero;
|
||||
}
|
||||
}
|
||||
// ev.WaitOne();
|
||||
|
||||
// m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId);
|
||||
|
||||
return npcAvatar.AgentId;
|
||||
}
|
||||
|
||||
public bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos,
|
||||
@@ -436,9 +430,15 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
NPCAvatar av;
|
||||
if (m_avatars.TryGetValue(npcID, out av))
|
||||
{
|
||||
if (npcID == callerID)
|
||||
return true;
|
||||
return CheckPermissions(av, callerID);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,8 +457,12 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
/// <returns>true if they do, false if they don't.</returns>
|
||||
private bool CheckPermissions(NPCAvatar av, UUID callerID)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
return callerID == UUID.Zero || av.OwnerID == UUID.Zero ||
|
||||
av.OwnerID == callerID || av.AgentId == callerID;
|
||||
=======
|
||||
return callerID == UUID.Zero || av.OwnerID == UUID.Zero || av.OwnerID == callerID || av.AgentId == callerID;
|
||||
>>>>>>> avn/ubitvar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
|
||||
// ScenePresence.SendInitialData() to reset our entire appearance.
|
||||
m_scene.AssetService.Store(AssetHelpers.CreateNotecardAsset(originalFace8TextureId));
|
||||
|
||||
m_afMod.SetAppearance(sp, originalTe, null, null);
|
||||
m_afMod.SetAppearance(sp, originalTe, null, new WearableCacheItem[0] );
|
||||
|
||||
UUID npcId = m_npcMod.CreateNPC("John", "Smith", new Vector3(128, 128, 30), UUID.Zero, true, m_scene, sp.Appearance);
|
||||
|
||||
@@ -484,4 +484,4 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
|
||||
Assert.That(npc.ParentID, Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,4 +334,4 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user