* Fixed Physical prim, various issues, viewer freezes, sim crashes, ODE errors, etc.
parent
3cf3b426b6
commit
776e83941a
|
@ -299,29 +299,42 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
p2.PhysicsActorType == (int) ActorTypes.Prim))
|
||||
{
|
||||
if (p2.PhysicsActorType == (int) ActorTypes.Agent)
|
||||
{
|
||||
{ if (p1.IsPhysical)
|
||||
{
|
||||
int q = 1;
|
||||
}
|
||||
p2.CollidingObj = true;
|
||||
//contacts[i].depth = 0.003f;
|
||||
p2.Velocity = p2.Velocity + new PhysicsVector(0, 0, 2.5f);
|
||||
OdeCharacter character = (OdeCharacter) p2;
|
||||
character.SetPidStatus(true);
|
||||
//contacts[i].pos = new d.Vector3(contacts[i].pos.X + (p1.Size.X / 2), contacts[i].pos.Y + (p1.Size.Y / 2), contacts[i].pos.Z + (p1.Size.Z / 2));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (p1.IsPhysical)
|
||||
{
|
||||
int q = 1;
|
||||
}
|
||||
contacts[i].depth = 0.0000000f;
|
||||
}
|
||||
if (p1.PhysicsActorType == (int) ActorTypes.Agent)
|
||||
{
|
||||
if (p2.IsPhysical)
|
||||
{
|
||||
int q = 1;
|
||||
}
|
||||
p1.CollidingObj = true;
|
||||
//contacts[i].depth = 0.003f;
|
||||
p1.Velocity = p1.Velocity + new PhysicsVector(0, 0, 2.5f);
|
||||
//contacts[i].pos = new d.Vector3(contacts[i].pos.X + (p2.Size.X / 2), contacts[i].pos.Y + (p2.Size.Y / 2), contacts[i].pos.Z + (p2.Size.Z / 2));
|
||||
OdeCharacter character = (OdeCharacter) p2;
|
||||
OdeCharacter character = (OdeCharacter)p1;
|
||||
character.SetPidStatus(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//contacts[i].depth = 0.0000000f;
|
||||
}
|
||||
}
|
||||
|
@ -329,7 +342,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
if (p1.PhysicsActorType == (int) ActorTypes.Prim && p2.PhysicsActorType == (int) ActorTypes.Prim)
|
||||
{
|
||||
// Don't collide, one or both prim will explode.
|
||||
contacts[i].depth = -1f;
|
||||
contacts[i].depth = 0f;
|
||||
}
|
||||
if (contacts[i].depth >= 1.00f)
|
||||
{
|
||||
|
@ -356,11 +369,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
}
|
||||
if (p1.PhysicsActorType == (int) ActorTypes.Agent)
|
||||
{
|
||||
OdeCharacter character = (OdeCharacter) p2;
|
||||
OdeCharacter character = (OdeCharacter)p1;
|
||||
|
||||
//p2.CollidingObj = true;
|
||||
contacts[i].depth = 0.003f;
|
||||
p2.Velocity = p2.Velocity + new PhysicsVector(0, 0, 0.5f);
|
||||
p1.Velocity = p1.Velocity + new PhysicsVector(0, 0, 0.5f);
|
||||
contacts[i].pos =
|
||||
new d.Vector3(contacts[i].pos.X + (p1.Size.X/2),
|
||||
contacts[i].pos.Y + (p1.Size.Y/2),
|
||||
|
@ -1208,4 +1221,4 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue