Merge branch 'ubitworkmaster'
commit
241257cf55
|
@ -307,15 +307,15 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
);
|
);
|
||||||
|
|
||||||
// Check control flags
|
// Check control flags
|
||||||
/* not in use
|
/* not in use
|
||||||
bool heldForward = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_AT_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_POS)) != 0);
|
bool heldForward = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_AT_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_POS)) != 0);
|
||||||
bool heldBack = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG)) != 0);
|
bool heldBack = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG)) != 0);
|
||||||
bool heldLeft = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS)) != 0);
|
bool heldLeft = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS)) != 0);
|
||||||
bool heldRight = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG)) != 0);
|
bool heldRight = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG)) != 0);
|
||||||
*/
|
*/
|
||||||
bool heldTurnLeft = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT;
|
bool heldTurnLeft = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT;
|
||||||
bool heldTurnRight = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT;
|
bool heldTurnRight = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT;
|
||||||
// bool heldUp = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_POS)) != 0);
|
// bool heldUp = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_POS | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_POS)) != 0);
|
||||||
// excluded nudge up so it doesn't trigger jump state
|
// excluded nudge up so it doesn't trigger jump state
|
||||||
bool heldUp = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_POS)) != 0);
|
bool heldUp = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_POS)) != 0);
|
||||||
bool heldDown = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG)) != 0);
|
bool heldDown = ((controlFlags & (AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG | AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG)) != 0);
|
||||||
|
@ -432,7 +432,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
#region Jumping // section added for jumping...
|
#region Jumping // section added for jumping...
|
||||||
|
|
||||||
if (isColliding && heldUp && currentControlState != motionControlStates.jumping)
|
if (isColliding && heldUp && currentControlState != motionControlStates.jumping)
|
||||||
{
|
{
|
||||||
// Start jumping, prejump
|
// Start jumping, prejump
|
||||||
currentControlState = motionControlStates.jumping;
|
currentControlState = motionControlStates.jumping;
|
||||||
m_jumping = true;
|
m_jumping = true;
|
||||||
|
@ -465,6 +465,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
m_jumping = true;
|
m_jumping = true;
|
||||||
return "JUMP";
|
return "JUMP";
|
||||||
}
|
}
|
||||||
|
return CurrentMovementAnimation;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Jumping
|
#endregion Jumping
|
||||||
|
@ -508,7 +509,6 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// next section moved outside paren. and realigned for jumping
|
// next section moved outside paren. and realigned for jumping
|
||||||
|
|
||||||
if (heldOnXY)
|
if (heldOnXY)
|
||||||
|
@ -530,12 +530,12 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
return "WALK";
|
return "WALK";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!m_jumping)
|
else
|
||||||
{
|
{
|
||||||
currentControlState = motionControlStates.onsurface;
|
currentControlState = motionControlStates.onsurface;
|
||||||
Falling = false;
|
Falling = false;
|
||||||
// Not walking
|
// Not walking
|
||||||
if(heldDown)
|
if (heldDown)
|
||||||
return "CROUCH";
|
return "CROUCH";
|
||||||
else if (heldTurnLeft)
|
else if (heldTurnLeft)
|
||||||
return "TURNLEFT";
|
return "TURNLEFT";
|
||||||
|
|
|
@ -666,6 +666,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_isSelected = value;
|
m_isSelected = value;
|
||||||
if (ParentGroup != null)
|
if (ParentGroup != null)
|
||||||
ParentGroup.PartSelectChanged(value);
|
ParentGroup.PartSelectChanged(value);
|
||||||
|
if (!m_isSelected && m_angularVelocity != Vector3.Zero)
|
||||||
|
ScheduleTerseUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -928,7 +928,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
IsColliding = true;
|
IsColliding = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if (contact.normal.Z < 0.2f)
|
if (contact.normal.Z < 0.2f)
|
||||||
{
|
{
|
||||||
contact.normal.Z = 0;
|
contact.normal.Z = 0;
|
||||||
|
@ -940,12 +940,15 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
contact.normal.Y *= t;
|
contact.normal.Y *= t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
altContact = contact;
|
altContact = contact;
|
||||||
useAltcontact = true;
|
useAltcontact = true;
|
||||||
|
|
||||||
|
offset.Z -= 0.2f;
|
||||||
|
|
||||||
offset.Normalize();
|
offset.Normalize();
|
||||||
|
|
||||||
if (contact.depth > 0.1f)
|
if (contact.depth > 0.1f)
|
||||||
|
@ -1201,8 +1204,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// Avatar to Avatar collisions
|
// Avatar to Avatar collisions
|
||||||
// Prim to avatar collisions
|
// Prim to avatar collisions
|
||||||
|
|
||||||
vec.X = -vel.X * PID_D * 2 + (_zeroPosition.X - localpos.X) * (PID_P * 5);
|
vec.X = -vel.X * PID_D + (_zeroPosition.X - localpos.X) * (PID_P * 5);
|
||||||
vec.Y = -vel.Y * PID_D * 2 + (_zeroPosition.Y - localpos.Y) * (PID_P * 5);
|
vec.Y = -vel.Y * PID_D + (_zeroPosition.Y - localpos.Y) * (PID_P * 5);
|
||||||
if (flying)
|
if (flying)
|
||||||
{
|
{
|
||||||
vec.Z += -vel.Z * PID_D + (_zeroPosition.Z - localpos.Z) * PID_P;
|
vec.Z += -vel.Z * PID_D + (_zeroPosition.Z - localpos.Z) * PID_P;
|
||||||
|
@ -1223,7 +1226,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (ctz.Z > 0f)
|
if (ctz.Z > 0f)
|
||||||
{
|
{
|
||||||
// moving up or JUMPING
|
// moving up or JUMPING
|
||||||
vec.Z += (ctz.Z - vel.Z) * PID_D * 1.2f;// +(_zeroPosition.Z - localpos.Z) * PID_P;
|
vec.Z += (ctz.Z - vel.Z) * PID_D;
|
||||||
vec.X += (ctz.X - vel.X) * (PID_D);
|
vec.X += (ctz.X - vel.X) * (PID_D);
|
||||||
vec.Y += (ctz.Y - vel.Y) * (PID_D);
|
vec.Y += (ctz.Y - vel.Y) * (PID_D);
|
||||||
}
|
}
|
||||||
|
@ -1233,7 +1236,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (ctz.Z == 0)
|
if (ctz.Z == 0)
|
||||||
{
|
{
|
||||||
if (vel.Z > 0)
|
if (vel.Z > 0)
|
||||||
vec.Z -= vel.Z * PID_D * 2.0f;
|
vec.Z -= vel.Z * PID_D;
|
||||||
vec.X += (ctz.X - vel.X) * (PID_D);
|
vec.X += (ctz.X - vel.X) * (PID_D);
|
||||||
vec.Y += (ctz.Y - vel.Y) * (PID_D);
|
vec.Y += (ctz.Y - vel.Y) * (PID_D);
|
||||||
}
|
}
|
||||||
|
@ -1241,7 +1244,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (ctz.Z < vel.Z)
|
if (ctz.Z < vel.Z)
|
||||||
vec.Z += (ctz.Z - vel.Z) * PID_D * 2.0f;
|
vec.Z += (ctz.Z - vel.Z) * PID_D;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -1260,7 +1263,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// We're flying and colliding with something
|
// We're flying and colliding with something
|
||||||
vec.X += (ctz.X - vel.X) * (PID_D * 0.0625f);
|
vec.X += (ctz.X - vel.X) * (PID_D * 0.0625f);
|
||||||
vec.Y += (ctz.Y - vel.Y) * (PID_D * 0.0625f);
|
vec.Y += (ctz.Y - vel.Y) * (PID_D * 0.0625f);
|
||||||
vec.Z += (ctz.Z - vel.Z) * (PID_D);
|
vec.Z += (ctz.Z - vel.Z) * (PID_D * 0.0625f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // ie not colliding
|
else // ie not colliding
|
||||||
|
@ -1268,8 +1271,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (flying) //(!m_iscolliding && flying)
|
if (flying) //(!m_iscolliding && flying)
|
||||||
{
|
{
|
||||||
// we're in mid air suspended
|
// we're in mid air suspended
|
||||||
vec.X += (ctz.X - vel.X) * (PID_D * 1.667f);
|
vec.X += (ctz.X - vel.X) * (PID_D);
|
||||||
vec.Y += (ctz.Y - vel.Y) * (PID_D * 1.667f);
|
vec.Y += (ctz.Y - vel.Y) * (PID_D);
|
||||||
vec.Z += (ctz.Z - vel.Z) * (PID_D);
|
vec.Z += (ctz.Z - vel.Z) * (PID_D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue