aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2016-08-27 19:25:47 +0100
committerUbitUmarov2016-08-27 19:25:47 +0100
commit78fa544f0d12d1c946f0b81200167f79aa83f9fc (patch)
treee854d6530a8bec0d93ef062371455a100a2d6119
parent stack overflow is (not)funny :) (diff)
downloadopensim-SC-78fa544f0d12d1c946f0b81200167f79aa83f9fc.zip
opensim-SC-78fa544f0d12d1c946f0b81200167f79aa83f9fc.tar.gz
opensim-SC-78fa544f0d12d1c946f0b81200167f79aa83f9fc.tar.bz2
opensim-SC-78fa544f0d12d1c946f0b81200167f79aa83f9fc.tar.xz
experimental function. Results still too volatile to be usefull
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs19
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs12
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs3
4 files changed, 33 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index cdf97b6..bf78c3f 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -5408,5 +5408,24 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
5408 Acceleration = Vector3.Zero; 5408 Acceleration = Vector3.Zero;
5409 APIDActive = false; 5409 APIDActive = false;
5410 } 5410 }
5411
5412 // handle osVolumeDetect
5413 public void ScriptSetVolumeDetect(bool makeVolumeDetect)
5414 {
5415 if(_parentID == 0)
5416 {
5417 // if root prim do it via SOG
5418 ParentGroup.ScriptSetVolumeDetect(makeVolumeDetect);
5419 return;
5420 }
5421
5422 bool wasUsingPhysics = ((Flags & PrimFlags.Physics) != 0);
5423 bool wasTemporary = ((Flags & PrimFlags.TemporaryOnRez) != 0);
5424 bool wasPhantom = ((Flags & PrimFlags.Phantom) != 0);
5425
5426 if(PhysActor != null)
5427 PhysActor.Building = true;
5428 UpdatePrimFlags(wasUsingPhysics,wasTemporary,wasPhantom,makeVolumeDetect,false);
5429 }
5411 } 5430 }
5412} 5431}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 32405d7..6168fe0 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -4279,5 +4279,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4279 else 4279 else
4280 m_host.CollisionSoundType = -1; 4280 m_host.CollisionSoundType = -1;
4281 } 4281 }
4282
4283 // still not very usefull, detector is lost on rez, restarts, etc
4284 public void osVolumeDetect(int detect)
4285 {
4286 m_host.AddScriptLPS(1);
4287
4288 if (m_host.ParentGroup == null || m_host.ParentGroup.IsDeleted || m_host.ParentGroup.IsAttachment)
4289 return;
4290
4291 m_host.ScriptSetVolumeDetect(detect != 0);
4292 }
4293
4282 } 4294 }
4283} 4295}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index 8851e5f..5ce859e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -477,5 +477,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
477 LSL_String osRequestURL(LSL_List options); 477 LSL_String osRequestURL(LSL_List options);
478 LSL_String osRequestSecureURL(LSL_List options); 478 LSL_String osRequestSecureURL(LSL_List options);
479 void osCollisionSound(string impact_sound, double impact_volume); 479 void osCollisionSound(string impact_sound, double impact_volume);
480 void osVolumeDetect(int detect);
480 } 481 }
481} 482}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index 164c5cb..c5cb88e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -1094,11 +1094,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
1094 { 1094 {
1095 m_OSSL_Functions.osCollisionSound(impact_sound, impact_volume); 1095 m_OSSL_Functions.osCollisionSound(impact_sound, impact_volume);
1096 } 1096 }
1097/* 1097
1098 public void osVolumeDetect(int detect) 1098 public void osVolumeDetect(int detect)
1099 { 1099 {
1100 m_OSSL_Functions.osVolumeDetect(detect); 1100 m_OSSL_Functions.osVolumeDetect(detect);
1101 } 1101 }
1102*/
1103 } 1102 }
1104} 1103}