diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 2a39ffd..704bad8 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2140,12 +2140,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
2140 | 2140 | ||
2141 | if (canSit) | 2141 | if (canSit) |
2142 | { | 2142 | { |
2143 | |||
2143 | if (PhysicsActor != null) | 2144 | if (PhysicsActor != null) |
2144 | { | 2145 | { |
2145 | // We can remove the physicsActor until they stand up. | 2146 | // We can remove the physicsActor until they stand up. |
2146 | RemoveFromPhysicalScene(); | 2147 | RemoveFromPhysicalScene(); |
2147 | } | 2148 | } |
2148 | 2149 | ||
2150 | if (MovingToTarget) | ||
2151 | { | ||
2152 | ResetMoveToTarget(); | ||
2153 | m_forceToApply = null; | ||
2154 | } | ||
2155 | |||
2156 | Velocity = Vector3.Zero; | ||
2157 | |||
2149 | part.AddSittingAvatar(UUID); | 2158 | part.AddSittingAvatar(UUID); |
2150 | 2159 | ||
2151 | cameraAtOffset = part.GetCameraAtOffset(); | 2160 | cameraAtOffset = part.GetCameraAtOffset(); |
@@ -2230,6 +2239,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2230 | return true; | 2239 | return true; |
2231 | } | 2240 | } |
2232 | 2241 | ||
2242 | |||
2233 | // not doing autopilot | 2243 | // not doing autopilot |
2234 | m_requestedSitTargetID = 0; | 2244 | m_requestedSitTargetID = 0; |
2235 | 2245 | ||
@@ -2259,8 +2269,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
2259 | 2269 | ||
2260 | // m_log.InfoFormat("physsit {0} {1}", offset.ToString(),Orientation.ToString()); | 2270 | // m_log.InfoFormat("physsit {0} {1}", offset.ToString(),Orientation.ToString()); |
2261 | 2271 | ||
2272 | RemoveFromPhysicalScene(); | ||
2273 | |||
2274 | if (MovingToTarget) | ||
2275 | { | ||
2276 | ResetMoveToTarget(); | ||
2277 | m_forceToApply = null; | ||
2278 | } | ||
2279 | |||
2280 | Velocity = Vector3.Zero; | ||
2281 | |||
2262 | part.AddSittingAvatar(UUID); | 2282 | part.AddSittingAvatar(UUID); |
2263 | 2283 | ||
2284 | |||
2264 | Vector3 cameraAtOffset = part.GetCameraAtOffset(); | 2285 | Vector3 cameraAtOffset = part.GetCameraAtOffset(); |
2265 | Vector3 cameraEyeOffset = part.GetCameraEyeOffset(); | 2286 | Vector3 cameraEyeOffset = part.GetCameraEyeOffset(); |
2266 | bool forceMouselook = part.GetForceMouselook(); | 2287 | bool forceMouselook = part.GetForceMouselook(); |
@@ -2269,8 +2290,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2269 | part.UUID, offset, Orientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook); | 2290 | part.UUID, offset, Orientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook); |
2270 | 2291 | ||
2271 | // not using autopilot | 2292 | // not using autopilot |
2272 | Velocity = Vector3.Zero; | ||
2273 | RemoveFromPhysicalScene(); | ||
2274 | 2293 | ||
2275 | Rotation = Orientation; | 2294 | Rotation = Orientation; |
2276 | m_pos = offset; | 2295 | m_pos = offset; |
@@ -2317,6 +2336,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2317 | return; | 2336 | return; |
2318 | } | 2337 | } |
2319 | 2338 | ||
2339 | |||
2320 | if (part.SitTargetAvatar == UUID) | 2340 | if (part.SitTargetAvatar == UUID) |
2321 | { | 2341 | { |
2322 | Vector3 sitTargetPos = part.SitTargetPosition; | 2342 | Vector3 sitTargetPos = part.SitTargetPosition; |