aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-08-10 20:15:44 +0100
committerJustin Clark-Casey (justincc)2010-08-10 20:15:44 +0100
commit2a1c11fda9b4ab948b7821ef2423270793a5e577 (patch)
treea8c3ea840817db72172eedec8e312509d4b08ec0 /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parentReduce number of paths in SOP code by setting flags via Flags property rather... (diff)
downloadopensim-SC_OLD-2a1c11fda9b4ab948b7821ef2423270793a5e577.zip
opensim-SC_OLD-2a1c11fda9b4ab948b7821ef2423270793a5e577.tar.gz
opensim-SC_OLD-2a1c11fda9b4ab948b7821ef2423270793a5e577.tar.bz2
opensim-SC_OLD-2a1c11fda9b4ab948b7821ef2423270793a5e577.tar.xz
On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs22
1 files changed, 18 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 0d3f64c..cf718cb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -150,8 +150,17 @@ namespace OpenSim.Region.Framework.Scenes
150 // TODO: This needs to be persisted in next XML version update! 150 // TODO: This needs to be persisted in next XML version update!
151 [XmlIgnore] 151 [XmlIgnore]
152 public readonly int[] PayPrice = {-2,-2,-2,-2,-2}; 152 public readonly int[] PayPrice = {-2,-2,-2,-2,-2};
153
153 [XmlIgnore] 154 [XmlIgnore]
154 public PhysicsActor PhysActor; 155 public PhysicsActor PhysActor
156 {
157 get { return m_physActor; }
158 set
159 {
160// m_log.DebugFormat("[SOP]: PhysActor set to {0} for {1} {2}", value, Name, UUID);
161 m_physActor = value;
162 }
163 }
155 164
156 //Xantor 20080528 Sound stuff: 165 //Xantor 20080528 Sound stuff:
157 // Note: This isn't persisted in the database right now, as the fields for that aren't just there yet. 166 // Note: This isn't persisted in the database right now, as the fields for that aren't just there yet.
@@ -297,6 +306,7 @@ namespace OpenSim.Region.Framework.Scenes
297 /// </summary> 306 /// </summary>
298 private byte m_updateFlag; 307 private byte m_updateFlag;
299 308
309 private PhysicsActor m_physActor;
300 protected Vector3 m_acceleration; 310 protected Vector3 m_acceleration;
301 protected Vector3 m_angularVelocity; 311 protected Vector3 m_angularVelocity;
302 312
@@ -1006,7 +1016,11 @@ namespace OpenSim.Region.Framework.Scenes
1006 public bool CreateSelected 1016 public bool CreateSelected
1007 { 1017 {
1008 get { return m_createSelected; } 1018 get { return m_createSelected; }
1009 set { m_createSelected = value; } 1019 set
1020 {
1021// m_log.DebugFormat("[SOP]: Setting CreateSelected to {0} for {1} {2}", value, Name, UUID);
1022 m_createSelected = value;
1023 }
1010 } 1024 }
1011 1025
1012 #endregion 1026 #endregion
@@ -1531,7 +1545,7 @@ namespace OpenSim.Region.Framework.Scenes
1531 } 1545 }
1532 else 1546 else
1533 { 1547 {
1534 m_log.DebugFormat("[SPEW]: physics actor is null for {0} with parent {1}", UUID, this.ParentGroup.UUID); 1548 m_log.DebugFormat("[SOP]: physics actor is null for {0} with parent {1}", UUID, this.ParentGroup.UUID);
1535 } 1549 }
1536 } 1550 }
1537 } 1551 }
@@ -1801,7 +1815,7 @@ namespace OpenSim.Region.Framework.Scenes
1801 /// that's not wholesome. Had to make Scene public 1815 /// that's not wholesome. Had to make Scene public
1802 //PhysActor = null; 1816 //PhysActor = null;
1803 1817
1804 if ((ObjectFlags & (uint)PrimFlags.Phantom) == 0) 1818 if ((Flags & PrimFlags.Phantom) == 0)
1805 { 1819 {
1806 if (UsePhysics) 1820 if (UsePhysics)
1807 { 1821 {