diff options
Diffstat (limited to '')
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 | } |