aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-11-29 00:12:11 +0000
committerJustin Clark-Casey (justincc)2014-11-29 00:12:11 +0000
commit265fe349e00b3ece59ec02e56f83bb7623e9d962 (patch)
tree42afe816271f54a017fe5f731d905e923ef5d67b /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
parentAvoid repeated lag-generating continuous attempts to retrieve HG service Urls... (diff)
downloadopensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.zip
opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.gz
opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.bz2
opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.xz
Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular * Full avatar updates contained no velocity information, which does appear to have some effect in testing. * BulletSim was always setting the velocity to 0 for the new BSCharacter. Now, physics engines take a velocity parameter when setting up characters so we can avoid this. This patch applies to both Bullet and ODE.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index 0f79a10..414bc92 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -461,19 +461,19 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
461 461
462 #region Prim and Avatar addition and removal 462 #region Prim and Avatar addition and removal
463 463
464 public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) 464 public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying)
465 { 465 {
466 m_log.ErrorFormat("{0}: CALL TO AddAvatar in BSScene. NOT IMPLEMENTED", LogHeader); 466 m_log.ErrorFormat("{0}: CALL TO AddAvatar in BSScene. NOT IMPLEMENTED", LogHeader);
467 return null; 467 return null;
468 } 468 }
469 469
470 public override PhysicsActor AddAvatar(uint localID, string avName, Vector3 position, Vector3 size, bool isFlying) 470 public override PhysicsActor AddAvatar(uint localID, string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying)
471 { 471 {
472 // m_log.DebugFormat("{0}: AddAvatar: {1}", LogHeader, avName); 472 // m_log.DebugFormat("{0}: AddAvatar: {1}", LogHeader, avName);
473 473
474 if (!m_initialized) return null; 474 if (!m_initialized) return null;
475 475
476 BSCharacter actor = new BSCharacter(localID, avName, this, position, size, isFlying); 476 BSCharacter actor = new BSCharacter(localID, avName, this, position, velocity, size, isFlying);
477 lock (PhysObjects) 477 lock (PhysObjects)
478 PhysObjects.Add(localID, actor); 478 PhysObjects.Add(localID, actor);
479 479