Doom Wiki
Advertisement
Doom Wiki
Wad

Un Lump (paquete) es cualquier sección de datos dentro de la estructura de un archivo WAD, o un archivo que contiene una porción de un archivo WAD. Cada lump tiene un nombre (de hasta 8 caracteres), que no es necesariamente único.

Contenido[]

Cada uno de esos elementos guarda algún tipo de información, bien sea información de la mecánica del juego, como imágenes, sonidos o cualquier otra cosa. Los lumps contienen datos tales como:

Algunos lumps tienen nombres específicos reservados y guardan cierta información necesaria en muchos casos, como por ejemplo (de DOOM.WAD):

  • PLAYPAL y COLORMAP: Contiene información acerca de los colores que se usarán, el contraste de los mismos, e información similar.
  • ENDOOM: Almacena un texto que se muestra al salir del juego, en una ventana de DOS, o en un terminal.
  • DMXGUS: Lump que contiene el parche para reproducir música en Doom.
  • DEMO1 a DEMO4: Lumps correspondientes a las demos grabadas por los autores del juego, o cualquier otra demo. Las demos son grabaciones del juego, para mostrar el gameplay.

Lumps de mapa[]

Cada mapa se compone de varios Lumps, cuyo número exacto depende del formato de mapa y de la portación utilizada.

Cada nivel cuenta con once entradas de directorio y diez lumps: ExMy (o MAPxy en un WAD para Doom II), THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS, REJECT y BLOCKMAP. En el archivo DOOM.WAD, todas estas entradas están presentes en todos los niveles. En un archivo externo PWAD, no necesariamente tienen que estar presentes todos. Sea cual sea las entradas que estén en una PWAD serán sustituidas por las originales. Por ejemplo, un PWAD con sólo dos entradas, E3M6 y THINGS, utilizará todas las paredes y similares desde el E3M6 original, pero podría tener un conjunto completamente diferente de cosas personalizadas.

Las etiquetas ExMy o MAPxy sólo indican que los nombres globales siguientes son parte del nivel designado. La etiqueta en realidad no apuntan a un lump y el campo de tamaño en el directorio es 0. La asignación de lumps a este nivel se detiene, ya sea con la próxima entrada ExMy o mapXY, o con una entrada no-mapa como TEXTURE1. Sin estas etiquetas, no habría forma de diferenciar entre los muchos lumps llamados "THINGS", "LINEDEFS", etc.

Lumps estándar[]

Nombre Descripción
Header
(Cabecera)
Debería ser único. Normalmente sigue la convención ExMy (The Ultimate Doom, Heretic, Chex Quest) o la convención MAPxy (Doom II, Final Doom, Hexen, Strife). Otros nombres pueden ser posibles dependiendo de la compatibilidad con MAPINFO o DDF. El encabezado del mapa puede contener opcionalmente FraggleScript o algunos metadatos, pero generalmente se deja vacío.
THINGS Contiene todos los datos de los Actores (mobj) tal como se colocaron inicialmente en el mapa, así como los puntos de inicio del jugador. Creado por la utilidad de edición.
LINEDEFS Contiene todas las linedefs. Creado por la utilidad de edición.
SIDEDEFS Contiene todas las definiciones de los lados de las líneas. Creado por la utilidad de edición.
VERTEXES Contiene todos los vértices. Creado por la utilidad de edición, pero generalmente completado por el constructor de nodos.
SEGS Contiene todos los segmentos de línea. Generado por el constructor de nodos.
SSECTORS Contiene todos los subsectors. Generado por el constructor de nodos.
NODES Contiene todos los nodos. Generado por el constructor de nodos.
SECTORS Contiene todos los sectores. Creado por la utilidad de edición.
REJECT Contiene un conjunto de visibilidad simple que permite determinar rápidamente si es posible tener línea de visión entre dos sectores. Generado por el constructor de nodos o por un generador de rechazos dedicado.
BLOCKMAP Contiene el mapa de bloques. Generado por el constructor de nodos. El último lump en un mapa en formato Doom.
BEHAVIOR Contiene el código de bytes Action code script (ACS) compilado. Los editores y las portaciones suelen utilizar la presencia o ausencia de este lump para determinar el formato del mapa. Generado por Action Code Compiler (ACC) o software similar.
SCRIPTS Contiene el código fuente de ACS. No lo utiliza el motor, su presencia es opcional (por ejemplo, no está presente en los IWAD de Hexen), sin embargo los editores de mapas lo utilizan para guardar el código fuente y permitir su modificación.

Lumps de mapa adicionales[]

Nombre Se encuentra en Descripción
LEAFS PlayStation Doom, Doom 64 Hojas de nodo. Generado por el constructor de nodos.
LIGHTS PlayStation Doom, Doom 64 Información de luz de color. Creado por la utilidad de edición.
MACROS Doom 64 Macros. Creado por la utilidad de edición o un compilador de macros.
GL_Header portaciones OpenGL Opcional. Marca el inicio de los lumps de nodos GL para el mapa con el encabezado correspondiente, lo que permite colocar la información del nodo GL en un archivo separado del mapa original, lo cual es útil para generar nodos GL para los mapas IWAD sin tener que modificar los propios IWAD. Por ejemplo, GL_MAP01 es el encabezado de MAP01. No es necesario utilizarlo para los lumps de nodos GL que siguen directamente a los lumps de mapa normales.
GL_VERT portaciones OpenGL Contiene vértices adicionales que se usan para los nodos de GL. Generado por el constructor de nodos.
GL_SEGS portaciones OpenGL Contiene segmentos de línea utilizados para los nodos de GL. Generado por el constructor de nodos.
GL_SSECT portaciones OpenGL Contiene subsectores utilizados para los nodos de GL. Generado por el constructor de nodos.
GL_NODES portaciones OpenGL Contiene nodos de GL. Generado por el constructor de nodos.
GL_PVS Vavoom, Strife Veteran Edition Conjunto potencialmente visible. Generado por glVIS.

Trivia[]

Durante el desarrollo de los juegos de Doom, Id Software creó muchos de los contenidos de las IWADs como lumps independientes que podrían fusionarse en los archivos WAD o cargar por separado.

Utilizando DeHackEd o un editor hexadecimal para leer el ejecutable de Doom, es posible ver los comandos de carga en modo de desarrollo que leen algunos datos, como TEXTURE1, directamente desde un archivo lump.

No mucho tiempo después de la liberación del código fuente de Doom, los desarrolladores liberan las fuentes de los servicios públicos con los que manejan lumps y WADs, incluyendo Lumpy, su herramienta de fusión de lump.

Referencias[]

Enlaces externos[]

  • Doom utilities utilizadas por id Software para crear los juegos de Doom.
Advertisement