diff --git a/src/p_floor.c b/src/p_floor.c index 352d13a8d..ef31d5d1d 100644 --- a/src/p_floor.c +++ b/src/p_floor.c @@ -1805,7 +1805,7 @@ static floormove_t *CreateFloorThinker(sector_t *sec) } dofloor = Z_Calloc(sizeof (*dofloor), PU_LEVSPEC, NULL); - P_AddThinker(THINK_MAIN, &dofloor->thinker); + P_AddThinker(udmf ? THINK_MAIN : THINK_FLOORS, &dofloor->thinker); // make sure another floor thinker won't get started over this one sec->floordata = dofloor; diff --git a/src/p_local.h b/src/p_local.h index 12e05d781..2b89e602f 100644 --- a/src/p_local.h +++ b/src/p_local.h @@ -69,6 +69,7 @@ typedef enum THINK_POLYOBJ, THINK_MAIN, THINK_MOBJ, + THINK_FLOORS, // thanks diamond square THINK_DYNSLOPE, // Lists after this may exist but they do not call an