diff options
Merge branch 'ubitwork'
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 33 |
2 files changed, 31 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 18069af..ccc3f32 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -1521,7 +1521,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1521 | { | 1521 | { |
1522 | SceneObjectPart part = GetSceneObjectPart(localID); | 1522 | SceneObjectPart part = GetSceneObjectPart(localID); |
1523 | if (part != null) | 1523 | if (part != null) |
1524 | { | ||
1524 | part.UpdateExtraPhysics(PhysData); | 1525 | part.UpdateExtraPhysics(PhysData); |
1526 | if (part.UpdatePhysRequired) | ||
1527 | remoteClient.SendPartPhysicsProprieties(part); | ||
1528 | } | ||
1525 | } | 1529 | } |
1526 | } | 1530 | } |
1527 | } | 1531 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 84b4bb3..85d2bee 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1030,6 +1030,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1030 | } | 1030 | } |
1031 | 1031 | ||
1032 | public UpdateRequired UpdateFlag { get; set; } | 1032 | public UpdateRequired UpdateFlag { get; set; } |
1033 | public bool UpdatePhysRequired { get; set; } | ||
1033 | 1034 | ||
1034 | /// <summary> | 1035 | /// <summary> |
1035 | /// Used for media on a prim. | 1036 | /// Used for media on a prim. |
@@ -1410,6 +1411,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1410 | if(ParentGroup != null) | 1411 | if(ParentGroup != null) |
1411 | ParentGroup.HasGroupChanged = true; | 1412 | ParentGroup.HasGroupChanged = true; |
1412 | ScheduleFullUpdateIfNone(); | 1413 | ScheduleFullUpdateIfNone(); |
1414 | UpdatePhysRequired = true; | ||
1413 | } | 1415 | } |
1414 | } | 1416 | } |
1415 | } | 1417 | } |
@@ -1501,12 +1503,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
1501 | m_physicsShapeType = DefaultPhysicsShapeType(); | 1503 | m_physicsShapeType = DefaultPhysicsShapeType(); |
1502 | else | 1504 | else |
1503 | m_physicsShapeType = value; | 1505 | m_physicsShapeType = value; |
1504 | ScheduleFullUpdateIfNone(); | ||
1505 | } | 1506 | } |
1506 | else | 1507 | else |
1507 | m_physicsShapeType = DefaultPhysicsShapeType(); | 1508 | m_physicsShapeType = DefaultPhysicsShapeType(); |
1509 | |||
1508 | if (ParentGroup != null) | 1510 | if (ParentGroup != null) |
1509 | ParentGroup.HasGroupChanged = true; | 1511 | ParentGroup.HasGroupChanged = true; |
1512 | |||
1513 | if(m_physicsShapeType != value) | ||
1514 | UpdatePhysRequired = true; | ||
1510 | } | 1515 | } |
1511 | } | 1516 | } |
1512 | 1517 | ||
@@ -1518,8 +1523,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1518 | if (value >=1 && value <= 22587.0) | 1523 | if (value >=1 && value <= 22587.0) |
1519 | { | 1524 | { |
1520 | m_density = value; | 1525 | m_density = value; |
1521 | ScheduleFullUpdateIfNone(); | 1526 | UpdatePhysRequired = true; |
1522 | } | 1527 | } |
1528 | |||
1529 | ScheduleFullUpdateIfNone(); | ||
1530 | |||
1523 | if (ParentGroup != null) | 1531 | if (ParentGroup != null) |
1524 | ParentGroup.HasGroupChanged = true; | 1532 | ParentGroup.HasGroupChanged = true; |
1525 | } | 1533 | } |
@@ -1529,11 +1537,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
1529 | { | 1537 | { |
1530 | get { return m_gravitymod; } | 1538 | get { return m_gravitymod; } |
1531 | set | 1539 | set |
1532 | { if( value >= -1 && value <=28.0f) | 1540 | { |
1533 | m_gravitymod = value; | 1541 | if( value >= -1 && value <=28.0f) |
1542 | { | ||
1543 | m_gravitymod = value; | ||
1544 | UpdatePhysRequired = true; | ||
1545 | } | ||
1546 | |||
1534 | ScheduleFullUpdateIfNone(); | 1547 | ScheduleFullUpdateIfNone(); |
1548 | |||
1535 | if (ParentGroup != null) | 1549 | if (ParentGroup != null) |
1536 | ParentGroup.HasGroupChanged = true; | 1550 | ParentGroup.HasGroupChanged = true; |
1551 | |||
1537 | } | 1552 | } |
1538 | } | 1553 | } |
1539 | 1554 | ||
@@ -1545,8 +1560,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1545 | if (value >= 0 && value <= 255.0f) | 1560 | if (value >= 0 && value <= 255.0f) |
1546 | { | 1561 | { |
1547 | m_friction = value; | 1562 | m_friction = value; |
1548 | ScheduleFullUpdateIfNone(); | 1563 | UpdatePhysRequired = true; |
1549 | } | 1564 | } |
1565 | |||
1566 | ScheduleFullUpdateIfNone(); | ||
1567 | |||
1550 | if (ParentGroup != null) | 1568 | if (ParentGroup != null) |
1551 | ParentGroup.HasGroupChanged = true; | 1569 | ParentGroup.HasGroupChanged = true; |
1552 | } | 1570 | } |
@@ -1560,8 +1578,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1560 | if (value >= 0 && value <= 1.0f) | 1578 | if (value >= 0 && value <= 1.0f) |
1561 | { | 1579 | { |
1562 | m_bounce = value; | 1580 | m_bounce = value; |
1563 | ScheduleFullUpdateIfNone(); | 1581 | UpdatePhysRequired = true; |
1564 | } | 1582 | } |
1583 | |||
1584 | ScheduleFullUpdateIfNone(); | ||
1585 | |||
1565 | if (ParentGroup != null) | 1586 | if (ParentGroup != null) |
1566 | ParentGroup.HasGroupChanged = true; | 1587 | ParentGroup.HasGroupChanged = true; |
1567 | } | 1588 | } |