diff --git a/src/p_mobj.c b/src/p_mobj.c index afcc87c3e..d347386bd 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -3574,7 +3574,8 @@ static void P_CheckFloatbobPlatforms(mobj_t *mobj) static void P_SquishThink(mobj_t *mobj) { - if (!(mobj->eflags & MFE_SLOPELAUNCHED)) + if (!(mobj->flags & MF_NOSQUISH) && + !(mobj->eflags & MFE_SLOPELAUNCHED)) { K_Squish(mobj); } diff --git a/src/p_mobj.h b/src/p_mobj.h index 2373bdca4..e5bba25de 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -159,6 +159,8 @@ typedef enum MF_DONTENCOREMAP = 1<<28, // Hitbox extends just as far below as above. MF_PICKUPFROMBELOW = 1<<29, + // Disable momentum-based squash and stretch. + MF_NOSQUISH = 1<<30, // free: to and including 1<<31 } mobjflag_t;