Fix T46902: Revert zeroing velocity in BGE logic brick

This reverts commit 3dbc123061, "BGE:
allow setting velocity to zero in a motion actuator" as it caused more
issues than it solved. Zeroing linear or angular velocity with logic
bricks is discussed further in https://developer.blender.org/D1545
This commit is contained in:
Sybren A. Stüvel 2016-01-25 13:43:28 +01:00
parent e8b5670da0
commit 83c9109926
1 changed files with 4 additions and 17 deletions

View File

@ -276,16 +276,8 @@ bool KX_ObjectActuator::Update()
{
parent->ApplyRotation(m_drot,(m_bitLocalFlag.DRot) != 0);
}
if (m_bitLocalFlag.ZeroLinearVelocity) {
if (!m_bitLocalFlag.AddOrSetLinV) {
/* No need to select local or world, as the velocity is zero anyway,
* and setLinearVelocity() converts local to world first. We do need to
* pass a true zero vector, as m_linear_velocity is only fuzzily zero. */
parent->setLinearVelocity(MT_Vector3(0, 0, 0), false);
}
}
else {
if (!m_bitLocalFlag.ZeroLinearVelocity)
{
if (m_bitLocalFlag.AddOrSetLinV) {
parent->addLinearVelocity(m_linear_velocity,(m_bitLocalFlag.LinearVelocity) != 0);
} else {
@ -310,13 +302,8 @@ bool KX_ObjectActuator::Update()
}
}
}
if (m_bitLocalFlag.ZeroAngularVelocity) {
/* No need to select local or world, as the velocity is zero anyway,
* and setAngularVelocity() converts local to world first. We do need to
* pass a true zero vector, as m_angular_velocity is only fuzzily zero. */
parent->setAngularVelocity(MT_Vector3(0, 0, 0), false);
}
else {
if (!m_bitLocalFlag.ZeroAngularVelocity)
{
m_active_combined_velocity = true;
if (m_damping > 0) {
MT_Vector3 angV;