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!

ThreadPoolClientBranch
Teravus Ovares 2008-02-18 01:52:25 +00:00
parent e6a74344e7
commit 8edaada1d3
8 changed files with 11 additions and 10 deletions

View File

@ -1740,7 +1740,7 @@ namespace OpenSim.Region.Environment.Scenes
new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y,
AbsolutePosition.Z); 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.OnRequestTerseUpdate += SendTerseUpdateToAllClients;
m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate;
} }

View File

@ -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(); BasicActor act = new BasicActor();
act.Position = position; act.Position = position;

View File

@ -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(); PhysicsVector pos = new PhysicsVector();
pos.X = position.X; pos.X = position.X;

View File

@ -60,7 +60,7 @@ namespace OpenSim.Region.Physics.Manager
public abstract void Initialise(IMesher meshmerizer); 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); public abstract void RemoveAvatar(PhysicsActor actor);
@ -95,7 +95,7 @@ namespace OpenSim.Region.Physics.Manager
// Does nothing right now // 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); m_log.InfoFormat("[PHYSICS]: NullPhysicsScene : AddAvatar({0})", position);
return PhysicsActor.Null; return PhysicsActor.Null;

View File

@ -104,7 +104,7 @@ namespace OpenSim.Region.Physics.OdePlugin
public d.Mass ShellMass; public d.Mass ShellMass;
public bool collidelock = false; 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; ode = dode;
_velocity = new PhysicsVector(); _velocity = new PhysicsVector();
@ -131,6 +131,7 @@ namespace OpenSim.Region.Physics.OdePlugin
{ {
m_colliderarr[i] = false; m_colliderarr[i] = false;
} }
CAPSULE_LENGTH = (size.Z - ((size.Z * 0.52f)));
lock (OdeScene.OdeLock) lock (OdeScene.OdeLock)
{ {

View File

@ -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(); PhysicsVector pos = new PhysicsVector();
pos.X = position.X; pos.X = position.X;
pos.Y = position.Y; pos.Y = position.Y;
pos.Z = position.Z; pos.Z = position.Z;
OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode); OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode, size);
_characters.Add(newAv); _characters.Add(newAv);
return newAv; return newAv;
} }

View File

@ -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(); POSCharacter act = new POSCharacter();
act.Position = position; act.Position = position;

View File

@ -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(); Vec3 pos = new Vec3();
pos.X = position.X; pos.X = position.X;