From 51941f58962df6c60d34a2df2400ee9abbdd282b Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 16 Dec 2021 23:03:39 -0800 Subject: [PATCH 1/2] MF_NOSQUISH to disable K_Squish --- src/p_mobj.c | 3 ++- src/p_mobj.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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; From ade0b48b893dbbefc3a594f4008c14ce03d028e2 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 16 Dec 2021 23:05:44 -0800 Subject: [PATCH 2/2] Add missing mobj flags to SOC/Lua --- src/deh_tables.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/deh_tables.c b/src/deh_tables.c index 894157639..b8d39380e 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -5794,6 +5794,8 @@ const char *const MOBJFLAG_LIST[] = { "GRENADEBOUNCE", "RUNSPAWNFUNC", "DONTENCOREMAP", + "PICKUPFROMBELOW", + "NOSQUISH", NULL };