aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-28 14:24:14 +0000
committerTeravus Ovares2007-12-28 14:24:14 +0000
commitf64d94f8caccd49523c54c48a1c6700b7fb0d212 (patch)
tree6373c114a94befc75551953c706490acbca56c8e /OpenSim/Region/Environment
parent* Made a copy of parts before updating to avoid dictionary updated exceptions... (diff)
downloadopensim-SC_OLD-f64d94f8caccd49523c54c48a1c6700b7fb0d212.zip
opensim-SC_OLD-f64d94f8caccd49523c54c48a1c6700b7fb0d212.tar.gz
opensim-SC_OLD-f64d94f8caccd49523c54c48a1c6700b7fb0d212.tar.bz2
opensim-SC_OLD-f64d94f8caccd49523c54c48a1c6700b7fb0d212.tar.xz
* Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactorings
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs17
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs7
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);