Todas las páginas de formatos ↓
Tutoriales y referencia

Glosario

Fuente: coreprime/kbot @ 0ab97bf · Editar en GitHub

Una referencia común a todos los formatos con el vocabulario que se repite en el modding de Total Annihilation. Los términos enlazan con la página donde se tratan con más detalle. Se ordenan por el término en inglés, que se indica entre paréntesis.


Objeto de anclaje (anchor object)

Una pieza de 3DO con un vértice y ninguna primitiva. Es invisible durante la partida; su finalidad es servir de coordenada con nombre para las órdenes de los scripts COB (emit-sfx from <anchor>;).

Archivo comprimido (archive)

Un archivo HPI / UFO / CCX / GP3. Las cuatro extensiones tienen el mismo formato en disco y solo se diferencian en el orden de carga.

ARGB4444 / ARGB1555

Las dos codificaciones de píxel de 16 bits que usa un TAF truecolor. ARGB4444 empaqueta 4 bits para cada uno de alfa, rojo, verde y azul (16 niveles de alfa suave); ARGB1555 empaqueta un alfa de 1 bit más 5 bits para cada componente RGB (un recorte duro). El byte Format de un fotograma (4 o 5) elige cuál.

Celda de atributos (attribute cell)

Una celda de 16×16 píxeles de un mapa TNT (o SCT). Cada casilla mide 32×32 px y, por tanto, contiene 4 celdas de atributos. Las alturas, la colocación de elementos y la posibilidad de pasar o de construir se guardan por celda de atributos.

Eje (axis)

En COB y 3DO, un ID numérico que identifica uno de los tres ejes de rotación: 0 = X, 1 = Y, 2 = Z. Los opcodes COB de MOVE/TURN/SPIN reciben el eje como operando en línea. En los archivos 3DO, Y apunta hacia arriba.

BOS

«Basic Object Script»: el lenguaje fuente, parecido a C, de los scripts de animación y comportamiento de las unidades. Se compila a COB. Lo escriben a mano los modders; kbot cob decompile lo recupera a partir de un COB.

COB

«Cobble»: el bytecode basado en pila que ejecuta realmente el motor. Consulta COB / BOS.

Chunk de compresión (compression chunk)

Un bloque de un archivo HPI que, descomprimido, ocupa 64 KiB o menos. Cada chunk tiene su propia cabecera SQSH, su método de compresión (LZ77 / ZLib / ninguno), una pareja de tamaños y, opcionalmente, una segunda pasada de cifrado XOR.

Paleta incrustada (embedded palette)

Una PAL añadida a un archivo PCX inmediatamente después de los datos de píxeles RLE, precedida de un byte de marca 0x0C. 769 bytes en total.

Elemento (feature)

Un objeto estático, que no es una unidad, colocado en un mapa TNT: árbol, roca, yacimiento de metal, chimenea geotérmica, campo de hidratación, etc. Se define en un archivo features/**/*.tdf (consulta TDF) y el TNT hace referencia a él por nombre.

Coma fija (fixed-point)

El sistema de coordenadas de los modelos 3DO. Cada coordenada int32 representa value / 65536.0 unidades del espacio del mundo. Así, 0x00010000 = exactamente 1 unidad del mundo; 0x00018000 = 1,5 unidades del mundo.

Huella (footprint)

El rectángulo que ocupa una unidad o un elemento en la cuadrícula, expresado en celdas de atributos de 16 píxeles (FootprintX × FootprintZ). El motor lo usa para colocar construcciones y buscar rutas.

Tick de juego (game tick)

La unidad de tiempo fundamental. 30 ticks por segundo. La mayoría de los campos de tiempo de COB y GAF usan ticks.

HPI

Archivo comprimido «HAPI». Consulta HPI / UFO / CCX / GP3.

Superposición por capas (layering)

La forma en que el motor combina varios archivos comprimidos HPI al arrancar. Los archivos de un archivo comprimido cargado más tarde tapan a los de la misma ruta de los archivos comprimidos anteriores. El orden de carga es (de menor a mayor prioridad): .hpi → .ufo → .ccx → .gp3.

Tabla de consulta (lookup table)

Un archivo .alp, .lht o .shd: filas de 256 índices de la paleta (no RGB), con una columna por color de origen. Un .alp ocupa 65 536 bytes (256 filas, una por cada color con el que se mezcla); un .shd o un .lht, 8192 bytes (32 filas, una por nivel de sombra o de luz). El motor busca el color actual en la fila que necesita, y el resultado es otro índice de la paleta que se puede dibujar con el proceso normal de 8 bpp. El juego solo usa una tabla cuando su tamaño es exacto; una tabla que falta, o que tiene cualquier otro tamaño, se reconstruye a partir de la paleta. Consulta PAL.

LZ77

La compresión de ventana deslizante que se usa en los chunks de HPI cuando CompMethod == 1. Ventana de 4 KiB, coincidencias de 2 a 17 bytes, bits de etiqueta con el LSB primero.

Rosa mágico (magic pink)

El índice 9 de la paleta canónica de TA (#5454FC). Las herramientas de edición lo usan como color de relleno de las zonas transparentes en los archivos PCX/GAF de origen, y es el color clave guardado en muchos fotogramas GAF, lo que lo hace transparente en esos fotogramas. En el resto de los casos es un color normal. Consulta Color clave de transparencia.

Nombre de objeto (object name)

El nombre base en minúsculas que comparten los archivos 3DO, COB y PCX de una unidad. Se declara en el FBI como el campo Objectname. Es distinto de UnitName, que es el identificador externo que usan otras configuraciones.

OTA

«Online Total Annihilation»: el archivo acompañante de metadatos de un mapa TNT. Texto plano en formato TDF (TDF). Contiene el nombre de la misión, la descripción, las instrucciones para la IA, las posiciones de inicio y pistas sobre el entorno.

Imagen con paleta (paletted image)

Un mapa de bits cuyos valores de píxel son índices de 8 bits en una PAL aparte de 256 entradas, en lugar de tripletes RGB directos. Todos los recursos visibles que distribuye TA usan paleta: PCX, GAF, SCT, los píxeles de las casillas de TNT y los minimapas incrustados. La excepción destacable son las animaciones TAF truecolor de TA: Kingdoms.

Pieza (piece)

Un subobjeto con nombre de un 3DO. Los scripts COB manipulan las piezas por su nombre (turn turret1 to y-axis [90] speed [60];).

Esquema (schema)

Una configuración de partida alternativa con nombre dentro del archivo OTA que acompaña a un TNT. Los distintos esquemas suelen contener disposiciones de posiciones de inicio distintas para distintos números de jugadores.

Nivel del mar (sea level)

El campo SeaLevel de la cabecera de un TNT. Cualquier celda de atributos cuyo byte Height sea menor que el nivel del mar se considera bajo el agua. Un mapa con SeaLevel == 0 no tiene nada bajo el agua; con SeaLevel == 255, todo está bajo el agua.

Sección (section)

Un archivo SCT. Los trozos de casillas reutilizables que el editor TAE de Cavedog unía para construir los mapas TNT finales.

Máscara de señales (signal mask)

Una máscara de bits declarada en un script COB (set-signal-mask <n>) que determina qué mensajes signal expropiarán la instancia actual del script. Se usa para cancelar limpiamente las animaciones Walk/Aim/Idle cuando cambia el estado.

Bando (side)

ARM o CORE en TA; Aramon, Taros, Veruna o Zhon en TA: Kingdoms. Se declara para cada unidad en el campo Side del FBI; en TA: Kingdoms también determina con qué paleta de bando se renderiza una animación GAF.

SQSH

La marca (0x48535153 LE) al principio de cada chunk comprimido de un HPI. Un guiño a que los chunks son datos «aplastados» («squashed»).

Subfotograma (sub-frame)

Un fotograma GAF anidado. Un solo fotograma visible de una animación puede ser una composición de varios subfotogramas volcados en orden, cada uno con su propio desplazamiento de origen y sus datos de píxeles.

TAF

Una animación truecolor de TA: Kingdoms. Reutiliza la disposición del contenedor GAF, pero guarda píxeles de 16 bits ARGB4444 / ARGB1555 en lugar de índices de la paleta, así que lleva su propio color y su alfa. La extensión .taf la comparten los archivos con paleta al estilo GAF: el byte de formato de cada fotograma los distingue.

Tick

Consulta tick de juego.

Casilla (tile)

Un trozo de 32×32 píxeles de los gráficos de un mapa. La unidad de visualización fundamental de TNT y SCT. La cuadrícula de casillas se indexa con uint16, lo que en teoría permite hasta 65 536 casillas únicas por mapa.

Color clave de transparencia (transparency key)

El índice de la paleta que un fotograma GAF guarda como transparente. El juego no dibuja los píxeles con ese valor de un fotograma sin comprimir; en un fotograma comprimido, los píxeles transparentes son sus tramos de salto, y sus demás píxeles se dibujan aunque sean iguales al color clave. No hay ningún índice transparente para toda la paleta: el terreno, los minimapas, los fondos PCX y las texturas de los modelos dibujan todos los índices, incluido el índice 0 de la paleta (negro). Los fotogramas TAF truecolor no tienen color clave: la transparencia sale del canal alfa de cada píxel.

Truecolor

Un mapa de bits que guarda un color (y un alfa) por píxel en lugar de un índice en una paleta. Es la excepción en el arte de TA, que por lo demás usa paleta en todo: las animaciones TAF de TA: Kingdoms usan píxeles de 16 bits ARGB4444 / ARGB1555.

TSF

«TAF Source Format»: la forma de texto legible, delimitada por llaves, de un TAF. El cargador de la interfaz de TA: Kingdoms lee .tsf directamente para los fondos de los menús; kbot taf decompile lo genera y kbot taf compile lo vuelve a leer. Consulta TAF / TSF.

Sistema de archivos virtual (virtual filesystem, VFS)

El árbol combinado de archivos que ven el motor (y kbot mount / kbot mcp) después de superponer por capas todos los archivos comprimidos de la familia HPI de la raíz de una instalación. Te permite hacer referencia a un archivo como units/ARMCOM.fbi sin que importe si está en totala1.hpi, en ccdata.ccx o en un directorio desempaquetado.

Celda vacía (void cell)

Una celda de atributos de TNT con Feature == 0xFFFC. Marca terreno infranqueable (paredes de cañones, límites de aguas profundas) que no es en sí un elemento, pero que debe tratarse como si hubiera uno.

Yardmap

Una cuadrícula ASCII de varias líneas en un FBI que describe las restricciones de cada celda de la huella de un edificio. Letras habituales: o = terreno abierto, c = cerrado (construido encima), w = solo agua.