Animaciones · bei.pm
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:
-
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. -
Fotograma
Un fotograma es una imagen única dentro de una animación. Una animación puede incluir uno o varios fotogramas. -
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:
|
0x0001 | uint(8) | Desconocido 1 y Toggle para Opcional 3, 4 | Este valor contiene:
|
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: