diff --git a/src/g_game.c b/src/g_game.c index 4ab793158..6879ebbc0 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4780,7 +4780,7 @@ void G_BindCompVariables(void) BIND_COMP(comp_vile, 0, "Arch-viles can create ghost monsters"); BIND_COMP(comp_pain, 0, "Pain elementals are limited to 20 lost souls"); BIND_COMP(comp_skull, 0, "Lost souls can spawn past impassable lines"); - BIND_COMP(comp_blazing, 0, "Blazing doors make double closing sounds"); + BIND_COMP(comp_blazing, 0, "Incorrect sound behavior for blazing doors"); BIND_COMP(comp_doorlight, 0, "Door lighting changes are immediate"); BIND_COMP(comp_god, 0, "God mode isn't absolute"); BIND_COMP(comp_skymap, 0, "Don't apply invulnerability palette to skies"); diff --git a/src/p_doors.c b/src/p_doors.c index f2702a7f2..f8308fd0b 100644 --- a/src/p_doors.c +++ b/src/p_doors.c @@ -174,6 +174,16 @@ void T_VerticalDoor (vldoor_t *door) case doorClose: // Close types do not bounce, merely wait break; + case blazeRaise: + case genBlazeRaise: + door->direction = 1; + if (!STRICTMODE_COMP(comp_blazing)) + { + S_StartSound((mobj_t *)&door->sector->soundorg,sfx_bdopn); + break; + } + // fallthrough + default: // other types bounce off the obstruction door->direction = 1; S_StartSound((mobj_t *)&door->sector->soundorg,sfx_doropn);