experimental function. Results still too volatile to be usefull
parent
abadad47d3
commit
78fa544f0d
|
@ -5408,5 +5408,24 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
|
||||||
Acceleration = Vector3.Zero;
|
Acceleration = Vector3.Zero;
|
||||||
APIDActive = false;
|
APIDActive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handle osVolumeDetect
|
||||||
|
public void ScriptSetVolumeDetect(bool makeVolumeDetect)
|
||||||
|
{
|
||||||
|
if(_parentID == 0)
|
||||||
|
{
|
||||||
|
// if root prim do it via SOG
|
||||||
|
ParentGroup.ScriptSetVolumeDetect(makeVolumeDetect);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wasUsingPhysics = ((Flags & PrimFlags.Physics) != 0);
|
||||||
|
bool wasTemporary = ((Flags & PrimFlags.TemporaryOnRez) != 0);
|
||||||
|
bool wasPhantom = ((Flags & PrimFlags.Phantom) != 0);
|
||||||
|
|
||||||
|
if(PhysActor != null)
|
||||||
|
PhysActor.Building = true;
|
||||||
|
UpdatePrimFlags(wasUsingPhysics,wasTemporary,wasPhantom,makeVolumeDetect,false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4279,5 +4279,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
else
|
else
|
||||||
m_host.CollisionSoundType = -1;
|
m_host.CollisionSoundType = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// still not very usefull, detector is lost on rez, restarts, etc
|
||||||
|
public void osVolumeDetect(int detect)
|
||||||
|
{
|
||||||
|
m_host.AddScriptLPS(1);
|
||||||
|
|
||||||
|
if (m_host.ParentGroup == null || m_host.ParentGroup.IsDeleted || m_host.ParentGroup.IsAttachment)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_host.ScriptSetVolumeDetect(detect != 0);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -477,5 +477,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
||||||
LSL_String osRequestURL(LSL_List options);
|
LSL_String osRequestURL(LSL_List options);
|
||||||
LSL_String osRequestSecureURL(LSL_List options);
|
LSL_String osRequestSecureURL(LSL_List options);
|
||||||
void osCollisionSound(string impact_sound, double impact_volume);
|
void osCollisionSound(string impact_sound, double impact_volume);
|
||||||
|
void osVolumeDetect(int detect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1094,11 +1094,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osCollisionSound(impact_sound, impact_volume);
|
m_OSSL_Functions.osCollisionSound(impact_sound, impact_volume);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
public void osVolumeDetect(int detect)
|
public void osVolumeDetect(int detect)
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osVolumeDetect(detect);
|
m_OSSL_Functions.osVolumeDetect(detect);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue