diff options
author | UbitUmarov | 2012-03-21 15:27:33 +0000 |
---|---|---|
committer | UbitUmarov | 2012-03-21 15:27:33 +0000 |
commit | 68736aa460869717a24ec5d68053b7a1f540b853 (patch) | |
tree | 5636c7bc45b8f64f6b58a0a9e3ab4bbdb8372786 /OpenSim | |
parent | missed a creatMesh in chODE. temporary removed m_meshfailed test since it ma... (diff) | |
download | opensim-SC_OLD-68736aa460869717a24ec5d68053b7a1f540b853.zip opensim-SC_OLD-68736aa460869717a24ec5d68053b7a1f540b853.tar.gz opensim-SC_OLD-68736aa460869717a24ec5d68053b7a1f540b853.tar.bz2 opensim-SC_OLD-68736aa460869717a24ec5d68053b7a1f540b853.tar.xz |
fix a bad reset of shapetype on pbshape change, added missing checksculpload ( to reload mesh on change )
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 51a3c18..cfa3cd4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -989,7 +989,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
989 | set | 989 | set |
990 | { | 990 | { |
991 | m_shape = value; | 991 | m_shape = value; |
992 | m_physicsShapeType = DefaultPhysicsShapeType(); | ||
993 | } | 992 | } |
994 | } | 993 | } |
995 | 994 | ||
@@ -1003,7 +1002,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1003 | { | 1002 | { |
1004 | if (m_shape != null) | 1003 | if (m_shape != null) |
1005 | { | 1004 | { |
1006 | // StoreUndoState(); | ||
1007 | 1005 | ||
1008 | m_shape.Scale = value; | 1006 | m_shape.Scale = value; |
1009 | 1007 | ||
@@ -1498,6 +1496,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1498 | set | 1496 | set |
1499 | { | 1497 | { |
1500 | byte oldv = m_physicsShapeType; | 1498 | byte oldv = m_physicsShapeType; |
1499 | |||
1501 | if (value >= 0 && value <= (byte)PhysShapeType.convex) | 1500 | if (value >= 0 && value <= (byte)PhysShapeType.convex) |
1502 | { | 1501 | { |
1503 | if (value == (byte)PhysShapeType.none && ParentGroup != null && ParentGroup.RootPart == this) | 1502 | if (value == (byte)PhysShapeType.none && ParentGroup != null && ParentGroup.RootPart == this) |
@@ -1508,7 +1507,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1508 | else | 1507 | else |
1509 | m_physicsShapeType = DefaultPhysicsShapeType(); | 1508 | m_physicsShapeType = DefaultPhysicsShapeType(); |
1510 | 1509 | ||
1511 | |||
1512 | if (m_physicsShapeType != oldv && ParentGroup != null) | 1510 | if (m_physicsShapeType != oldv && ParentGroup != null) |
1513 | { | 1511 | { |
1514 | if (m_physicsShapeType == (byte)PhysShapeType.none) | 1512 | if (m_physicsShapeType == (byte)PhysShapeType.none) |
@@ -1526,13 +1524,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
1526 | else if (PhysActor == null) | 1524 | else if (PhysActor == null) |
1527 | ApplyPhysics((uint)Flags, VolumeDetectActive, false); | 1525 | ApplyPhysics((uint)Flags, VolumeDetectActive, false); |
1528 | else | 1526 | else |
1529 | PhysActor.PhysicsShapeType = m_physicsShapeType; | 1527 | { |
1530 | } | 1528 | PhysActor.PhysicsShapeType = m_physicsShapeType; |
1531 | if (m_physicsShapeType != value) | 1529 | if (Shape.SculptEntry) |
1532 | { | 1530 | CheckSculptAndLoad(); |
1531 | } | ||
1532 | |||
1533 | if (ParentGroup != null) | 1533 | if (ParentGroup != null) |
1534 | ParentGroup.HasGroupChanged = true; | 1534 | ParentGroup.HasGroupChanged = true; |
1535 | } | ||
1535 | 1536 | ||
1537 | if (m_physicsShapeType != value) | ||
1538 | { | ||
1536 | UpdatePhysRequired = true; | 1539 | UpdatePhysRequired = true; |
1537 | } | 1540 | } |
1538 | } | 1541 | } |