Doom Wiki
Advertisement
Doom Wiki


A partir del uso del motor de Doom II, las paredes y los techos en movimiento (por ejemplo, las puertas, ascensores, escaleras mecánicas, trituradoras) pueden ser normales o "ardientes (blazing)": los sectores ardientes suben o bajan mucho más rápidamente que el movimiento de los sectores normales.

Una puerta ardiente, como una puerta normal, no puede cerrarse si un jugador o monstruo está directamente debajo de ella, sino que rebota en el objeto y vuelve a abrirse. Entonces uno esperaría escuchar el ruido asociado con la apertura de una puerta ardiente (DSBDOPN); en cambio, sin embargo, se reproduce el sonido normal de apertura de puerta (DSDOROPN).

Aspectos técnicos[]

La causa de este error se puede encontrar en p_doors.c en la función Thinker T_VerticalDoor. Esta función controla el comportamiento de las puertas y realiza su "animación". El siguiente código detecta cuando una puerta que se cierra golpea un objeto y hace que cambie de dirección:

else if (res == crushed)
{
switch(door->type)
{
case blazeClose:
case close: // DO NOT GO BACK UP!
break;

default:
door->direction = 1;
S_StartSound((mobj_t *)&door->sector->soundorg,
sfx_doropn);
break;
}
}
break;

La llamada a S_StartSound hace que se reproduzca el sonido de "apertura de puerta" cuando la puerta se vuelve a abrir. Sin embargo, no se incluye ninguna prueba para verificar el tipo de puerta y reproducir el sonido correcto. Por lo tanto, siempre se reproduce el sonido normal de apertura de la puerta.

Véase también[]

Advertisement