aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorUbitUmarov2017-07-16 05:19:27 +0100
committerUbitUmarov2017-07-16 05:19:27 +0100
commit9ae26fc5afc96c793186b79e80ac8f1a8a040d5b (patch)
tree450546e149c8620d422728056f5f0faf820c9c6a /OpenSim/Region/CoreModules/Framework
parentode does not like null refs (diff)
downloadopensim-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.cs13
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}",