Correct remaining instances where step up/down scales with the object instead of the map

This commit is contained in:
TehRealSalt 2018-08-27 01:07:44 -04:00
parent b426e43d2d
commit 6fdb743a59
3 changed files with 7 additions and 7 deletions

View file

@ -2793,7 +2793,7 @@ boolean P_SceneryTryMove(mobj_t *thing, fixed_t x, fixed_t y)
if (!(thing->flags & MF_NOCLIP)) if (!(thing->flags & MF_NOCLIP))
{ {
const fixed_t maxstep = MAXSTEPMOVE; const fixed_t maxstep = FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale);
if (tmceilingz - tmfloorz < thing->height) if (tmceilingz - tmfloorz < thing->height)
return false; // doesn't fit return false; // doesn't fit
@ -3276,7 +3276,7 @@ static boolean PTR_SlideTraverse(intercept_t *in)
if (opentop - slidemo->z < slidemo->height) if (opentop - slidemo->z < slidemo->height)
goto isblocking; // mobj is too high goto isblocking; // mobj is too high
if (openbottom - slidemo->z > FixedMul(MAXSTEPMOVE, slidemo->scale)) if (openbottom - slidemo->z > FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale))
goto isblocking; // too big a step up goto isblocking; // too big a step up
// this line doesn't block movement // this line doesn't block movement

View file

@ -7913,7 +7913,7 @@ void P_MobjThinker(mobj_t *mobj)
else else
{ {
mobj->flags &= ~MF_NOGRAVITY; mobj->flags &= ~MF_NOGRAVITY;
if (mobj->z > mobj->watertop && mobj->z - mobj->watertop < FixedMul(MAXSTEPMOVE, mobj->scale)) if (mobj->z > mobj->watertop && mobj->z - mobj->watertop < FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale))
mobj->z = mobj->watertop; mobj->z = mobj->watertop;
} }
break; break;

View file

@ -2978,7 +2978,7 @@ static fixed_t teeteryl, teeteryh;
static boolean PIT_CheckSolidsTeeter(mobj_t *thing) // SRB2kart - unused. static boolean PIT_CheckSolidsTeeter(mobj_t *thing) // SRB2kart - unused.
{ {
fixed_t blockdist; fixed_t blockdist;
fixed_t tiptop = FixedMul(MAXSTEPMOVE, teeterer->scale); fixed_t tiptop = FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale);
fixed_t thingtop = thing->z + thing->height; fixed_t thingtop = thing->z + thing->height;
fixed_t teeterertop = teeterer->z + teeterer->height; fixed_t teeterertop = teeterer->z + teeterer->height;
@ -3095,7 +3095,7 @@ static void P_DoTeeter(player_t *player) // SRB2kart - unused.
boolean roverfloor; // solid 3d floors? boolean roverfloor; // solid 3d floors?
fixed_t floorheight, ceilingheight; fixed_t floorheight, ceilingheight;
fixed_t topheight, bottomheight; // for 3d floor usage fixed_t topheight, bottomheight; // for 3d floor usage
const fixed_t tiptop = FixedMul(MAXSTEPMOVE, player->mo->scale); // Distance you have to be above the ground in order to teeter. const fixed_t tiptop = FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale); // Distance you have to be above the ground in order to teeter.
if (player->mo->standingslope && player->mo->standingslope->zdelta >= (FRACUNIT/2)) // Always teeter if the slope is too steep. if (player->mo->standingslope && player->mo->standingslope->zdelta >= (FRACUNIT/2)) // Always teeter if the slope is too steep.
teeter = true; teeter = true;
@ -7765,8 +7765,8 @@ boolean P_LookForEnemies(player_t *player)
if (mo->type == MT_DETON) // Don't be STUPID, Sonic! if (mo->type == MT_DETON) // Don't be STUPID, Sonic!
continue; continue;
if (((mo->z > player->mo->z+FixedMul(MAXSTEPMOVE, player->mo->scale)) && !(player->mo->eflags & MFE_VERTICALFLIP)) if (((mo->z > player->mo->z+FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale)) && !(player->mo->eflags & MFE_VERTICALFLIP))
|| ((mo->z+mo->height < player->mo->z+player->mo->height-FixedMul(MAXSTEPMOVE, player->mo->scale)) && (player->mo->eflags & MFE_VERTICALFLIP))) // Reverse gravity check - Flame. || ((mo->z+mo->height < player->mo->z+player->mo->height-FixedMul(MAXSTEPMOVE, mapheaderinfo[gamemap-1]->mobj_scale)) && (player->mo->eflags & MFE_VERTICALFLIP))) // Reverse gravity check - Flame.
continue; // Don't home upwards! continue; // Don't home upwards!
if (P_AproxDistance(P_AproxDistance(player->mo->x-mo->x, player->mo->y-mo->y), if (P_AproxDistance(P_AproxDistance(player->mo->x-mo->x, player->mo->y-mo->y),