diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
5 files changed, 39 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 269fbcc..7ca779a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2397,6 +2397,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2397 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); | 2397 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); |
2398 | item = InventoryService.GetItem(item); | 2398 | item = InventoryService.GetItem(item); |
2399 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); | 2399 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); |
2400 | |||
2401 | if (m_AvatarFactory != null) | ||
2402 | { | ||
2403 | m_AvatarFactory.UpdateDatabase(remoteClient.AgentId, presence.Appearance); | ||
2404 | } | ||
2405 | |||
2400 | } | 2406 | } |
2401 | } | 2407 | } |
2402 | 2408 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f5a1e74..a8bab5a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3046,6 +3046,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3046 | // TODO: The next line can be removed, as soon as only homeRegionID based UserServers are around. | 3046 | // TODO: The next line can be removed, as soon as only homeRegionID based UserServers are around. |
3047 | // TODO: The HomeRegion property can be removed then, too | 3047 | // TODO: The HomeRegion property can be removed then, too |
3048 | UserProfile.HomeRegion = RegionInfo.RegionHandle; | 3048 | UserProfile.HomeRegion = RegionInfo.RegionHandle; |
3049 | |||
3049 | UserProfile.HomeLocation = position; | 3050 | UserProfile.HomeLocation = position; |
3050 | UserProfile.HomeLookAt = lookAt; | 3051 | UserProfile.HomeLookAt = lookAt; |
3051 | CommsManager.UserService.UpdateUserProfile(UserProfile); | 3052 | CommsManager.UserService.UpdateUserProfile(UserProfile); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 42481ff..ecda80c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2776,8 +2776,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
2776 | { | 2776 | { |
2777 | if (part.Scale.X > 10.0 || part.Scale.Y > 10.0 || part.Scale.Z > 10.0) | 2777 | if (part.Scale.X > 10.0 || part.Scale.Y > 10.0 || part.Scale.Z > 10.0) |
2778 | { | 2778 | { |
2779 | UsePhysics = false; // Reset physics | 2779 | if (part.Scale.X > m_scene.RegionInfo.PhysPrimMax || |
2780 | break; | 2780 | part.Scale.Y > m_scene.RegionInfo.PhysPrimMax || |
2781 | part.Scale.Z > m_scene.RegionInfo.PhysPrimMax) | ||
2782 | { | ||
2783 | UsePhysics = false; // Reset physics | ||
2784 | break; | ||
2785 | } | ||
2781 | } | 2786 | } |
2782 | } | 2787 | } |
2783 | 2788 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index eca8588..4780ff2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -269,8 +269,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
269 | { | 269 | { |
270 | m_log.ErrorFormat( | 270 | m_log.ErrorFormat( |
271 | "[PRIM INVENTORY]: " + | 271 | "[PRIM INVENTORY]: " + |
272 | "Couldn't start script {0}, {1} since asset ID {2} could not be found", | 272 | "Couldn't start script {0}, {1} at {2} in {3} since asset ID {4} could not be found", |
273 | item.Name, item.ItemID, item.AssetID); | 273 | item.Name, item.ItemID, m_part.AbsolutePosition, |
274 | m_part.ParentGroup.Scene.RegionInfo.RegionName, item.AssetID); | ||
274 | } | 275 | } |
275 | else | 276 | else |
276 | { | 277 | { |
@@ -317,9 +318,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
317 | m_items.LockItemsForRead(true); | 318 | m_items.LockItemsForRead(true); |
318 | if (m_items.ContainsKey(itemId)) | 319 | if (m_items.ContainsKey(itemId)) |
319 | { | 320 | { |
320 | TaskInventoryItem item = m_items[itemId]; | 321 | if (m_items.ContainsKey(itemId)) |
322 | { | ||
323 | CreateScriptInstance(m_items[itemId], startParam, postOnRez, engine, stateSource); | ||
324 | } | ||
325 | else | ||
326 | { | ||
327 | m_log.ErrorFormat( | ||
328 | "[PRIM INVENTORY]: " + | ||
329 | "Couldn't start script with ID {0} since it couldn't be found for prim {1}, {2} at {3} in {4}", | ||
330 | itemId, m_part.Name, m_part.UUID, | ||
331 | m_part.AbsolutePosition, m_part.ParentGroup.Scene.RegionInfo.RegionName); | ||
332 | } | ||
321 | m_items.LockItemsForRead(false); | 333 | m_items.LockItemsForRead(false); |
322 | CreateScriptInstance(item, startParam, postOnRez, engine, stateSource); | ||
323 | } | 334 | } |
324 | else | 335 | else |
325 | { | 336 | { |
@@ -347,8 +358,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
347 | { | 358 | { |
348 | m_log.ErrorFormat( | 359 | m_log.ErrorFormat( |
349 | "[PRIM INVENTORY]: " + | 360 | "[PRIM INVENTORY]: " + |
350 | "Couldn't stop script with ID {0} since it couldn't be found for prim {1}, {2}", | 361 | "Couldn't stop script with ID {0} since it couldn't be found for prim {1}, {2} at {3} in {4}", |
351 | itemId, m_part.Name, m_part.UUID); | 362 | itemId, m_part.Name, m_part.UUID, |
363 | m_part.AbsolutePosition, m_part.ParentGroup.Scene.RegionInfo.RegionName); | ||
352 | } | 364 | } |
353 | } | 365 | } |
354 | 366 | ||
@@ -542,8 +554,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
542 | { | 554 | { |
543 | m_log.ErrorFormat( | 555 | m_log.ErrorFormat( |
544 | "[PRIM INVENTORY]: " + | 556 | "[PRIM INVENTORY]: " + |
545 | "Tried to retrieve item ID {0} from prim {1}, {2} but the item does not exist in this inventory", | 557 | "Tried to retrieve item ID {0} from prim {1}, {2} at {3} in {4} but the item does not exist in this inventory", |
546 | item.ItemID, m_part.Name, m_part.UUID); | 558 | item.ItemID, m_part.Name, m_part.UUID, |
559 | m_part.AbsolutePosition, m_part.ParentGroup.Scene.RegionInfo.RegionName); | ||
547 | } | 560 | } |
548 | m_items.LockItemsForWrite(false); | 561 | m_items.LockItemsForWrite(false); |
549 | 562 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e55acfe..cd28434 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3060,7 +3060,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3060 | 3060 | ||
3061 | // The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents( | 3061 | // The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents( |
3062 | // as of this comment the interval is set in AddToPhysicalScene | 3062 | // as of this comment the interval is set in AddToPhysicalScene |
3063 | 3063 | if (Animator!=null) | |
3064 | Animator.UpdateMovementAnimations(); | ||
3065 | |||
3064 | CollisionEventUpdate collisionData = (CollisionEventUpdate)e; | 3066 | CollisionEventUpdate collisionData = (CollisionEventUpdate)e; |
3065 | Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList; | 3067 | Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList; |
3066 | 3068 | ||
@@ -3072,7 +3074,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3072 | m_lastColCount = coldata.Count; | 3074 | m_lastColCount = coldata.Count; |
3073 | } | 3075 | } |
3074 | 3076 | ||
3075 | if (coldata.Count != 0) | 3077 | if (coldata.Count != 0 && Animator != null) |
3076 | { | 3078 | { |
3077 | switch (Animator.CurrentMovementAnimation) | 3079 | switch (Animator.CurrentMovementAnimation) |
3078 | { | 3080 | { |