aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorTeravus Ovares2008-03-03 16:52:25 +0000
committerTeravus Ovares2008-03-03 16:52:25 +0000
commitd01535690254a347939bc8946d8c10e78a8ea577 (patch)
tree638cae76c554d79425bcef4f64c1c96cfb2b4eb3 /OpenSim/Region/Environment
parent* More compiler warning nukage. (diff)
downloadopensim-SC-d01535690254a347939bc8946d8c10e78a8ea577.zip
opensim-SC-d01535690254a347939bc8946d8c10e78a8ea577.tar.gz
opensim-SC-d01535690254a347939bc8946d8c10e78a8ea577.tar.bz2
opensim-SC-d01535690254a347939bc8946d8c10e78a8ea577.tar.xz
* Applied patch 708 from devalnor. Thanks devalnor!
* ODE: Added support for larger box stacks. (they're slow, but they work) * ODEPlugin no longer tries to 'catch up' with the simulator frame rate if it gets behind. Catching up was causing a lot of problems with larger box stacks and other things that stall the simulator (like saving prim in the datastore)
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs45
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs2
2 files changed, 39 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index e41f180..8481737 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -606,16 +606,47 @@ namespace OpenSim.Region.Environment.Scenes
606 public void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, 606 public void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID,
607 uint primLocalID) 607 uint primLocalID)
608 { 608 {
609
609 SceneObjectGroup group = GetGroupByPrim(primLocalID); 610 SceneObjectGroup group = GetGroupByPrim(primLocalID);
611
610 if (group != null) 612 if (group != null)
611 { 613 {
612 // TODO Retrieve itemID from client's inventory to pass on 614 LLUUID copyID = LLUUID.Random();
613 //group.AddInventoryItem(remoteClient, primLocalID, null); 615 if (itemID != LLUUID.Zero)
614 m_log.InfoFormat( 616 {
615 "[PRIM INVENTORY]: " + 617 CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
616 "Non script prim inventory not yet implemented!" 618
617 + "\nUpdateTaskInventory called with item {0}, folder {1}, primLocalID {2}, user {3}", 619 if (userInfo != null && userInfo.RootFolder != null)
618 itemID, folderID, primLocalID, remoteClient.Name); 620 {
621 InventoryItemBase item = userInfo.RootFolder.HasItem(itemID);
622
623 // Try library
624 // XXX clumsy, possibly should be one call
625 if (null == item)
626 {
627 item = CommsManager.UserProfileCacheService.libraryRoot.HasItem(itemID);
628 }
629
630 if (item != null)
631 {
632
633 group.AddInventoryItem(remoteClient, primLocalID, item, copyID);
634 m_log.InfoFormat("[PRIMINVENTORY]: Update with item {0} requested of prim {1} for {2}", item.inventoryName, primLocalID, remoteClient.Name);
635 group.GetProperties(remoteClient);
636
637 }
638 else
639 {
640 m_log.ErrorFormat(
641 "[PRIM INVENTORY]: Could not find inventory item {0} to update for {1}!",
642 itemID, remoteClient.Name);
643 }
644
645 }
646
647 }
648
649
619 } 650 }
620 else 651 else
621 { 652 {
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 04fa03e..a6a5063 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -1844,7 +1844,7 @@ namespace OpenSim.Region.Environment.Scenes
1844 m_log.Info("[PHYSICS]: Physical Object went out of bounds."); 1844 m_log.Info("[PHYSICS]: Physical Object went out of bounds.");
1845 RemFlag(LLObject.ObjectFlags.Physics); 1845 RemFlag(LLObject.ObjectFlags.Physics);
1846 DoPhysicsPropertyUpdate(false, true); 1846 DoPhysicsPropertyUpdate(false, true);
1847 m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); 1847 //m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor);
1848 } 1848 }
1849 1849
1850 public virtual void OnGrab(LLVector3 offsetPos, IClientAPI remoteClient) 1850 public virtual void OnGrab(LLVector3 offsetPos, IClientAPI remoteClient)