Merge branch 'ubitworkmaster'

avinationmerge
Melanie Thielker 2014-10-05 20:50:09 +02:00
commit 241257cf55
3 changed files with 26 additions and 21 deletions

View File

@ -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";

View File

@ -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();
} }
} }

View File

@ -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);
} }