Merge branch 'avination' into careminster
commit
c6e6614a44
|
@ -70,6 +70,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
|
|
||||||
private string m_name = "RemoteAdminPlugin";
|
private string m_name = "RemoteAdminPlugin";
|
||||||
private string m_version = "0.0";
|
private string m_version = "0.0";
|
||||||
|
private string m_openSimVersion;
|
||||||
|
|
||||||
public string Version
|
public string Version
|
||||||
{
|
{
|
||||||
|
@ -89,6 +90,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
|
|
||||||
public void Initialise(OpenSimBase openSim)
|
public void Initialise(OpenSimBase openSim)
|
||||||
{
|
{
|
||||||
|
m_openSimVersion = openSim.GetVersionText();
|
||||||
|
|
||||||
m_configSource = openSim.ConfigSource.Source;
|
m_configSource = openSim.ConfigSource.Source;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -159,6 +162,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
|
|
||||||
// Misc
|
// Misc
|
||||||
availableMethods["admin_refresh_search"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRefreshSearch);
|
availableMethods["admin_refresh_search"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRefreshSearch);
|
||||||
|
availableMethods["admin_get_opensim_version"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcGetOpenSimVersion);
|
||||||
|
|
||||||
// Either enable full remote functionality or just selected features
|
// Either enable full remote functionality or just selected features
|
||||||
string enabledMethods = m_config.GetString("enabled_methods", "all");
|
string enabledMethods = m_config.GetString("enabled_methods", "all");
|
||||||
|
@ -1977,6 +1981,18 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
m_log.Info("[RADMIN]: Refresh Search Request complete");
|
m_log.Info("[RADMIN]: Refresh Search Request complete");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void XmlRpcGetOpenSimVersion(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)
|
||||||
|
{
|
||||||
|
m_log.Info("[RADMIN]: Received Get OpenSim Version Request");
|
||||||
|
|
||||||
|
Hashtable responseData = (Hashtable)response.Value;
|
||||||
|
|
||||||
|
responseData["version"] = m_openSimVersion;
|
||||||
|
responseData["success"] = true;
|
||||||
|
|
||||||
|
m_log.Info("[RADMIN]: Get OpenSim Version Request complete");
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Parse a float with the given parameter name from a request data hash table.
|
/// Parse a float with the given parameter name from a request data hash table.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -573,7 +573,7 @@ namespace OpenSim.Framework.Servers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected string GetVersionText()
|
public string GetVersionText()
|
||||||
{
|
{
|
||||||
return String.Format("Version: {0} (interface version {1})", m_version, VersionInfo.MajorInterfaceVersion);
|
return String.Format("Version: {0} (interface version {1})", m_version, VersionInfo.MajorInterfaceVersion);
|
||||||
}
|
}
|
||||||
|
|
|
@ -533,6 +533,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
ResponseBody = e.Message;
|
ResponseBody = e.Message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ResponseBody == null)
|
||||||
|
ResponseBody = String.Empty;
|
||||||
|
|
||||||
_finished = true;
|
_finished = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -546,6 +549,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
response.Close();
|
response.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ResponseBody == null)
|
||||||
|
ResponseBody = String.Empty;
|
||||||
|
|
||||||
_finished = true;
|
_finished = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2052,11 +2052,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
EventManager.TriggerPrimsLoaded(this);
|
EventManager.TriggerPrimsLoaded(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SuportsRayCastFiltered()
|
public bool SupportsRayCastFiltered()
|
||||||
{
|
{
|
||||||
if (PhysicsScene == null)
|
if (PhysicsScene == null)
|
||||||
return false;
|
return false;
|
||||||
return PhysicsScene.SuportsRaycastWorldFiltered();
|
return PhysicsScene.SupportsRaycastWorldFiltered();
|
||||||
}
|
}
|
||||||
|
|
||||||
public object RayCastFiltered(Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter)
|
public object RayCastFiltered(Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter)
|
||||||
|
|
|
@ -357,7 +357,7 @@ namespace OpenSim.Region.Physics.Manager
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool SuportsRaycastWorldFiltered()
|
public virtual bool SupportsRaycastWorldFiltered()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2643,7 +2643,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool SuportsRaycastWorldFiltered()
|
public override bool SupportsRaycastWorldFiltered()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3049,7 +3049,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return src.ToLower();
|
return src.ToLower();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void llGiveMoney(string destination, int amount)
|
public LSL_Integer llGiveMoney(string destination, int amount)
|
||||||
{
|
{
|
||||||
Util.FireAndForget(x =>
|
Util.FireAndForget(x =>
|
||||||
{
|
{
|
||||||
|
@ -3083,6 +3083,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
money.ObjectGiveMoney(
|
money.ObjectGiveMoney(
|
||||||
m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero);
|
m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset)
|
public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset)
|
||||||
|
@ -12309,7 +12311,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL);
|
bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL);
|
||||||
|
|
||||||
|
|
||||||
if (World.SuportsRayCastFiltered())
|
if (World.SupportsRayCastFiltered())
|
||||||
{
|
{
|
||||||
if (dist == 0)
|
if (dist == 0)
|
||||||
return list;
|
return list;
|
||||||
|
@ -12372,13 +12374,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (checkTerrain)
|
|
||||||
{
|
|
||||||
ContactResult? groundContact = GroundIntersection(rayStart, rayEnd);
|
|
||||||
if (groundContact != null)
|
|
||||||
results.Add((ContactResult)groundContact);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (checkAgents)
|
if (checkAgents)
|
||||||
{
|
{
|
||||||
ContactResult[] agentHits = AvatarIntersection(rayStart, rayEnd);
|
ContactResult[] agentHits = AvatarIntersection(rayStart, rayEnd);
|
||||||
|
@ -12394,6 +12389,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Double check this
|
||||||
|
if (checkTerrain)
|
||||||
|
{
|
||||||
|
bool skipGroundCheck = false;
|
||||||
|
|
||||||
|
foreach (ContactResult c in results)
|
||||||
|
{
|
||||||
|
if (c.ConsumerID == 0) // Physics gave us a ground collision
|
||||||
|
skipGroundCheck = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!skipGroundCheck)
|
||||||
|
{
|
||||||
|
ContactResult? groundContact = GroundIntersection(rayStart, rayEnd);
|
||||||
|
if (groundContact != null)
|
||||||
|
results.Add((ContactResult)groundContact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
results.Sort(delegate(ContactResult a, ContactResult b)
|
results.Sort(delegate(ContactResult a, ContactResult b)
|
||||||
{
|
{
|
||||||
return a.Depth.CompareTo(b.Depth);
|
return a.Depth.CompareTo(b.Depth);
|
||||||
|
|
|
@ -208,7 +208,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
||||||
LSL_Float llGetWallclock();
|
LSL_Float llGetWallclock();
|
||||||
void llGiveInventory(string destination, string inventory);
|
void llGiveInventory(string destination, string inventory);
|
||||||
void llGiveInventoryList(string destination, string category, LSL_List inventory);
|
void llGiveInventoryList(string destination, string category, LSL_List inventory);
|
||||||
void llGiveMoney(string destination, int amount);
|
LSL_Integer llGiveMoney(string destination, int amount);
|
||||||
LSL_String llTransferLindenDollars(string destination, int amount);
|
LSL_String llTransferLindenDollars(string destination, int amount);
|
||||||
void llGodLikeRezObject(string inventory, LSL_Vector pos);
|
void llGodLikeRezObject(string inventory, LSL_Vector pos);
|
||||||
LSL_Float llGround(LSL_Vector offset);
|
LSL_Float llGround(LSL_Vector offset);
|
||||||
|
|
|
@ -876,9 +876,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
|
m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void llGiveMoney(string destination, int amount)
|
public LSL_Integer llGiveMoney(string destination, int amount)
|
||||||
{
|
{
|
||||||
m_LSL_Functions.llGiveMoney(destination, amount);
|
return m_LSL_Functions.llGiveMoney(destination, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_String llTransferLindenDollars(string destination, int amount)
|
public LSL_String llTransferLindenDollars(string destination, int amount)
|
||||||
|
|
Loading…
Reference in New Issue