diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 28 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 2 |
5 files changed, 26 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index ec6044b..8195a0d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1726,6 +1726,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1726 | /// <summary> | 1726 | /// <summary> |
1727 | /// Loads the World's objects | 1727 | /// Loads the World's objects |
1728 | /// </summary> | 1728 | /// </summary> |
1729 | /// <param name="regionID"></param> | ||
1729 | public virtual void LoadPrimsFromStorage(UUID regionID) | 1730 | public virtual void LoadPrimsFromStorage(UUID regionID) |
1730 | { | 1731 | { |
1731 | LoadingPrims = true; | 1732 | LoadingPrims = true; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 4b8e370..a184445 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -3297,7 +3297,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3297 | if ((RootPart.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0) | 3297 | if ((RootPart.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0) |
3298 | return; | 3298 | return; |
3299 | 3299 | ||
3300 | // m_log.Debug("Processing CheckSculptAndLoad for {0} {1}", Name, LocalId); | ||
3301 | |||
3300 | SceneObjectPart[] parts = m_parts.GetArray(); | 3302 | SceneObjectPart[] parts = m_parts.GetArray(); |
3303 | |||
3301 | for (int i = 0; i < parts.Length; i++) | 3304 | for (int i = 0; i < parts.Length; i++) |
3302 | { | 3305 | { |
3303 | SceneObjectPart part = parts[i]; | 3306 | SceneObjectPart part = parts[i]; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 4fa3a68..5b203e9 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1810,7 +1810,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1810 | { | 1810 | { |
1811 | ParentGroup.Scene.jointErrorMessage(joint, "warning: tracked body name not found! joint location will not be updated properly. joint: " + Name); | 1811 | ParentGroup.Scene.jointErrorMessage(joint, "warning: tracked body name not found! joint location will not be updated properly. joint: " + Name); |
1812 | } | 1812 | } |
1813 | |||
1814 | } | 1813 | } |
1815 | else | 1814 | else |
1816 | { | 1815 | { |
@@ -1872,7 +1871,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1872 | 1871 | ||
1873 | PhysActor.IsPhysical = UsePhysics; | 1872 | PhysActor.IsPhysical = UsePhysics; |
1874 | 1873 | ||
1875 | |||
1876 | // If we're not what we're supposed to be in the physics scene, recreate ourselves. | 1874 | // If we're not what we're supposed to be in the physics scene, recreate ourselves. |
1877 | //m_parentGroup.Scene.PhysicsScene.RemovePrim(PhysActor); | 1875 | //m_parentGroup.Scene.PhysicsScene.RemovePrim(PhysActor); |
1878 | /// that's not wholesome. Had to make Scene public | 1876 | /// that's not wholesome. Had to make Scene public |
@@ -1896,6 +1894,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1896 | } | 1894 | } |
1897 | } | 1895 | } |
1898 | } | 1896 | } |
1897 | |||
1899 | m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); | 1898 | m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); |
1900 | } | 1899 | } |
1901 | } | 1900 | } |
@@ -2967,14 +2966,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
2967 | //if (texture != null) | 2966 | //if (texture != null) |
2968 | { | 2967 | { |
2969 | if (texture != null) | 2968 | if (texture != null) |
2969 | { | ||
2970 | // m_log.DebugFormat( | ||
2971 | // "[SCENE OBJECT PART]: Setting sculpt data for {0} on SculptTextureCallback()", Name); | ||
2972 | |||
2970 | m_shape.SculptData = texture.Data; | 2973 | m_shape.SculptData = texture.Data; |
2974 | } | ||
2971 | 2975 | ||
2972 | if (PhysActor != null) | 2976 | if (PhysActor != null) |
2973 | { | 2977 | { |
2974 | // Tricks physics engine into thinking we've changed the part shape. | 2978 | // Update the physics actor with the new loaded sculpt data and set the taint signal. |
2975 | PrimitiveBaseShape m_newshape = m_shape.Copy(); | 2979 | PhysActor.Shape = m_shape; |
2976 | PhysActor.Shape = m_newshape; | ||
2977 | m_shape = m_newshape; | ||
2978 | 2980 | ||
2979 | m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); | 2981 | m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); |
2980 | } | 2982 | } |
@@ -3270,11 +3272,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
3270 | { | 3272 | { |
3271 | m_parentGroup.SetAxisRotation(axis, rotate); | 3273 | m_parentGroup.SetAxisRotation(axis, rotate); |
3272 | } | 3274 | } |
3275 | |||
3273 | //Cannot use ScriptBaseClass constants as no referance to it currently. | 3276 | //Cannot use ScriptBaseClass constants as no referance to it currently. |
3274 | if (axis == 2)//STATUS_ROTATE_X | 3277 | if (axis == 2)//STATUS_ROTATE_X |
3275 | STATUS_ROTATE_X = rotate; | 3278 | STATUS_ROTATE_X = rotate; |
3279 | |||
3276 | if (axis == 4)//STATUS_ROTATE_Y | 3280 | if (axis == 4)//STATUS_ROTATE_Y |
3277 | STATUS_ROTATE_Y = rotate; | 3281 | STATUS_ROTATE_Y = rotate; |
3282 | |||
3278 | if (axis == 8)//STATUS_ROTATE_Z | 3283 | if (axis == 8)//STATUS_ROTATE_Z |
3279 | STATUS_ROTATE_Z = rotate; | 3284 | STATUS_ROTATE_Z = rotate; |
3280 | } | 3285 | } |
@@ -4418,6 +4423,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4418 | RemFlag(PrimFlags.Phantom); | 4423 | RemFlag(PrimFlags.Phantom); |
4419 | 4424 | ||
4420 | PhysicsActor pa = PhysActor; | 4425 | PhysicsActor pa = PhysActor; |
4426 | |||
4421 | if (pa == null) | 4427 | if (pa == null) |
4422 | { | 4428 | { |
4423 | // It's not phantom anymore. So make sure the physics engine get's knowledge of it | 4429 | // It's not phantom anymore. So make sure the physics engine get's knowledge of it |
@@ -4434,6 +4440,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4434 | if (pa != null) | 4440 | if (pa != null) |
4435 | { | 4441 | { |
4436 | DoPhysicsPropertyUpdate(UsePhysics, true); | 4442 | DoPhysicsPropertyUpdate(UsePhysics, true); |
4443 | |||
4437 | if (m_parentGroup != null) | 4444 | if (m_parentGroup != null) |
4438 | { | 4445 | { |
4439 | if (!m_parentGroup.IsDeleted) | 4446 | if (!m_parentGroup.IsDeleted) |
@@ -4444,6 +4451,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4444 | } | 4451 | } |
4445 | } | 4452 | } |
4446 | } | 4453 | } |
4454 | |||
4447 | if ( | 4455 | if ( |
4448 | ((AggregateScriptEvents & scriptEvents.collision) != 0) || | 4456 | ((AggregateScriptEvents & scriptEvents.collision) != 0) || |
4449 | ((AggregateScriptEvents & scriptEvents.collision_end) != 0) || | 4457 | ((AggregateScriptEvents & scriptEvents.collision_end) != 0) || |
@@ -4454,8 +4462,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4454 | (CollisionSound != UUID.Zero) | 4462 | (CollisionSound != UUID.Zero) |
4455 | ) | 4463 | ) |
4456 | { | 4464 | { |
4457 | PhysActor.OnCollisionUpdate += PhysicsCollision; | 4465 | PhysActor.OnCollisionUpdate += PhysicsCollision; |
4458 | PhysActor.SubscribeEvents(1000); | 4466 | PhysActor.SubscribeEvents(1000); |
4459 | } | 4467 | } |
4460 | } | 4468 | } |
4461 | } | 4469 | } |
@@ -4492,13 +4500,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
4492 | } | 4500 | } |
4493 | } | 4501 | } |
4494 | else | 4502 | else |
4495 | { // Remove VolumeDetect in any case. Note, it's safe to call SetVolumeDetect as often as you like | 4503 | { |
4504 | // Remove VolumeDetect in any case. Note, it's safe to call SetVolumeDetect as often as you like | ||
4496 | // (mumbles, well, at least if you have infinte CPU powers :-)) | 4505 | // (mumbles, well, at least if you have infinte CPU powers :-)) |
4497 | PhysicsActor pa = this.PhysActor; | 4506 | PhysicsActor pa = this.PhysActor; |
4498 | if (pa != null) | 4507 | if (pa != null) |
4499 | { | 4508 | { |
4500 | PhysActor.SetVolumeDetect(0); | 4509 | PhysActor.SetVolumeDetect(0); |
4501 | } | 4510 | } |
4511 | |||
4502 | this.VolumeDetectActive = false; | 4512 | this.VolumeDetectActive = false; |
4503 | } | 4513 | } |
4504 | 4514 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 0cf2f5d..123c8ff 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -2104,6 +2104,7 @@ Console.WriteLine("changeshape not need meshing"); | |||
2104 | parent.ChildSetGeom(this); | 2104 | parent.ChildSetGeom(this); |
2105 | } | 2105 | } |
2106 | } | 2106 | } |
2107 | |||
2107 | resetCollisionAccounting(); | 2108 | resetCollisionAccounting(); |
2108 | m_taintshape = false; | 2109 | m_taintshape = false; |
2109 | } | 2110 | } |
@@ -2343,7 +2344,7 @@ Console.WriteLine("changeshape not need meshing"); | |||
2343 | { | 2344 | { |
2344 | lock (_parent_scene.OdeLock) | 2345 | lock (_parent_scene.OdeLock) |
2345 | { | 2346 | { |
2346 | m_isVolumeDetect = (param!=0); | 2347 | m_isVolumeDetect = (param != 0); |
2347 | } | 2348 | } |
2348 | } | 2349 | } |
2349 | 2350 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index f5172aa..99392cc 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs | |||
@@ -26,7 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | //#define USE_DRAWSTUFF | 28 | //#define USE_DRAWSTUFF |
29 | #define SPAM | 29 | //#define SPAM |
30 | 30 | ||
31 | using System; | 31 | using System; |
32 | using System.Collections.Generic; | 32 | using System.Collections.Generic; |