diff options
author | UbitUmarov | 2017-07-16 05:19:27 +0100 |
---|---|---|
committer | UbitUmarov | 2017-07-16 05:19:27 +0100 |
commit | 9ae26fc5afc96c793186b79e80ac8f1a8a040d5b (patch) | |
tree | 450546e149c8620d422728056f5f0faf820c9c6a /OpenSim/Region/CoreModules/Framework | |
parent | ode does not like null refs (diff) | |
download | opensim-SC_OLD-9ae26fc5afc96c793186b79e80ac8f1a8a040d5b.zip opensim-SC_OLD-9ae26fc5afc96c793186b79e80ac8f1a8a040d5b.tar.gz opensim-SC_OLD-9ae26fc5afc96c793186b79e80ac8f1a8a040d5b.tar.bz2 opensim-SC_OLD-9ae26fc5afc96c793186b79e80ac8f1a8a040d5b.tar.xz |
store kfm on inventory. this may still be a bit confusing on rez
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 3f3245c..f1409bb 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -412,7 +412,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
412 | Dictionary<UUID, Vector3> originalPositions = new Dictionary<UUID, Vector3>(); | 412 | Dictionary<UUID, Vector3> originalPositions = new Dictionary<UUID, Vector3>(); |
413 | Dictionary<UUID, Quaternion> originalRotations = new Dictionary<UUID, Quaternion>(); | 413 | Dictionary<UUID, Quaternion> originalRotations = new Dictionary<UUID, Quaternion>(); |
414 | // this possible is not needed if keyframes are saved | 414 | // this possible is not needed if keyframes are saved |
415 | Dictionary<UUID, KeyframeMotion> originalKeyframes = new Dictionary<UUID, KeyframeMotion>(); | 415 | // Dictionary<UUID, KeyframeMotion> originalKeyframes = new Dictionary<UUID, KeyframeMotion>(); |
416 | 416 | ||
417 | foreach (SceneObjectGroup objectGroup in objlist) | 417 | foreach (SceneObjectGroup objectGroup in objlist) |
418 | { | 418 | { |
@@ -423,8 +423,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
423 | objectGroup.RootPart.SetForce(Vector3.Zero); | 423 | objectGroup.RootPart.SetForce(Vector3.Zero); |
424 | objectGroup.RootPart.SetAngularImpulse(Vector3.Zero, false); | 424 | objectGroup.RootPart.SetAngularImpulse(Vector3.Zero, false); |
425 | 425 | ||
426 | originalKeyframes[objectGroup.UUID] = objectGroup.RootPart.KeyframeMotion; | 426 | // originalKeyframes[objectGroup.UUID] = objectGroup.RootPart.KeyframeMotion; |
427 | objectGroup.RootPart.KeyframeMotion = null; | 427 | // objectGroup.RootPart.KeyframeMotion = null; |
428 | 428 | ||
429 | Vector3 inventoryStoredPosition = objectGroup.AbsolutePosition; | 429 | Vector3 inventoryStoredPosition = objectGroup.AbsolutePosition; |
430 | originalPositions[objectGroup.UUID] = inventoryStoredPosition; | 430 | originalPositions[objectGroup.UUID] = inventoryStoredPosition; |
@@ -476,7 +476,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
476 | { | 476 | { |
477 | objectGroup.AbsolutePosition = originalPositions[objectGroup.UUID]; | 477 | objectGroup.AbsolutePosition = originalPositions[objectGroup.UUID]; |
478 | objectGroup.RootPart.RotationOffset = originalRotations[objectGroup.UUID]; | 478 | objectGroup.RootPart.RotationOffset = originalRotations[objectGroup.UUID]; |
479 | objectGroup.RootPart.KeyframeMotion = originalKeyframes[objectGroup.UUID]; | 479 | // objectGroup.RootPart.KeyframeMotion = originalKeyframes[objectGroup.UUID]; |
480 | if (objectGroup.RootPart.KeyframeMotion != null) | 480 | if (objectGroup.RootPart.KeyframeMotion != null) |
481 | objectGroup.RootPart.KeyframeMotion.Resume(); | 481 | objectGroup.RootPart.KeyframeMotion.Resume(); |
482 | } | 482 | } |
@@ -989,11 +989,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
989 | // one full update during the attachment | 989 | // one full update during the attachment |
990 | // process causes some clients to fail to display the | 990 | // process causes some clients to fail to display the |
991 | // attachment properly. | 991 | // attachment properly. |
992 | m_Scene.AddNewSceneObject(group, true, false); | ||
993 | 992 | ||
994 | if (!attachment) | 993 | if (!attachment) |
995 | { | 994 | { |
996 | group.AbsolutePosition = pos + veclist[i]; | 995 | group.AbsolutePosition = pos + veclist[i]; |
996 | m_Scene.AddNewSceneObject(group, true, false); | ||
997 | 997 | ||
998 | // Fire on_rez | 998 | // Fire on_rez |
999 | group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1); | 999 | group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1); |
@@ -1001,6 +1001,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
1001 | 1001 | ||
1002 | group.ScheduleGroupForFullUpdate(); | 1002 | group.ScheduleGroupForFullUpdate(); |
1003 | } | 1003 | } |
1004 | else | ||
1005 | m_Scene.AddNewSceneObject(group, true, false); | ||
1006 | |||
1004 | 1007 | ||
1005 | // m_log.DebugFormat( | 1008 | // m_log.DebugFormat( |
1006 | // "[INVENTORY ACCESS MODULE]: Rezzed {0} {1} {2} ownermask={3:X} nextownermask={4:X} groupmask={5:X} everyonemask={6:X} for {7}", | 1009 | // "[INVENTORY ACCESS MODULE]: Rezzed {0} {1} {2} ownermask={3:X} nextownermask={4:X} groupmask={5:X} everyonemask={6:X} for {7}", |