aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie2012-05-14 22:45:54 +0200
committerMelanie2012-05-14 22:45:54 +0200
commite3c376156c37fe8bf1b0e0b69cb4acd655d3528f (patch)
tree54b7b6f43ed517e98c4f7e7cef3b466dcbecc413 /OpenSim/Region/ScriptEngine
parentCheck parcel entry permissions when moving objects (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs21
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