diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 19 |
3 files changed, 24 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 61b0ebd..39d7512 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -742,7 +742,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
742 | public event OnIncomingSceneObjectDelegate OnIncomingSceneObject; | 742 | public event OnIncomingSceneObjectDelegate OnIncomingSceneObject; |
743 | public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so); | 743 | public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so); |
744 | 744 | ||
745 | public delegate void NewInventoryItemUploadComplete(UUID avatarID, UUID assetID, string name, int userlevel); | 745 | public delegate void NewInventoryItemUploadComplete(UUID avatarID, AssetType type, UUID assetID, string name, int userlevel); |
746 | 746 | ||
747 | public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; | 747 | public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; |
748 | 748 | ||
@@ -2146,7 +2146,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2146 | } | 2146 | } |
2147 | } | 2147 | } |
2148 | 2148 | ||
2149 | public void TriggerOnNewInventoryItemUploadComplete(UUID agentID, UUID AssetID, String AssetName, int userlevel) | 2149 | public void TriggerOnNewInventoryItemUploadComplete(UUID agentID, AssetType type, UUID AssetID, String AssetName, int userlevel) |
2150 | { | 2150 | { |
2151 | NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = OnNewInventoryItemUploadComplete; | 2151 | NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = OnNewInventoryItemUploadComplete; |
2152 | if (handlerNewInventoryItemUpdateComplete != null) | 2152 | if (handlerNewInventoryItemUpdateComplete != null) |
@@ -2155,7 +2155,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2155 | { | 2155 | { |
2156 | try | 2156 | try |
2157 | { | 2157 | { |
2158 | d(agentID, AssetID, AssetName, userlevel); | 2158 | d(agentID, type, AssetID, AssetName, userlevel); |
2159 | } | 2159 | } |
2160 | catch (Exception e) | 2160 | catch (Exception e) |
2161 | { | 2161 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 1e4d558..58fa18c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -139,7 +139,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
139 | { | 139 | { |
140 | userlevel = 1; | 140 | userlevel = 1; |
141 | } | 141 | } |
142 | EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, item.AssetID, item.Name, userlevel); | 142 | EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, (AssetType)item.AssetType, item.AssetID, item.Name, userlevel); |
143 | 143 | ||
144 | return true; | 144 | return true; |
145 | } | 145 | } |
@@ -178,7 +178,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
178 | { | 178 | { |
179 | userlevel = 1; | 179 | userlevel = 1; |
180 | } | 180 | } |
181 | EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, item.AssetID, item.Name, userlevel); | 181 | EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, (AssetType)item.AssetType, item.AssetID, item.Name, userlevel); |
182 | 182 | ||
183 | if (originalFolder != UUID.Zero) | 183 | if (originalFolder != UUID.Zero) |
184 | { | 184 | { |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 33db88b..6433878 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1125,6 +1125,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
1125 | 1125 | ||
1126 | public void StopFlying() | 1126 | public void StopFlying() |
1127 | { | 1127 | { |
1128 | Vector3 pos = AbsolutePosition; | ||
1129 | if (Appearance.AvatarHeight != 127.0f) | ||
1130 | pos += new Vector3(0f, 0f, (Appearance.AvatarHeight / 6f)); | ||
1131 | else | ||
1132 | pos += new Vector3(0f, 0f, (1.56f / 6f)); | ||
1133 | |||
1134 | AbsolutePosition = pos; | ||
1135 | |||
1136 | // attach a suitable collision plane regardless of the actual situation to force the LLClient to land. | ||
1137 | // Collision plane below the avatar's position a 6th of the avatar's height is suitable. | ||
1138 | // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a | ||
1139 | // certain amount.. because the LLClient wouldn't land in that situation anyway. | ||
1140 | |||
1141 | // why are we still testing for this really old height value default??? | ||
1142 | if (Appearance.AvatarHeight != 127.0f) | ||
1143 | CollisionPlane = new Vector4(0, 0, 0, pos.Z - Appearance.AvatarHeight / 6f); | ||
1144 | else | ||
1145 | CollisionPlane = new Vector4(0, 0, 0, pos.Z - (1.56f / 6f)); | ||
1146 | |||
1128 | ControllingClient.SendAgentTerseUpdate(this); | 1147 | ControllingClient.SendAgentTerseUpdate(this); |
1129 | } | 1148 | } |
1130 | 1149 | ||