From 8edaada1d3a8766f0759ddd42bdbf96c864ef30c Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Mon, 18 Feb 2008 01:52:25 +0000 Subject: [PATCH] ODE: Tired of floating above the ground after crossing a border? Boy have I got a solution for you! For a limited time, you can be the right height after border crossings automatically. Just three easy payments of $9.95 and make sure your neighbor is sending child agent updates! --- OpenSim/Region/Environment/Scenes/ScenePresence.cs | 2 +- .../Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 2 +- OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | 2 +- OpenSim/Region/Physics/Manager/PhysicsScene.cs | 4 ++-- OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 3 ++- OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 4 ++-- OpenSim/Region/Physics/POSPlugin/POSPlugin.cs | 2 +- OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | 2 +- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 67b07f6537..84ee9c4258 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -1740,7 +1740,7 @@ namespace OpenSim.Region.Environment.Scenes new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z); - m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec); + m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec,new PhysicsVector(0,0,m_avHeight)); //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; } diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index 3fb30fb777..4e96ce0bfe 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs @@ -79,7 +79,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin { } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { BasicActor act = new BasicActor(); act.Position = position; diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index f5f222b726..8482e4cf76 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs @@ -413,7 +413,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin { } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { PhysicsVector pos = new PhysicsVector(); pos.X = position.X; diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 5f0889862c..996aed640b 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs @@ -60,7 +60,7 @@ namespace OpenSim.Region.Physics.Manager public abstract void Initialise(IMesher meshmerizer); - public abstract PhysicsActor AddAvatar(string avName, PhysicsVector position); + public abstract PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size); public abstract void RemoveAvatar(PhysicsActor actor); @@ -95,7 +95,7 @@ namespace OpenSim.Region.Physics.Manager // Does nothing right now } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { m_log.InfoFormat("[PHYSICS]: NullPhysicsScene : AddAvatar({0})", position); return PhysicsActor.Null; diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 0f1446ca82..c41f812919 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs @@ -104,7 +104,7 @@ namespace OpenSim.Region.Physics.OdePlugin public d.Mass ShellMass; public bool collidelock = false; - public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode) + public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode, PhysicsVector size) { ode = dode; _velocity = new PhysicsVector(); @@ -131,6 +131,7 @@ namespace OpenSim.Region.Physics.OdePlugin { m_colliderarr[i] = false; } + CAPSULE_LENGTH = (size.Z - ((size.Z * 0.52f))); lock (OdeScene.OdeLock) { diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index c4d249d27d..3817868753 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -702,13 +702,13 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { PhysicsVector pos = new PhysicsVector(); pos.X = position.X; pos.Y = position.Y; pos.Z = position.Z; - OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode); + OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode, size); _characters.Add(newAv); return newAv; } diff --git a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs index bac61f4dbd..6d1bec707a 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs @@ -81,7 +81,7 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { POSCharacter act = new POSCharacter(); act.Position = position; diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index ffa0838217..970f6fb642 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs @@ -93,7 +93,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) { Vec3 pos = new Vec3(); pos.X = position.X;