diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs index d8c7b84..63a93aa 100644 --- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs +++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs | |||
@@ -303,7 +303,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps | |||
303 | if (m_scene.Permissions.CanRezObject(1, avatar.UUID, pos)) | 303 | if (m_scene.Permissions.CanRezObject(1, avatar.UUID, pos)) |
304 | { | 304 | { |
305 | // rez ON the ground, not IN the ground | 305 | // rez ON the ground, not IN the ground |
306 | pos.Z += 0.25F; | 306 | // pos.Z += 0.25F; |
307 | 307 | ||
308 | obj = m_scene.AddNewPrim(avatar.UUID, group_id, pos, rotation, pbs); | 308 | obj = m_scene.AddNewPrim(avatar.UUID, group_id, pos, rotation, pbs); |
309 | } | 309 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 92cea43..ac2d02e 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1349,8 +1349,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1349 | Vector3 offset = (normal * (ScaleOffset / 2f)); | 1349 | Vector3 offset = (normal * (ScaleOffset / 2f)); |
1350 | pos = (intersectionpoint + offset); | 1350 | pos = (intersectionpoint + offset); |
1351 | 1351 | ||
1352 | //Seems to make no sense to do this as this call is used for rezzing from inventory as well, and with inventory items their size is not always 0.5f | ||
1353 | //And in cases when we weren't rezzing from inventory we were re-adding the 0.25 straight after calling this method | ||
1352 | // Un-offset the prim (it gets offset later by the consumer method) | 1354 | // Un-offset the prim (it gets offset later by the consumer method) |
1353 | pos.Z -= 0.25F; | 1355 | //pos.Z -= 0.25F; |
1356 | |||
1354 | } | 1357 | } |
1355 | 1358 | ||
1356 | return pos; | 1359 | return pos; |
@@ -1380,6 +1383,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1380 | { | 1383 | { |
1381 | // fall back to our stupid functionality | 1384 | // fall back to our stupid functionality |
1382 | pos = RayEnd; | 1385 | pos = RayEnd; |
1386 | |||
1387 | //increase height so its above the ground. | ||
1388 | //should be getting the normal of the ground at the rez point and using that? | ||
1389 | float ScaleOffset = Math.Abs(scale.Z); | ||
1390 | pos.Z += ScaleOffset / 2f; | ||
1383 | return pos; | 1391 | return pos; |
1384 | } | 1392 | } |
1385 | } | 1393 | } |
@@ -1393,7 +1401,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1393 | if (Permissions.CanRezObject(1, ownerID, pos)) | 1401 | if (Permissions.CanRezObject(1, ownerID, pos)) |
1394 | { | 1402 | { |
1395 | // rez ON the ground, not IN the ground | 1403 | // rez ON the ground, not IN the ground |
1396 | pos.Z += 0.25F; | 1404 | // pos.Z += 0.25F; The rez point should now be correct so that its not in the ground |
1397 | 1405 | ||
1398 | AddNewPrim(ownerID, groupID, pos, rot, shape); | 1406 | AddNewPrim(ownerID, groupID, pos, rot, shape); |
1399 | } | 1407 | } |