aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs34
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 }