diff options
Diffstat (limited to '')
9 files changed, 54 insertions, 18 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index 9f3844b..49fc566 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -70,6 +70,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
70 | 70 | ||
71 | private string m_name = "RemoteAdminPlugin"; | 71 | private string m_name = "RemoteAdminPlugin"; |
72 | private string m_version = "0.0"; | 72 | private string m_version = "0.0"; |
73 | private string m_openSimVersion; | ||
73 | 74 | ||
74 | public string Version | 75 | public string Version |
75 | { | 76 | { |
@@ -89,6 +90,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
89 | 90 | ||
90 | public void Initialise(OpenSimBase openSim) | 91 | public void Initialise(OpenSimBase openSim) |
91 | { | 92 | { |
93 | m_openSimVersion = openSim.GetVersionText(); | ||
94 | |||
92 | m_configSource = openSim.ConfigSource.Source; | 95 | m_configSource = openSim.ConfigSource.Source; |
93 | try | 96 | try |
94 | { | 97 | { |
@@ -159,6 +162,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
159 | 162 | ||
160 | // Misc | 163 | // Misc |
161 | availableMethods["admin_refresh_search"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRefreshSearch); | 164 | availableMethods["admin_refresh_search"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRefreshSearch); |
165 | availableMethods["admin_get_opensim_version"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcGetOpenSimVersion); | ||
162 | 166 | ||
163 | // Either enable full remote functionality or just selected features | 167 | // Either enable full remote functionality or just selected features |
164 | string enabledMethods = m_config.GetString("enabled_methods", "all"); | 168 | string enabledMethods = m_config.GetString("enabled_methods", "all"); |
@@ -1977,6 +1981,18 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
1977 | m_log.Info("[RADMIN]: Refresh Search Request complete"); | 1981 | m_log.Info("[RADMIN]: Refresh Search Request complete"); |
1978 | } | 1982 | } |
1979 | 1983 | ||
1984 | private void XmlRpcGetOpenSimVersion(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient) | ||
1985 | { | ||
1986 | m_log.Info("[RADMIN]: Received Get OpenSim Version Request"); | ||
1987 | |||
1988 | Hashtable responseData = (Hashtable)response.Value; | ||
1989 | |||
1990 | responseData["version"] = m_openSimVersion; | ||
1991 | responseData["success"] = true; | ||
1992 | |||
1993 | m_log.Info("[RADMIN]: Get OpenSim Version Request complete"); | ||
1994 | } | ||
1995 | |||
1980 | /// <summary> | 1996 | /// <summary> |
1981 | /// Parse a float with the given parameter name from a request data hash table. | 1997 | /// Parse a float with the given parameter name from a request data hash table. |
1982 | /// </summary> | 1998 | /// </summary> |
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 47baac8..65ccd10 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs | |||
@@ -573,7 +573,7 @@ namespace OpenSim.Framework.Servers | |||
573 | } | 573 | } |
574 | } | 574 | } |
575 | 575 | ||
576 | protected string GetVersionText() | 576 | public string GetVersionText() |
577 | { | 577 | { |
578 | return String.Format("Version: {0} (interface version {1})", m_version, VersionInfo.MajorInterfaceVersion); | 578 | return String.Format("Version: {0} (interface version {1})", m_version, VersionInfo.MajorInterfaceVersion); |
579 | } | 579 | } |
@@ -674,4 +674,4 @@ namespace OpenSim.Framework.Servers | |||
674 | m_console.OutputFormat(format, components); | 674 | m_console.OutputFormat(format, components); |
675 | } | 675 | } |
676 | } | 676 | } |
677 | } \ No newline at end of file | 677 | } |
diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index 708b99d..0276267 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs | |||
@@ -533,6 +533,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | |||
533 | ResponseBody = e.Message; | 533 | ResponseBody = e.Message; |
534 | } | 534 | } |
535 | 535 | ||
536 | if (ResponseBody == null) | ||
537 | ResponseBody = String.Empty; | ||
538 | |||
536 | _finished = true; | 539 | _finished = true; |
537 | return; | 540 | return; |
538 | } | 541 | } |
@@ -546,6 +549,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | |||
546 | response.Close(); | 549 | response.Close(); |
547 | } | 550 | } |
548 | 551 | ||
552 | if (ResponseBody == null) | ||
553 | ResponseBody = String.Empty; | ||
554 | |||
549 | _finished = true; | 555 | _finished = true; |
550 | } | 556 | } |
551 | 557 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f229e33..9cdcd96 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2052,11 +2052,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2052 | EventManager.TriggerPrimsLoaded(this); | 2052 | EventManager.TriggerPrimsLoaded(this); |
2053 | } | 2053 | } |
2054 | 2054 | ||
2055 | public bool SuportsRayCastFiltered() | 2055 | public bool SupportsRayCastFiltered() |
2056 | { | 2056 | { |
2057 | if (PhysicsScene == null) | 2057 | if (PhysicsScene == null) |
2058 | return false; | 2058 | return false; |
2059 | return PhysicsScene.SuportsRaycastWorldFiltered(); | 2059 | return PhysicsScene.SupportsRaycastWorldFiltered(); |
2060 | } | 2060 | } |
2061 | 2061 | ||
2062 | public object RayCastFiltered(Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter) | 2062 | public object RayCastFiltered(Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter) |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index f82b597..fe418d3 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -357,7 +357,7 @@ namespace OpenSim.Region.Physics.Manager | |||
357 | return null; | 357 | return null; |
358 | } | 358 | } |
359 | 359 | ||
360 | public virtual bool SuportsRaycastWorldFiltered() | 360 | public virtual bool SupportsRaycastWorldFiltered() |
361 | { | 361 | { |
362 | return false; | 362 | return false; |
363 | } | 363 | } |
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs index 5113210..510cbe9 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | |||
@@ -2643,7 +2643,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2643 | } | 2643 | } |
2644 | } | 2644 | } |
2645 | 2645 | ||
2646 | public override bool SuportsRaycastWorldFiltered() | 2646 | public override bool SupportsRaycastWorldFiltered() |
2647 | { | 2647 | { |
2648 | return true; | 2648 | return true; |
2649 | } | 2649 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 70dea08..667cc09 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3049,7 +3049,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3049 | return src.ToLower(); | 3049 | return src.ToLower(); |
3050 | } | 3050 | } |
3051 | 3051 | ||
3052 | public void llGiveMoney(string destination, int amount) | 3052 | public LSL_Integer llGiveMoney(string destination, int amount) |
3053 | { | 3053 | { |
3054 | Util.FireAndForget(x => | 3054 | Util.FireAndForget(x => |
3055 | { | 3055 | { |
@@ -3083,6 +3083,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3083 | money.ObjectGiveMoney( | 3083 | money.ObjectGiveMoney( |
3084 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero); | 3084 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero); |
3085 | }); | 3085 | }); |
3086 | |||
3087 | return 0; | ||
3086 | } | 3088 | } |
3087 | 3089 | ||
3088 | public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | 3090 | 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 | |||
12309 | bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL); | 12311 | bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL); |
12310 | 12312 | ||
12311 | 12313 | ||
12312 | if (World.SuportsRayCastFiltered()) | 12314 | if (World.SupportsRayCastFiltered()) |
12313 | { | 12315 | { |
12314 | if (dist == 0) | 12316 | if (dist == 0) |
12315 | return list; | 12317 | return list; |
@@ -12372,13 +12374,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12372 | } | 12374 | } |
12373 | else | 12375 | else |
12374 | { | 12376 | { |
12375 | if (checkTerrain) | ||
12376 | { | ||
12377 | ContactResult? groundContact = GroundIntersection(rayStart, rayEnd); | ||
12378 | if (groundContact != null) | ||
12379 | results.Add((ContactResult)groundContact); | ||
12380 | } | ||
12381 | |||
12382 | if (checkAgents) | 12377 | if (checkAgents) |
12383 | { | 12378 | { |
12384 | ContactResult[] agentHits = AvatarIntersection(rayStart, rayEnd); | 12379 | ContactResult[] agentHits = AvatarIntersection(rayStart, rayEnd); |
@@ -12394,6 +12389,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12394 | } | 12389 | } |
12395 | } | 12390 | } |
12396 | 12391 | ||
12392 | // Double check this | ||
12393 | if (checkTerrain) | ||
12394 | { | ||
12395 | bool skipGroundCheck = false; | ||
12396 | |||
12397 | foreach (ContactResult c in results) | ||
12398 | { | ||
12399 | if (c.ConsumerID == 0) // Physics gave us a ground collision | ||
12400 | skipGroundCheck = true; | ||
12401 | } | ||
12402 | |||
12403 | if (!skipGroundCheck) | ||
12404 | { | ||
12405 | ContactResult? groundContact = GroundIntersection(rayStart, rayEnd); | ||
12406 | if (groundContact != null) | ||
12407 | results.Add((ContactResult)groundContact); | ||
12408 | } | ||
12409 | } | ||
12410 | |||
12397 | results.Sort(delegate(ContactResult a, ContactResult b) | 12411 | results.Sort(delegate(ContactResult a, ContactResult b) |
12398 | { | 12412 | { |
12399 | return a.Depth.CompareTo(b.Depth); | 12413 | return a.Depth.CompareTo(b.Depth); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index 8eeb4d2..9bf6f9b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -208,7 +208,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
208 | LSL_Float llGetWallclock(); | 208 | LSL_Float llGetWallclock(); |
209 | void llGiveInventory(string destination, string inventory); | 209 | void llGiveInventory(string destination, string inventory); |
210 | void llGiveInventoryList(string destination, string category, LSL_List inventory); | 210 | void llGiveInventoryList(string destination, string category, LSL_List inventory); |
211 | void llGiveMoney(string destination, int amount); | 211 | LSL_Integer llGiveMoney(string destination, int amount); |
212 | LSL_String llTransferLindenDollars(string destination, int amount); | 212 | LSL_String llTransferLindenDollars(string destination, int amount); |
213 | void llGodLikeRezObject(string inventory, LSL_Vector pos); | 213 | void llGodLikeRezObject(string inventory, LSL_Vector pos); |
214 | LSL_Float llGround(LSL_Vector offset); | 214 | LSL_Float llGround(LSL_Vector offset); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index ef71d7b..8ecc4f8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -876,9 +876,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
876 | m_LSL_Functions.llGiveInventoryList(destination, category, inventory); | 876 | m_LSL_Functions.llGiveInventoryList(destination, category, inventory); |
877 | } | 877 | } |
878 | 878 | ||
879 | public void llGiveMoney(string destination, int amount) | 879 | public LSL_Integer llGiveMoney(string destination, int amount) |
880 | { | 880 | { |
881 | m_LSL_Functions.llGiveMoney(destination, amount); | 881 | return m_LSL_Functions.llGiveMoney(destination, amount); |
882 | } | 882 | } |
883 | 883 | ||
884 | public LSL_String llTransferLindenDollars(string destination, int amount) | 884 | public LSL_String llTransferLindenDollars(string destination, int amount) |