Mosaicos · bei.pm

Publicado el 19/11/2015·Actualizado el 13/02/2025·Español
Este texto fue traducido automáticamente por OpenAI GPT-4o Mini.

Los formatos de archivo descritos en esta página se basan en el análisis técnico de la propiedad intelectual de Dynamix, Inc. y Sierra Entertainment.
La propiedad intelectual es actualmente parte de la masa de Activision Publishing, Inc. / Activision Blizzard, Inc. y está en posesión de Microsoft Corp..

La información fue recopilada mediante Ingeniería Inversa y Análisis de Datos con el propósito de archivado e interoperabilidad con datos históricos.
No se utilizaron especificaciones propietarias o confidenciales.

El juego se puede adquirir actualmente como descarga en gog.com.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(32) Bytes Mágicos
0x0004 uint(24) Longitud del bloque
0x0007 uint(8) Banderas

Los tiles son un formato gráfico en bitmap específico de Outpost-2. Se extienden a través de 13 conjuntos de tiles, llamados "wells" (well0000.bmp hasta well0012.bmp), que se encuentran dentro del volumen maps.vol.

Los conjuntos de tiles / Wells contienen lo siguiente:

Nombre de archivo Contenido
well0000.bmp Una gráfica de 32x32px en azul - ideal para probar si su cargador de imágenes funciona
well0001.bmp Contiene roca clara, cordilleras sobre roca clara y numerosas variantes de cráteres de impacto en roca clara
well0002.bmp Contiene 'Doodads' de roca clara - elementos que se pueden colocar sobre roca clara para dar variedad (o intencionalmente como estructura, como muros), incluyendo vegetación
well0003.bmp Contiene una estructura similar a una corteza sobre roca clara
well0004.bmp Contiene roca oscura, cordilleras sobre roca oscura y numerosas variantes de cráteres de impacto en roca oscura
well0005.bmp Contiene 'Doodads' de roca oscura - elementos que se pueden colocar sobre roca oscura para dar variedad (o intencionalmente como estructura, como muros)
well0006.bmp Contiene una estructura similar a una corteza sobre roca oscura, así como transiciones entre roca clara y oscura
well0007.bmp Contiene lava, incluyendo de 4 a 5 fotogramas de animación de la misma
well0008.bmp Contiene arena y numerosas variantes de cráteres de impacto en arena
well0009.bmp Contiene 'Doodads' de arena - elementos que se pueden colocar sobre arena para dar variedad (o intencionalmente como estructura, como muros)
well0010.bmp Contiene 48 transiciones de arena a roca clara y oscura
well0011.bmp Contiene las capas polares del mapa, con roca oscura como fondo
well0012.bmp Contiene las capas polares del mapa, con roca clara como fondo

Es recomendable para una implementación precisa no renderizar las baldosas de antemano para poder almacenarlas en caché, ya que los datos del ciclo día/noche aún deben procesarse, y se generarían muchos datos.

Las baldosas son gráficos de 8bpp con paletas indexadas de 32x32 píxeles de resolución, dispuestas en fila. Sin embargo, en un conjunto de baldosas así creado se pueden tener muchas más.

El contenedor principal consiste en 2 secciones: head y data.

Encabezado de Azulejos

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(32) Bytes Mágicos
0x0004 uint(24) Longitud del bloque
0x0007 uint(8) Banderas
0x0008 uint(32) ¿Versión / Banderas?

Esto podría ser una indicación de la versión del formato de archivo; en todos los archivos que tengo, el valor fue 0x02

0x000c uint(32) Anchura (Resolución Horizontal)

Indica cuán ancha es la archivo de imagen (en píxeles).

En todos los pozos de Outpost 2, se espera que este valor sea 0x20 o 32.

0x0010 uint(32) Altura (Resolución vertical)

Indica cuán alta es la imagen (en píxeles).

En todos los pozos de Outpost 2 se espera que este valor sea 0x20 o 32.

0x0014 uint(32) ¿Profundidad de color?

El significado de este valor es desconocido.

Dado que contiene el valor 8 en todos los archivos verificados, podría tratarse de una especificación de profundidad de color.

0x0018 uint(32) ¿Profundidad de color 2?

El significado de este valor es desconocido.

Posiblemente se trate de una 'profundidad' de color de 'objetivo'.

Después de esta información, se proporcionará un archivo de paleta en formato RIFF estandarizado. La especificación exacta se puede encontrar - dado que las paletas también aparecen en otros lugares - en Paletas.

Datos de los Azulejos

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(32) Bytes Mágicos
0x0004 uint(24) Longitud del bloque
0x0007 uint(8) Banderas

Finalmente, llegan los datos de píxeles en bruto, de arriba a la izquierda hacia abajo a la derecha, línea por línea.
El valor de los datos en las gráficas que generalmente están en formato de 8bpp-Bitmaps corresponde al índice del color en la paleta de colores.

Los datos de píxeles comienzan en la parte superior izquierda y terminan en la parte inferior derecha.

El motor del juego probablemente dibuja los tiles *a demanda*.
Esto parece deberse, entre otras cosas, al ciclo de día y noche, que conoce 32 niveles diferentes de los tiles individuales. Al parecer, se reduce 'un poco' el valor de luminosidad. Aún no se han podido determinar valores exactos, estoy trabajando sobre la base de cálculo

v *= (daylight / 48) + 0.25;

con los datos HSV de los píxeles, donde daylight es un valor de 0-31 y v es un valor entre 0-1. Además, hay que tener en cuenta que en el mapa existe un borde de 16 tiles a la izquierda y a la derecha (que sirve para el spawn invisible de unidades).

Además, parece que el ciclo de día y noche actualiza solo una columna del mapa por ciclo de juego.
Un ciclo de día y noche acelerado se ve de la siguiente manera:

Visualización del ciclo de día y noche