diff --git a/src/deh_tables.c b/src/deh_tables.c index 2491629d4..6eea5af4c 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -257,7 +257,7 @@ const char *const MOBJFLAG2_LIST[] = { "JUSTATTACKED", // can be pushed by other moving mobjs "FIRING", // turret fire "SUPERFIRE", // Firing something with Super Sonic-stopping properties. Or, if mobj has MF_MISSILE, this is the actual fire from it. - "DONTTRIGGER", // Prevents this mobj from triggering stuff. Used for sync safety on toggle effects. + "DONTSYNC", // Prevents this mobj from triggering stuff or being sent. Used for sync safety on toggle effects. "STRONGBOX", // Flag used for "strong" random monitors. "OBJECTFLIP", // Flag for objects that always have flipped gravity. "SKULLFLY", // Special handling: skull in flight. diff --git a/src/k_kart.c b/src/k_kart.c index e3841c7bf..97c899d38 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2610,7 +2610,7 @@ static void K_SpawnStackingEffect(player_t *player) { // Thanks to 1ndev for code used for booststack->scale and boosttack->frame! (taken and modified from BoostStack) mobj_t *booststack = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_BOOSTSTACK); - booststack->flags2 |= MF2_DONTTRIGGER; // No desyncs pls! + booststack->flags2 |= MF2_DONTSYNC; // No desyncs pls! P_SetTarget(&booststack->target, player->mo); P_SetScale(booststack, FixedMul(FRACUNIT + FixedMul(2*FRACUNIT - FRACUNIT, FixedDiv(min(player->numboosts,4)*FRACUNIT, 4*FRACUNIT)), mapobjectscale)); @@ -9595,7 +9595,7 @@ static void K_SpawnDriftEFX(player_t *player,SINT8 level) } mobj_t *overlay = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_BOOSTFLAME); - overlay->flags2 |= MF2_DONTTRIGGER; // No desyncs pls! + overlay->flags2 |= MF2_DONTSYNC; // No desyncs pls! P_SetMobjState(overlay, S_DRIFTBOOSTFLAME); P_SetTarget(&overlay->target, player->mo); P_SetScale(overlay, (overlay->destscale = player->mo->scale)); diff --git a/src/p_mobj.h b/src/p_mobj.h index 5f23f5073..11df861ed 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -191,7 +191,7 @@ typedef enum MF2_JUSTATTACKED = 1<<16, // can be pushed by other moving mobjs MF2_FIRING = 1<<17, // turret fire MF2_SUPERFIRE = 1<<18, // Firing something with Super Sonic-stopping properties. Or, if mobj has MF_MISSILE, this is the actual fire from it. - MF2_DONTTRIGGER = 1<<19, // Prevents this mobj from triggering stuff. Used for sync safety on toggle effects. + MF2_DONTSYNC = 1<<19, // Prevents this mobj from triggering stuff or being sent. Used for sync safety on toggle effects. MF2_STRONGBOX = 1<<20, // Flag used for "strong" random monitors. MF2_OBJECTFLIP = 1<<21, // Flag for objects that always have flipped gravity. MF2_SKULLFLY = 1<<22, // Special handling: skull in flight. diff --git a/src/p_saveg.c b/src/p_saveg.c index f7b5c7618..c9c2aac7b 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -2171,6 +2171,10 @@ static void SaveMobjThinker(savebuffer_t *save, const thinker_t *th, const UINT8 if (mobj->type == MT_SPARK) return; + // This is a non-synched visual effect mobj + if (mobj->flags2 & MF2_DONTSYNC) + return; + diff2 = 0; if (mobj->spawnpoint) diff --git a/src/p_spec.c b/src/p_spec.c index d84e89454..ece5bff74 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -5750,7 +5750,7 @@ void P_CheckMobjTrigger(mobj_t *mobj, boolean pushable) if (!mobj->subsector) return; - if (mobj->flags2 & MF2_DONTTRIGGER) + if (mobj->flags2 & MF2_DONTSYNC) { return; } @@ -6065,7 +6065,7 @@ void P_CheckMobjTouchingSectorActions(mobj_t *mobj, boolean continuous, boolean return; } - if (mobj->flags2 & MF2_DONTTRIGGER) + if (mobj->flags2 & MF2_DONTSYNC) { return; }