diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 97de147..dc58d84 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3235,6 +3235,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
3235 | /// <param name="flags"></param> | 3235 | /// <param name="flags"></param> |
3236 | public virtual void SetHomeRezPoint(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags) | 3236 | public virtual void SetHomeRezPoint(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags) |
3237 | { | 3237 | { |
3238 | //Add half the avatar's height so that the user doesn't fall through prims | ||
3239 | ScenePresence presence; | ||
3240 | if (TryGetScenePresence(remoteClient.AgentId, out presence)) | ||
3241 | { | ||
3242 | if (presence.Appearance != null) | ||
3243 | { | ||
3244 | position.Z = position.Z + (presence.Appearance.AvatarHeight / 2); | ||
3245 | } | ||
3246 | } | ||
3247 | |||
3238 | if (GridUserService != null && GridUserService.SetHome(remoteClient.AgentId.ToString(), RegionInfo.RegionID, position, lookAt)) | 3248 | if (GridUserService != null && GridUserService.SetHome(remoteClient.AgentId.ToString(), RegionInfo.RegionID, position, lookAt)) |
3239 | // FUBAR ALERT: this needs to be "Home position set." so the viewer saves a home-screenshot. | 3249 | // FUBAR ALERT: this needs to be "Home position set." so the viewer saves a home-screenshot. |
3240 | m_dialogModule.SendAlertToUser(remoteClient, "Home position set."); | 3250 | m_dialogModule.SendAlertToUser(remoteClient, "Home position set."); |