diff options
author | Melanie | 2012-05-14 22:45:54 +0200 |
---|---|---|
committer | Melanie | 2012-05-14 22:45:54 +0200 |
commit | e3c376156c37fe8bf1b0e0b69cb4acd655d3528f (patch) | |
tree | 54b7b6f43ed517e98c4f7e7cef3b466dcbecc413 /OpenSim/Region/ScriptEngine/Shared | |
parent | Check parcel entry permissions when moving objects (diff) | |
download | opensim-SC-e3c376156c37fe8bf1b0e0b69cb4acd655d3528f.zip opensim-SC-e3c376156c37fe8bf1b0e0b69cb4acd655d3528f.tar.gz opensim-SC-e3c376156c37fe8bf1b0e0b69cb4acd655d3528f.tar.bz2 opensim-SC-e3c376156c37fe8bf1b0e0b69cb4acd655d3528f.tar.xz |
Completely revamp collision handling. Now works as it is supposed to.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6523c2d..edabc2e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3198,14 +3198,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3198 | { | 3198 | { |
3199 | m_host.AddScriptLPS(1); | 3199 | m_host.AddScriptLPS(1); |
3200 | m_host.CollisionFilter.Clear(); | 3200 | m_host.CollisionFilter.Clear(); |
3201 | if (id != null) | 3201 | UUID objectID; |
3202 | { | 3202 | |
3203 | m_host.CollisionFilter.Add(accept,id); | 3203 | if (!UUID.TryParse(id, out objectID)) |
3204 | } | 3204 | objectID = UUID.Zero; |
3205 | else | 3205 | |
3206 | { | 3206 | if (objectID == UUID.Zero && name == "") |
3207 | m_host.CollisionFilter.Add(accept,name); | 3207 | return; |
3208 | } | 3208 | |
3209 | m_host.CollisionFilter.Add(accept,objectID.ToString() + name); | ||
3209 | } | 3210 | } |
3210 | 3211 | ||
3211 | public void llTakeControls(int controls, int accept, int pass_on) | 3212 | public void llTakeControls(int controls, int accept, int pass_on) |
@@ -5023,11 +5024,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5023 | m_host.AddScriptLPS(1); | 5024 | m_host.AddScriptLPS(1); |
5024 | if (pass == 0) | 5025 | if (pass == 0) |
5025 | { | 5026 | { |
5026 | m_host.ParentGroup.PassCollision = false; | 5027 | m_host.PassCollisions = false; |
5027 | } | 5028 | } |
5028 | else | 5029 | else |
5029 | { | 5030 | { |
5030 | m_host.ParentGroup.PassCollision = true; | 5031 | m_host.PassCollisions = true; |
5031 | } | 5032 | } |
5032 | } | 5033 | } |
5033 | 5034 | ||