From 1c697ef0d206445c6819e338626169fc6ef56432 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Thu, 1 May 2008 06:31:12 +0000 Subject: * You can now rez objects out of inventory at the correct offset from prim you rez it on. Including multi prim groups and prim that have different X/Y/Z scales. --- OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/Scene.Inventory.cs') diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 7e1b89f..7866b32 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs @@ -1235,10 +1235,12 @@ namespace OpenSim.Region.Environment.Scenes bRayEndIsIntersection = (byte)0; } - LLVector3 pos - = GetNewRezLocation( + LLVector3 scale = new LLVector3(0.5f, 0.5f, 0.5f); + + + LLVector3 pos = GetNewRezLocation( RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), - BypassRayCast, bRayEndIsIntersection); + BypassRayCast, bRayEndIsIntersection,true,scale); if (!PermissionsMngr.CanRezObject(remoteClient.AgentId, pos) && !attachment) { @@ -1266,9 +1268,16 @@ namespace OpenSim.Region.Environment.Scenes // if attachment we set it's asset id so object updates can reflect that // if not, we set it's position in world. if (!attachment) + { + pos = GetNewRezLocation( + RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), + BypassRayCast, bRayEndIsIntersection, true, group.GroupScale()); group.AbsolutePosition = pos; + } else + { group.SetFromAssetID(itemID); + } SceneObjectPart rootPart = group.GetChildPart(group.UUID); -- cgit v1.1