- Fixed: When P_ZMovement() handled MF_FLOAT, it reset the actor's z velocity to 0. I'd like to

know why that was in there, but I have no idea. It was like this for the entire life of the
  repository, so I can't find anything from that. And since MF_FLOAT is typically also applied to
  monsters with MF_NOGRAVITY, the z velocity should already be 0, so it's a change that makes
  little sense.

SVN r3645 (trunk)
This commit is contained in:
Randy Heit 2012-05-13 00:27:51 +00:00
parent dc2010105b
commit 393b2177a9
2 changed files with 3 additions and 3 deletions

View file

@ -431,7 +431,7 @@ bool P_Move (AActor *actor)
// [RH] Walking actors that are not on the ground cannot walk. We don't
// want to yank them to the ground here as Doom did, since that makes
// it difficult ot thrust them vertically in a reasonable manner.
// it difficult to thrust them vertically in a reasonable manner.
// [GZ] Let jumping actors jump.
if (!((actor->flags & MF_NOGRAVITY) || (actor->flags6 & MF6_CANJUMP))
&& actor->z > actor->floorz && !(actor->flags2 & MF2_ONMOBJ))

View file

@ -2162,9 +2162,9 @@ void P_ZMovement (AActor *mo, fixed_t oldfloorz)
dist = P_AproxDistance (mo->x - mo->target->x, mo->y - mo->target->y);
delta = (mo->target->z + (mo->height>>1)) - mo->z;
if (delta < 0 && dist < -(delta*3))
mo->z -= mo->FloatSpeed, mo->velz = 0;
mo->z -= mo->FloatSpeed;
else if (delta > 0 && dist < (delta*3))
mo->z += mo->FloatSpeed, mo->velz = 0;
mo->z += mo->FloatSpeed;
}
}
if (mo->player && (mo->flags & MF_NOGRAVITY) && (mo->z > mo->floorz))