diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 22 |
2 files changed, 17 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index d3d5d08..74d24a6 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -680,6 +680,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
680 | 680 | ||
681 | ApplyPhysics(m_scene.m_physicalPrim); | 681 | ApplyPhysics(m_scene.m_physicalPrim); |
682 | 682 | ||
683 | if (RootPart.PhysActor != null) | ||
684 | RootPart.Buoyancy = RootPart.Buoyancy; | ||
685 | |||
683 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled | 686 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled |
684 | // for the same object with very different properties. The caller must schedule the update. | 687 | // for the same object with very different properties. The caller must schedule the update. |
685 | //ScheduleGroupForFullUpdate(); | 688 | //ScheduleGroupForFullUpdate(); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 4e1d6b6..cb321aa 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -338,6 +338,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
338 | protected Vector3 m_lastAcceleration; | 338 | protected Vector3 m_lastAcceleration; |
339 | protected Vector3 m_lastAngularVelocity; | 339 | protected Vector3 m_lastAngularVelocity; |
340 | protected int m_lastTerseSent; | 340 | protected int m_lastTerseSent; |
341 | protected float m_buoyancy = 0.0f; | ||
341 | 342 | ||
342 | /// <summary> | 343 | /// <summary> |
343 | /// Stores media texture data | 344 | /// Stores media texture data |
@@ -1335,6 +1336,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
1335 | set { m_collisionSoundVolume = value; } | 1336 | set { m_collisionSoundVolume = value; } |
1336 | } | 1337 | } |
1337 | 1338 | ||
1339 | public float Buoyancy | ||
1340 | { | ||
1341 | get { return m_buoyancy; } | ||
1342 | set | ||
1343 | { | ||
1344 | m_buoyancy = value; | ||
1345 | if (PhysActor != null) | ||
1346 | { | ||
1347 | PhysActor.Buoyancy = value; | ||
1348 | } | ||
1349 | } | ||
1350 | } | ||
1351 | |||
1338 | #endregion Public Properties with only Get | 1352 | #endregion Public Properties with only Get |
1339 | 1353 | ||
1340 | #region Private Methods | 1354 | #region Private Methods |
@@ -3275,14 +3289,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3275 | STATUS_ROTATE_Z = rotate; | 3289 | STATUS_ROTATE_Z = rotate; |
3276 | } | 3290 | } |
3277 | 3291 | ||
3278 | public void SetBuoyancy(float fvalue) | ||
3279 | { | ||
3280 | if (PhysActor != null) | ||
3281 | { | ||
3282 | PhysActor.Buoyancy = fvalue; | ||
3283 | } | ||
3284 | } | ||
3285 | |||
3286 | public void SetDieAtEdge(bool p) | 3292 | public void SetDieAtEdge(bool p) |
3287 | { | 3293 | { |
3288 | if (m_parentGroup == null) | 3294 | if (m_parentGroup == null) |