- added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its feet clipped. - added vid_vsync to display options. - fixed: Animations of type 'Range' must be disabled if the textures don't come from the same definition unit (i.e both containing file and use type are identical.) - changed: Item pushing is now only done once per P_XYMovement call. - Increased the push factor of Heretic's pod to 0.5 so that its behavior more closely matches the original which depended on several bugs in the engine. - Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation to use floats to prevent overflows. The prevention of the overflows was the only reason the clamping was done. - Added Raven's dagger-like vector sprite for the player to the automap code. SVN r1668 (trunk)
This commit is contained in:
parent
e69f90076d
commit
3ab370b6ee
16 changed files with 149 additions and 36 deletions
|
|
@ -1497,6 +1497,7 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax)
|
|||
|
||||
fixed_t P_XYMovement (AActor *mo, fixed_t scrollx, fixed_t scrolly)
|
||||
{
|
||||
static int pushtime = 0;
|
||||
bool bForceSlide = scrollx || scrolly;
|
||||
angle_t angle;
|
||||
fixed_t ptryx, ptryy;
|
||||
|
|
@ -1656,11 +1657,16 @@ fixed_t P_XYMovement (AActor *mo, fixed_t scrollx, fixed_t scrolly)
|
|||
// last actor ripped through is recorded so that if the projectile
|
||||
// passes through more than one actor this tic, each one takes damage
|
||||
// and not just the first one.
|
||||
pushtime++;
|
||||
|
||||
FCheckPosition tm(!!(mo->flags2 & MF2_RIP));
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
if (i_compatflags & COMPATF_WALLRUN) pushtime++;
|
||||
tm.PushTime = pushtime;
|
||||
|
||||
ptryx = startx + Scale (xmove, step, steps);
|
||||
ptryy = starty + Scale (ymove, step, steps);
|
||||
|
||||
|
|
@ -1720,7 +1726,7 @@ fixed_t P_XYMovement (AActor *mo, fixed_t scrollx, fixed_t scrolly)
|
|||
fixed_t tx, ty;
|
||||
tx = 0, ty = onestepy;
|
||||
walkplane = P_CheckSlopeWalk (mo, tx, ty);
|
||||
if (P_TryMove (mo, mo->x + tx, mo->y + ty, true, walkplane))
|
||||
if (P_TryMove (mo, mo->x + tx, mo->y + ty, true, walkplane, tm))
|
||||
{
|
||||
mo->momx = 0;
|
||||
}
|
||||
|
|
@ -1728,7 +1734,7 @@ fixed_t P_XYMovement (AActor *mo, fixed_t scrollx, fixed_t scrolly)
|
|||
{
|
||||
tx = onestepx, ty = 0;
|
||||
walkplane = P_CheckSlopeWalk (mo, tx, ty);
|
||||
if (P_TryMove (mo, mo->x + tx, mo->y + ty, true, walkplane))
|
||||
if (P_TryMove (mo, mo->x + tx, mo->y + ty, true, walkplane, tm))
|
||||
{
|
||||
mo->momy = 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue