FANDOM

1.056 Páginas

MAPINFO es un lump introducido en Hexen que permite describir los metadatos asociados a niveles (tales como su nombre, la música, la textura del cielo, el tiempo par, etc.) en lugar de tenerlos en forma no modificable en el motor.

Varios source ports han adoptado el sistema de MAPINFO, sin embargo no todas las sintaxis son compatibles. Los ports Doomsday y Risen 3D no utilizan el lump MAPINFO, sin embargo cuentan con la definición "Map info" incluidos en archivos DED.

Versiones

Existen diferentes tipos de sintaxis para MAPINFO.

Hexen

Un estilo Hexen para el lump MAPINFO contiene declaraciones de esta forma:

;This is the first map
map 1 "WINNOWING HALL"
warptrans 1
next 2
cluster 1
sky1 SKY2 0
sky2 SKY3 0
lightning
cdtrack 13

El mapa se identifica solamente por un número, lo que significa que esta sintaxis sólo está adaptada para lumps de mapas nombrados de acuerdo con la convención MAPxx. No hay una clara separación entre dos comandos que no sea un salto de línea, por lo que es difícil de analizar si se encuentran palabras clave desconocidas ya que la cantidad de parámetros para cada comando sólo puede ser conocido a partir de la palabra clave (por ejemplo, dos parámetros para sky1, pero sólo uno para cdtrack).

Eternity Engine

Eternity Engine utiliza una sintaxis diferente, con un nombre de lump diferente para evitar problemas de compatibilidad: EMAPINFO.

[MAP01]
levelname = De kerker
edf-intername = true

La sintaxis es similar a la utilizada por SMMU en lumps mapa marcadores (por ejemplo, MAP01), excepto que Eternity recomienda un lump centralizado (EMAPINFO). Las definiciones de mapa son acumulativas, por lo que cualquier valor no mencionado utiliza el valor predeterminado para el nivel; en este ejemplo, el cielo, la música, el tiempo par y así sucesivamente quedan sin modificarse en comparación con los valores predeterminados codificados para MAP01.

El soporte para los lump MAPINFO de Hexen, con ciertas extensiones ZDoom a las que se denomina la "sintaxis antigua" se añadieron a Eternity en Git commit 0de361f. El MAPINFO de Hexen se trata con prioridad más baja que la forma nativa de Eternity; si un mapa ha sido definido para ambos, los datos del MAPINFO Hexen para este mapa serán descartados por completo.

ZDoom

El primer formato de ZDoom para MAPINFO era simplemente una evolución del formato de Hexen, adaptado para tener en cuenta las necesidades de otros juegos compatibles. Este es un ejemplo de la sintaxis del MAPINFO ZDoom antiguo:

map E1M4 "UAC Waste and Storage Facility"
cluster 1
next E1M5
secretnext E1M0
par 660
sucktime 1
music D_SOLOBT

El mapa se identifica por su nombre del lump. Contrariamente al formato Hexen, los clústeres no son implícitos y se deben definir también, así como los episodios (los episodios realmente son simplemente una manera de dar un nombre a elegir al comenzar un mapa cuando se inicia un nuevo juego). Sintácticamente lo demás es idéntico al formato Hexen.

Otros ports, como Risen 3D y Vavoom, también utilizan esta sintaxis, aunque con algunas diferencias menores en las palabras clave soportadas (por ejemplo, Vavoom utiliza secret en lugar de secretnext). Dado que las definiciones de clusteres incluyen los mensajes intermedios (como los que se muestran entre el MAP06 y el MAP07 en Doom II), el análisis debe permitir comandos de múltiples líneas, lo que hace problemáticos los comandos desconocidos.

El nuevo formato de ZDoom para MAPINFO fue diseñado para tener una fuerte sintaxis que permitiría un correcto análisis sintáctico de lumps MAPINFO con palabras clave desconocidos. Este es un ejemplo de la nueva sintaxis ZDoom para MAPINFO:

map E1M1 "Hangar"
{
	levelnum = 1
	titlepatch = "WILV00"
	next = "E1M2"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	par = 30
	music = "D_E1M1"
}

El uso de llaves delinea claramente el alcance de la definición del mapa, y el uso del signo igual identifica claramente un token como una palabra clave. Esto también permite que las palabras claves con parámetros opcionales, como sky1 aquí, que no menciona su segundo parámetro. El lenguaje también fue extendido para permitir la definición de las competencias y más información genérica del juego (Como el nombre de los lumps de pantalla de información mostrados por la tecla "Read This!"/F1 o del lump ENDOOM). Debido a sus diferencias con los antiguos lumps MAPINFO que son leídos por otros ports, se puede utilizar el alias ZMAPINFO para evitar problemas de compatibilidad con otros puertos.

Doomsday

Doomsday no utiliza el lump MAPINFO (excepto en jHexen por razones obvias), y en su lugar cuenta con bloques "Map Info" en archivos DED, que tienen el mismo propósito. Risen3D, derivado de Doomsday, utiliza el mismo sistema.

Map Info {
  ID = "E1M1";
  Name = "HUSTR_E1M1";
  Author = "id Software";
  Music = "e1m1";
  Par time = 30;
  Gravity = 1;
  Sky = "sky1";
  Execute = "";
}

Las pantallas intermedias se definen usando las definiciones InFine por separado, mientras que la progresión de nivel se define utilizando el sistema XG.

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.

También en FANDOM

Wiki al azar