diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 5456282..f4ccc46 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1431,21 +1431,45 @@ namespace OpenSim.Region.Environment.Scenes | |||
1431 | { | 1431 | { |
1432 | bool IsTemporary = ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0); | 1432 | bool IsTemporary = ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0); |
1433 | bool IsPhantom = ((RootPart.Flags & PrimFlags.Phantom) != 0); | 1433 | bool IsPhantom = ((RootPart.Flags & PrimFlags.Phantom) != 0); |
1434 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, IsTemporary, IsPhantom); | 1434 | bool IsVolumeDetect = RootPart.VolumeDetectActive; |
1435 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, IsTemporary, IsPhantom, IsVolumeDetect); | ||
1435 | } | 1436 | } |
1436 | 1437 | ||
1437 | public void ScriptSetTemporaryStatus(bool TemporaryStatus) | 1438 | public void ScriptSetTemporaryStatus(bool TemporaryStatus) |
1438 | { | 1439 | { |
1439 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); | 1440 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); |
1440 | bool IsPhantom = ((RootPart.Flags & PrimFlags.Phantom) != 0); | 1441 | bool IsPhantom = ((RootPart.Flags & PrimFlags.Phantom) != 0); |
1441 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, TemporaryStatus, IsPhantom); | 1442 | bool IsVolumeDetect = RootPart.VolumeDetectActive; |
1443 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, TemporaryStatus, IsPhantom, IsVolumeDetect); | ||
1442 | } | 1444 | } |
1443 | 1445 | ||
1444 | public void ScriptSetPhantomStatus(bool PhantomStatus) | 1446 | public void ScriptSetPhantomStatus(bool PhantomStatus) |
1445 | { | 1447 | { |
1446 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); | 1448 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); |
1447 | bool IsTemporary = ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0); | 1449 | bool IsTemporary = ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0); |
1448 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, IsTemporary, PhantomStatus); | 1450 | bool IsVolumeDetect = RootPart.VolumeDetectActive; |
1451 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, IsTemporary, PhantomStatus, IsVolumeDetect); | ||
1452 | } | ||
1453 | |||
1454 | public void ScriptSetVolumeDetect(bool VDStatus) | ||
1455 | { | ||
1456 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); | ||
1457 | bool IsTemporary = ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0); | ||
1458 | bool IsPhantom = ((RootPart.Flags & PrimFlags.Phantom) != 0); | ||
1459 | UpdatePrimFlags(RootPart.LocalId, UsePhysics, IsTemporary, IsPhantom, VDStatus); | ||
1460 | |||
1461 | /* | ||
1462 | ScriptSetPhantomStatus(false); // What ever it was before, now it's not phantom anymore | ||
1463 | |||
1464 | if (PhysActor != null) // Should always be the case now | ||
1465 | { | ||
1466 | PhysActor.SetVolumeDetect(param); | ||
1467 | } | ||
1468 | if (param != 0) | ||
1469 | AddFlag(PrimFlags.Phantom); | ||
1470 | |||
1471 | ScheduleFullUpdate(); | ||
1472 | */ | ||
1449 | } | 1473 | } |
1450 | 1474 | ||
1451 | public void applyImpulse(PhysicsVector impulse) | 1475 | public void applyImpulse(PhysicsVector impulse) |
@@ -2251,7 +2275,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2251 | /// <param name="type"></param> | 2275 | /// <param name="type"></param> |
2252 | /// <param name="inUse"></param> | 2276 | /// <param name="inUse"></param> |
2253 | /// <param name="data"></param> | 2277 | /// <param name="data"></param> |
2254 | public void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom) | 2278 | public void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, bool IsVolumeDetect) |
2255 | { | 2279 | { |
2256 | SceneObjectPart selectionPart = GetChildPart(localID); | 2280 | SceneObjectPart selectionPart = GetChildPart(localID); |
2257 | 2281 | ||
@@ -2279,7 +2303,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2279 | 2303 | ||
2280 | foreach (SceneObjectPart part in m_parts.Values) | 2304 | foreach (SceneObjectPart part in m_parts.Values) |
2281 | { | 2305 | { |
2282 | part.UpdatePrimFlags(UsePhysics, IsTemporary, IsPhantom); | 2306 | part.UpdatePrimFlags(UsePhysics, IsTemporary, IsPhantom, IsVolumeDetect); |
2283 | } | 2307 | } |
2284 | } | 2308 | } |
2285 | } | 2309 | } |