Animaciones · 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.

Ahora pasamos a la clase maestra de las disciplinas dentro de los formatos de datos de Outpost 2:
Las animaciones.

Las listas de animación comienzan con un encabezado global, que sirve principalmente para la verificación de datos. A continuación, siguen las definiciones concretas de animación, que se dividen en 3 niveles:

  1. Animación
    Una animación es la instancia superior; representa una animación de una unidad, un edificio o una 'animación de partículas' (impacto de cometas, clima, explosiones) en una situación inicial determinada.
  2. Fotograma
    Un fotograma es una imagen única dentro de una animación. Una animación puede incluir uno o varios fotogramas.
  3. Subfotograma
    Un subfotograma es la información sobre que un determinado bitmap debe ser dibujado en una posición específica de un fotograma bajo ciertos criterios. Un fotograma puede incluir uno o varios subfotogramas.

A continuación, ya vienen directamente las definiciones individuales de animación.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(32) Número de animaciones

Cuántos registros de animación hay

0x0004 uint(32) Número de fotogramas

¿Cuántos frames deberían estar presentes en total?

0x0008 uint(32) Número de subcuadros

¿Cuántos submarcos deberían estar presentes en total?

0x000c uint(32) Número de entradas opcionales

Cuántas "entradas opcionales" hay.

Animación

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(32) Desconocido 1

Información desconocida

0x0004 uint(32) Caja delimitadora: Izquierda

Indica el inicio izquierdo (en píxeles) de la Bounding Box.

0x0008 uint(32) Caja delimitadora: Arriba

Indica el inicio superior (en píxeles) de la Bounding Box.

0x000c uint(32) Caja delimitadora: Ancho

Indica el ancho (en píxeles) de la Bounding Box.

0x0010 uint(32) Cuadro delimitador: altura

Indica la altura (en píxeles) de la Bounding Box.

0x0014 uint(32) Desplazamiento: X

Indica el punto medio horizontal de la animación

0x0018 uint(32) Desplazamiento: Y

Indica el punto medio vertical de la animación

0x001c uint(32) Desconocido 2

Información desconocida

0x0020 uint(32) Número de fotogramas

Indica cuántos fotogramas de animación contiene esta animación

0x0024 uint(32) Número de ventanas

Indica cuántas ventanas se deben aplicar al dibujar

Los datos de la capa superior, de la animación, son principalmente datos administrativos - la Boundingbox se refiere a las coordenadas de la marca alrededor del vehículo/edificio, cuando este ha sido seleccionado y también indica qué área debería ser clickable.

El offset determina principalmente el "punto cero"; el punto que debe ser sumado o restado a las coordenadas internas del juego. Se podría decir de manera más matemática: el offset se refiere aquí al origen de coordenadas.

En las ventanas, al igual que con el offset, hay 4 valores uint(32) por cada ventana, que indican un área que es considerada utilizable para submarcos individuales. Fuera de las ventanas, a menos que esté destinado a la bitmap correspondiente, no se puede dibujar.

Marco

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(8) Número de subchasis y alternar para Opcional 1, 2

Este valor contiene:

  • 0x7F (máscara de bits): La cantidad de subtramas que se utilizan en este marco
  • 0x80: La información sobre si Opcional 1 y 2 están presentes
0x0001 uint(8) Desconocido 1 y Toggle para Opcional 3, 4

Este valor contiene:

  • 0x7F (máscara de bits): Desconocido - Sospecho fuertemente que se refiere al número de gameticks que transcurren hasta que se muestra el siguiente fotograma
  • 0x80: La información sobre si las Opciones 3 y 4 están presentes
0x0002 uint(8) Opcional 1

Desconocido

0x0003 uint(8) Opcional 2

Desconocido

0x0004 uint(8) Opcional 3

Desconocido

0x0005 uint(8) Opcional 4

Desconocido

Subestructura

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carácter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Desplazamiento Tipo de dato Denominación Explicación
0x0000 uint(16) Bitmap-ID

Indica qué bitmap debe utilizarse para este subframe

0x0002 uint(8) Desconocido 1

Es desconocido - sin embargo, sospecho fuertemente que se trata de una prioridad de renderizado (Capa Z).

0x0003 uint(8) Subframe-Id

Indica en qué submarco nos encontramos

0x0004 sint(16) Desplazamiento - Horizontal

Indica dónde dentro del marco debe colocarse el submarco, o cuántos píxeles debe desplazarse horizontalmente el mapa de bits.

0x0006 sint(16) Desplazamiento - Vertical

Indica dónde dentro del marco se debe colocar el submarco, o cuántos píxeles debe desplazarse verticalmente el bitmap.

Con esto, ahora podemos ensamblar tanto cuadros individuales como animaciones completas; aquí se demuestra con un ejemplo de una animación más compleja, la animación con el índice 500.

Animación 500

La animación 500 muestra cómo se descarga un transportador Plymouth cargado con mineral común. Esta es una de las pocas animaciones que utiliza la funcionalidad de ventanas.

Así es como se puede ensamblar la animación completa.
Desafortunadamente, todavía hay un problema con la escotilla superior, ya que el bit correspondiente en la información del tipo de gráfico no está configurado.

Aquí hay algunos otros sprites maravillosamente animados del juego:

Renderizado de la animación 500 ilustrado

Animación 500 completamente ensamblada

Fábrica de Edificios Plymouth

Puerto Espacial Eden

Centro Médico Eden

SCAT

Puerto Espacial Plymouth

Huevo de Pascua:
Santa Claus

Huevo de Pascua:
Perro de Dans