Merge branch 'mf-nostepup' into 'next'

Add `MF_NOSTEPUP` flag

See merge request STJr/SRB2!1597
This commit is contained in:
ChaoLoveIceMDBoy 2025-03-22 18:23:29 +00:00
commit 9a31cb76e9
5 changed files with 14 additions and 8 deletions

View file

@ -4384,6 +4384,7 @@ const char *const MOBJFLAG_LIST[] = {
"NOCLIPTHING",
"GRENADEBOUNCE",
"RUNSPAWNFUNC",
"NOSTEPUP",
NULL
};

View file

@ -4469,7 +4469,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass
0, // damage
sfx_None, // activesound
MF_ENEMY|MF_SPECIAL|MF_NOGRAVITY|MF_SHOOTABLE, // flags
MF_ENEMY|MF_SPECIAL|MF_NOGRAVITY|MF_SHOOTABLE|MF_NOSTEPUP, // flags
(statenum_t)MT_MINE// raisestate
},

View file

@ -2748,7 +2748,7 @@ increment_move
maxstep = 0;
}
if (thing->type == MT_SKIM)
if (thing->flags & MF_NOSTEPUP)
maxstep = 0;
if (tmceilingz - tmfloorz < thing->height

View file

@ -10486,10 +10486,13 @@ void P_SceneryThinker(mobj_t *mobj)
P_CheckPosition(mobj, mobj->x, mobj->y); // Need this to pick up objects!
if (P_MobjWasRemoved(mobj))
return;
mobj->floorz = tmfloorz;
mobj->ceilingz = tmceilingz;
mobj->floorrover = tmfloorrover;
mobj->ceilingrover = tmceilingrover;
if (!(mobj->flags & MF_NOSTEPUP))
{
mobj->floorz = tmfloorz;
mobj->ceilingz = tmceilingz;
mobj->floorrover = tmfloorrover;
mobj->ceilingrover = tmceilingrover;
}
}
else
{

View file

@ -87,7 +87,7 @@
// block or has the MF_NOBLOCKMAP flag set.
// Links should only be modified by the P_[Un]SetThingPosition()
// functions.
// Do not change the MF_NO? flags while a thing is valid.
// Do not change the MF_NO? flags while a thing is valid with the exception of the MF_NOSTEPUP flag.
//
// Any questions?
//
@ -159,7 +159,9 @@ typedef enum
MF_GRENADEBOUNCE = 1<<28,
// Run the action thinker on spawn.
MF_RUNSPAWNFUNC = 1<<29,
// free: 1<<30 and 1<<31
// Don't allow the mobj to be affected by the stepup code.
MF_NOSTEPUP = 1<<30,
// free: to and including 1<<31
} mobjflag_t;
typedef enum