diff --git a/source/duke3d/src/sector.cpp b/source/duke3d/src/sector.cpp index 376944cce..65222f888 100644 --- a/source/duke3d/src/sector.cpp +++ b/source/duke3d/src/sector.cpp @@ -925,11 +925,15 @@ REDODOOR: if (j >= 0) { + for (SPRITES_OF(STAT_EFFECTOR, i)) + if (tag == (sector[SECT(i)].lotag & 0x8000u) && SLT(i) == SE_11_SWINGING_DOOR && sprite[j].hitag == SHT(i) && T5(i)) + return; + int soundPlayed = 0; for (SPRITES_OF(STAT_EFFECTOR, i)) { - if (tag == (sector[SECT(i)].lotag & 0x8000u) && SLT(i) == SE_11_SWINGING_DOOR && sprite[j].hitag == SHT(i) && !T5(i)) + if (tag == (sector[SECT(i)].lotag & 0x8000u) && SLT(i) == SE_11_SWINGING_DOOR && sprite[j].hitag == SHT(i)) { if (sector[SECT(i)].lotag & 0x8000u) sector[SECT(i)].lotag &= 0x7fff; else sector[SECT(i)].lotag |= 0x8000u;