diff options
author | Melanie | 2013-01-24 23:25:38 +0000 |
---|---|---|
committer | Melanie | 2013-01-24 23:25:38 +0000 |
commit | c6e6614a447b541d9d985c2a3dd3bb50a89f9b07 (patch) | |
tree | 023ae4d98fdfb20e8d1cd9c6ce4988e4f2dec842 /OpenSim/Region | |
parent | Merge branch 'master' into careminster (diff) | |
parent | Make llGiveMoney async again. The return value is now the constant 1 to make (diff) | |
download | opensim-SC_OLD-c6e6614a447b541d9d985c2a3dd3bb50a89f9b07.zip opensim-SC_OLD-c6e6614a447b541d9d985c2a3dd3bb50a89f9b07.tar.gz opensim-SC_OLD-c6e6614a447b541d9d985c2a3dd3bb50a89f9b07.tar.bz2 opensim-SC_OLD-c6e6614a447b541d9d985c2a3dd3bb50a89f9b07.tar.xz |
Merge branch 'avination' into careminster
Diffstat (limited to 'OpenSim/Region')
7 files changed, 36 insertions, 16 deletions
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) |