diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 7 |
2 files changed, 21 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 4c6e1c8..35112e7 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -699,8 +699,23 @@ namespace OpenSim.Region.Environment.Scenes | |||
699 | group.DeleteParts(); | 699 | group.DeleteParts(); |
700 | } | 700 | } |
701 | 701 | ||
702 | public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos) | 702 | public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart, |
703 | LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, | ||
704 | uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags, | ||
705 | bool RezSelected, bool RemoveItem, LLUUID fromTaskID) | ||
703 | { | 706 | { |
707 | byte bRayEndIsIntersection = (byte)0; | ||
708 | |||
709 | if (RayEndIsIntersection) | ||
710 | { | ||
711 | bRayEndIsIntersection = (byte)1; | ||
712 | } | ||
713 | else | ||
714 | { | ||
715 | bRayEndIsIntersection = (byte)0; | ||
716 | } | ||
717 | |||
718 | LLVector3 pos = GetNewRezLocation(RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), BypassRayCast, bRayEndIsIntersection); | ||
704 | CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); | 719 | CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); |
705 | if (userInfo != null) | 720 | if (userInfo != null) |
706 | { | 721 | { |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 3919a46..89b68de 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -931,6 +931,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
931 | if (RayEndIsIntersection == (byte)1) | 931 | if (RayEndIsIntersection == (byte)1) |
932 | { | 932 | { |
933 | pos = RayEnd; | 933 | pos = RayEnd; |
934 | pos.Z += 0.25F; | ||
934 | return pos; | 935 | return pos; |
935 | } | 936 | } |
936 | if (RayTargetID != LLUUID.Zero) | 937 | if (RayTargetID != LLUUID.Zero) |
@@ -986,13 +987,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
986 | 987 | ||
987 | 988 | ||
988 | 989 | ||
989 | 990 | pos.Z += 0.25F; | |
990 | return pos; | 991 | return pos; |
991 | } | 992 | } |
992 | else | 993 | else |
993 | { | 994 | { |
994 | // fall back to our stupid functionality | 995 | // fall back to our stupid functionality |
995 | pos = RayEnd; | 996 | pos = RayEnd; |
997 | pos.Z += 0.25F; | ||
996 | return pos; | 998 | return pos; |
997 | } | 999 | } |
998 | } | 1000 | } |
@@ -1000,6 +1002,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1000 | { | 1002 | { |
1001 | // fall back to our stupid functionality | 1003 | // fall back to our stupid functionality |
1002 | pos = RayEnd; | 1004 | pos = RayEnd; |
1005 | pos.Z += 0.25F; | ||
1003 | return pos; | 1006 | return pos; |
1004 | } | 1007 | } |
1005 | 1008 | ||
@@ -1018,7 +1021,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1018 | if (PermissionsMngr.CanRezObject(ownerID, pos)) | 1021 | if (PermissionsMngr.CanRezObject(ownerID, pos)) |
1019 | { | 1022 | { |
1020 | // rez ON the ground, not IN the ground | 1023 | // rez ON the ground, not IN the ground |
1021 | pos.Z += 0.25F; | 1024 | |
1022 | 1025 | ||
1023 | 1026 | ||
1024 | AddNewPrim(ownerID, pos, rot, shape); | 1027 | AddNewPrim(ownerID, pos, rot, shape); |