Doom Wiki
Doom Wiki
Formato de mapa Doom
Extensiones


Las LINEDEFS son las líneas que determinan la "forma" (a falta de una palabra mejor) de un mapa de nivel. Pueden representar una pared, aunque a veces son simplemente una línea invisible que, al cruzarla el jugador, provoca que ocurra algo. Existen dos grandes propósitos para las linedefs: el primero es dividir el mapa en sectores y el segundo es desencadenar acciones especiales.

Cada linedef se desarrolla entre dos vértices y contiene uno o dos sidedefs (que tienen los datos de textura de la pared).

Uso[]

Cualquier área de un mapa ubicada directamente detrás una linedef de un solo lado, es considerada por el motor como espacio vacío que no puede ser ocupado, excepto mediante la utilización del código de trucos idclip.

Doom formato mapa

Al dividir el mapa en sectores, se necesita una linedef de dos lados, y esto también es necesario cuando dos partes de la misma habitación deben comportarse de manera diferente, como cuando hay un cambio en la altura o la textura del piso o el techo, el nivel de luz o la etiqueta o tipo de sector.

Hay cuatro maneras de desencadenar una acción especial desde la linedef:

  • Que pase por encima de ella un jugador, un monstruo o ambos.
  • Pulsar la tecla correspondiente a "Usar" (la barra espaciadora, por defecto) frente a ella.
  • Dispararle con un arma de impacto.
  • Cuando ciertos proyectiles pasan por encima.

Cuál de estos casos se aplicará depende de un número que determina el tipo de linedef, el que también especifica la acción particular que se producirá.

Las linedefs activadas por monstruos también pueden activarse mediante los proyectiles lanzados por los nuevos monstruos agregados en Doom II, ya que no están detallados en la lista codificada de proyectiles que no deberían activar acciones especiales.

La acción especificada por lo general se llevará a cabo en el sector o sectores que tienen el mismo número de etiqueta que la linedef. Las excepciones a esto incluyen puertas locales (que actúan en el sector al otro lado de la línea), efectos especiales que se aplican a la propia linedef y las acciones de salida del nivel. La mayoría de las acciones se pueden especificar para funcionar una sola vez o repetirlas (mediante el uso de diferentes tipos de linedef).

Qué lado es el frente o el reverso de una linedef está determinado cuál es el primer vértice. Por ejemplo, si dibujara muchas linedefs con segundos vértices diferentes, pero el mismo primer vértice, esos linedefs mirarían "en el sentido de las agujas del reloj". El frente siempre está a 90º a la derecha/en el sentido de las agujas del reloj desde el rayo que dibujarías comenzando desde el primer punto hasta el segundo punto. Para hacer que una linedef mire en la dirección opuesta, hay que invertir los vértices.

Estructura de las Linedef[]

Formato de nivel Doom[]

Cada linedef está conformada por 14 bytes de longitud.

Offset Tamaño (bytes) Descripción
0 2 Vértice inicial (desde el vértice con este número, el primer vértice es 0)
2 2 Vértice final (al vértice con este número, 31 es el vértice 32º)
4 2 Atributos (o banderas)
6 2 Tipo especial de linedef
8 2 Etiqueta de sector
10 2 Sidedef derecho
12 2 Sidedef izquierdo [1]
  1. El valor especial -1 se utiliza para indicar que no hay ninguna sidedef izquierda, en las líneas de un solo lado.

Los conceptos de sidedef derecho e izquierdo se basan en la dirección de la linedef, que está indicada por la disposición de los VERTEXES "desde" y "hasta" o "inicio" y "final". Este bosquejo debe dejarlo claro:

               lado izquierdo                  lado derecho
    inicio   ------------------>   final   <------------------   inicio
                lado derecho                  lado izquierdo

Es importante resaltar que todas las líneas deben tener un lado derecho. Si se trata de una línea de un solo lado, entonces debe ir en la dirección correcta, por lo que su lado único se enfrenta al sector del cual es parte. Doom se "colgará" en un nivel que tiene una línea sin lado derecho.

Formato de nivel Doom 64[]

Las linedefs de Doom 64 tienen la misma estructura que en el formato de Doom, excepto por los atributos o banderas, que tienen el doble de tamaño de bytes en comparación con Doom. Por lo tanto, cada linedef tiene una longitud de 16 bytes.

Offset Tamaño (bytes) Descripción
0 2 Vértice inicial
2 2 Vértice final
4 4 Atributos (o banderas)
8 2 Tipo especial de linedef
10 2 Sector Tag
12 2 Sidedef derecho
14 2 Sidedef izquierdo

Formato de nivel Hexen[]

En Hexen cada linedef está conformada por 16 bytes de longitud.

Offset Tamaño (bytes) Descripción
0 2 Vértice inicial
2 2 Vértice final
4 2 Atributos (o banderas)
6 1 Tipo especial de linedef
7 1 Argumento 1
8 1 Argumento 2
9 1 Argumento 3
10 1 Argumento 4
11 1 Argumento 5
12 2 Sidedef derecho
14 2 Sidedef izquierdo

Atributos (flags)[]

En los juegos basados en el motor de Doom, las linedefs contienen un campo de dos bytes (16 bits) reservado para especificar varios indicadores que controlan algunos atributos de la línea. Estos atributos (o banderas) están indicados por bits. Si el bit se establece en el valor 1, la condición será verdadera para esa línea y el atributo queda activado. Si el bit no está establecido (igual a 0), la condición se interpreta como falsa. Tenga en cuenta que las banderas "unpegged" no se pueden ajustar de forma independiente para los dos sidedefs de una línea.

Formato de nivel Doom[]

He aquí una lista de los atributos, seguida de una descripción de cada uno:

Bit Hex Condición Descripción
0 0x0001 Intransitable Los jugadores y los monstruos no pueden cruzar esta línea. Tenga en cuenta que si no hay ningún sector en el otro lado, de todos modos no podrán atravesarla, independientemente de su atributo. Usualmente las paredes solidas son las que usan este atributo.
1 0x0002 Bloquea monstruos Los únicos que no podrán cruzar la línea serán los monstruos, un ejemplo de este uso aparece en el nivel E1M6: Central Processing (Doom).
2 0x0004 Dos caras Si está activado, la línea tiene dos caras y si está desactivado, sólo tendrá una (la derecha).
3 0x0008 Superior unpegged (1) La textura superior no está vinculada, se "pega" en la pared desde arriba hacia abajo, en lugar de hacerlo desde abajo hacia arriba como de costumbre.
4 0x0010 Inferior unpegged (1) La textura inferior no está vinculada. Si se activa, las texturas bajas y medias se dibujan desde abajo hacia arriba, en lugar de hacerlo desde arriba hacia abajo como de costumbre. Se emplea normalmente debajo de "ventanas".
5 0x0020 Secreto Si se activa, la línea se mostrará como una línea normal en el Automapa. Es útil para ocultar puertas y ascensores secretos. No tiene relación con el recuento de secretos al final del nivel, ya que eso depende de un sector tipo 9.
6 0x0040 Bloquea el sonido Sirve para que una línea, que no sea una pared sólida, bloquee el paso de los sonidos. Es realmente útil a la hora de evitar que se despierten todos los monstruos de un mapa y a la hora de preparar emboscadas.
7 0x0080 Nunca en el mapa Hace que la línea no aparezca nunca en el Automapa, incluso si ya se ha obtenido el Mapa informático.
8 0x0100 Siempre en el mapa Cuando comienza el nivel, esta línea ya estará en el Automapa, a pesar de que no se la haya visto (en la pantalla) todavía. Las líneas normalmente sólo aparecen una vez que se han visto en la pantalla.
9-15 No usado - o -


(1) El concepto de superior/inferior unpegged (despegado) puede ser algo difícil de asimilar, pero viendo cómo influye esto en un nivel, es mucho más fácil de entender. Abajo hay una galería de imágenes que muestran cómo quedarían algunas texturas dependiendo de si activamos esos atributos o no. Cuando la textura superior queda desalineada con una textura "media" vecina se debe activar el atributo para ayudar a resolver este problema, común en las "ventanas".

Algo muy importante es que esto puede no funcionar correctamente si se aplica a texturas con alturas "raras", o sea distintas a las alturas normales que son el resultado de multiplicar 8 por 2 sucesivamente (es decir, 8 *2 *2 *2 *2 ...): 8, 16, 32, 64 y 128 son dimensiones normales en cuanto a altura.

Formato de nivel Boom[]

Boom añade un indicador a los atributos de linedef especificadas para Doom:

Bit Hex Descripción
9 0x0200 La acción "usar" puede activar otras linedef en la parte posterior (en Doom, esta acción sólo activa el linedef más próximo a la línea de visión). Por lo general llamado "PassThrough" (pasar a través de).

Formato de nivel Hexen[]

En Hexen existen todas las banderas de Doom, pero también se agregan las siguientes:

Bit Hex Descripción
9 0x0200 puede ser activada más de una vez
10-12 0x0400 activada cuando es utilizada por el jugador
10-12 0x0800 activada cuando es cruzada por un monstruo
10-12 0x0C00 activada cuando es golpeada por un proyectil
10-12 0x1000 se activa cuando el jugador golpea en ella
10-12 0x1400 activada cuando es cruzada por un proyectil
10-12 0x1800 activada cuando es usada por el jugador (con PassThrough)
13 0x2000 puede ser activada por los jugadores y los monstruos
14 0x4000
15 0x8000 bloquea todo (incluye disparos y misiles)

Formato de nivel Strife[]

Strife hizo varias adiciones a las banderas linedef de Doom:

Bit Hex Descripción
9 0x0200 Barandilla saltable
10 0x0400 Bloquea solo monstruos flotantes
11 0x0800 25 % de primer plano / 75 % de translucidez de fondo
12 0x1000 75% de translucidez en primer plano / 25% de translucidez de fondo

Fuentes[]

Véase también[]