diff options
Added danx0r's physics patch, although for now have disabled the lines in Scene.cs, as any changes to prims (like size or position changes) are only updated to the physics engine when you restart opensim. Also prims aren't deleted from the physics engine. These shouldn't be hard to fix.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 91ff0a8..7317361 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -503,6 +503,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
503 | foreach (SceneObjectGroup prim in PrimsFromDB) | 503 | foreach (SceneObjectGroup prim in PrimsFromDB) |
504 | { | 504 | { |
505 | AddEntityFromStorage(prim); | 505 | AddEntityFromStorage(prim); |
506 | // phyScene.AddPrim( | ||
507 | // new PhysicsVector(prim.RootPart.AbsolutePosition.X, prim.RootPart.AbsolutePosition.Y, prim.RootPart.AbsolutePosition.Z), | ||
508 | // new PhysicsVector(prim.RootPart.Scale.X, prim.RootPart.Scale.Y, prim.RootPart.Scale.Z), | ||
509 | // new Axiom.Math.Quaternion(prim.RootPart.RotationOffset.W, prim.RootPart.RotationOffset.X, | ||
510 | // prim.RootPart.RotationOffset.Y, prim.RootPart.RotationOffset.Z)); | ||
506 | } | 511 | } |
507 | MainLog.Instance.Verbose("Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)"); | 512 | MainLog.Instance.Verbose("Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)"); |
508 | } | 513 | } |
@@ -540,6 +545,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
540 | { | 545 | { |
541 | SceneObjectGroup sceneOb = new SceneObjectGroup(this, this.m_regionHandle, ownerID, PrimIDAllocate(), pos, shape); | 546 | SceneObjectGroup sceneOb = new SceneObjectGroup(this, this.m_regionHandle, ownerID, PrimIDAllocate(), pos, shape); |
542 | AddEntity(sceneOb); | 547 | AddEntity(sceneOb); |
548 | //phyScene.AddPrim(new PhysicsVector(pos.X, pos.Y, pos.Z), new PhysicsVector(shape.Scale.X, shape.Scale.Y, shape.Scale.Z), | ||
549 | // new Axiom.Math.Quaternion()); | ||
543 | } | 550 | } |
544 | 551 | ||
545 | public void RemovePrim(uint localID, LLUUID avatar_deleter) | 552 | public void RemovePrim(uint localID, LLUUID avatar_deleter) |
@@ -615,6 +622,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
615 | //if we want this to be a import method then we need new uuids for the object to avoid any clashes | 622 | //if we want this to be a import method then we need new uuids for the object to avoid any clashes |
616 | //obj.RegenerateFullIDs(); | 623 | //obj.RegenerateFullIDs(); |
617 | AddEntity(obj); | 624 | AddEntity(obj); |
625 | // phyScene.AddPrim( | ||
626 | // new PhysicsVector(obj.RootPart.AbsolutePosition.X, obj.RootPart.AbsolutePosition.Y, obj.RootPart.AbsolutePosition.Z), | ||
627 | // new PhysicsVector(obj.RootPart.Scale.X, obj.RootPart.Scale.Y, obj.RootPart.Scale.Z), | ||
628 | // new Axiom.Math.Quaternion(obj.RootPart.RotationOffset.W, obj.RootPart.RotationOffset.X, | ||
629 | // obj.RootPart.RotationOffset.Y, obj.RootPart.RotationOffset.Z)); | ||
618 | primCount++; | 630 | primCount++; |
619 | } | 631 | } |
620 | } | 632 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index c3d70ea..56ac9be 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -57,6 +57,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
57 | 57 | ||
58 | public SceneObjectPart RootPart | 58 | public SceneObjectPart RootPart |
59 | { | 59 | { |
60 | get { return this.m_rootPart; } | ||
60 | set { m_rootPart = value; } | 61 | set { m_rootPart = value; } |
61 | } | 62 | } |
62 | 63 | ||