Todas as páginas de formatos ↓
Tutoriais e referência

Glossário

Fonte: coreprime/kbot @ 0ab97bf · Editar no GitHub

Uma referência, comum a todos os formatos, do vocabulário recorrente da criação de mods para o Total Annihilation. Cada termo remete para a página onde é tratado com mais profundidade.


Objeto âncora (anchor object)

Uma peça de 3DO com um vértice e zero primitivas. É invisível durante o jogo; serve de coordenada com nome para os comandos de script COB (emit-sfx from <anchor>;).

Arquivo (archive)

Um ficheiro HPI / UFO / CCX / GP3. As quatro extensões têm o mesmo formato no disco e só diferem na ordem de carregamento.

ARGB4444 / ARGB1555

As duas codificações de píxeis de 16 bits usadas por um TAF truecolor. O ARGB4444 reserva 4 bits a cada um dos canais alfa, vermelho, verde e azul (16 níveis de alfa suave); o ARGB1555 junta um alfa de 1 bit a 5 bits por cada canal RGB (um recorte nítido). O byte Format de um fotograma (4 ou 5) indica qual.

Célula de atributos (attribute cell)

Uma célula de 16×16 píxeis num mapa TNT (ou SCT). Cada mosaico tem 32×32 px e contém, portanto, 4 células de atributos. As alturas, a colocação dos elementos e a possibilidade de passar e de construir são guardadas por célula de atributos.

Eixo (axis)

No COB e no 3DO, um ID numérico que identifica um dos três eixos de rotação: 0 = X, 1 = Y, 2 = Z. Os opcodes COB de MOVE/TURN/SPIN recebem o eixo como operando em linha. Nos ficheiros 3DO, o Y aponta para cima.

BOS

"Basic Object Script": a linguagem de código-fonte, parecida com C, dos scripts de animação e de comportamento das unidades. Compila para COB. Os modders escrevem-na à mão; kbot cob decompile recupera-a a partir do COB.

COB

"Cobble": o bytecode baseado em pilha que o motor executa de facto. Veja COB / BOS.

Bloco de compressão (compression chunk)

Um bloco de 64 KiB ou menos, depois de descomprimido, dentro de um ficheiro HPI. Cada bloco tem o seu próprio cabeçalho SQSH, método de compressão (LZ77 / ZLib / nenhum), par de tamanhos e uma segunda passagem opcional de baralhamento por XOR.

Paleta incorporada (embedded palette)

Uma PAL acrescentada a um ficheiro PCX, logo a seguir aos dados de píxeis RLE, precedida de um byte marcador 0x0C. 769 bytes no total.

Elemento (feature)

Um objeto estático, que não é uma unidade, colocado num mapa TNT: árvore, rocha, jazida de metal, fonte geotérmica, campo de hidratação, etc. É definido num ficheiro features/**/*.tdf (veja TDF) e o TNT refere-o pelo nome.

Vírgula fixa (fixed-point)

O sistema de coordenadas dos modelos 3DO. Cada coordenada int32 representa value / 65536.0 unidades do espaço do mundo. Assim, 0x00010000 = exatamente 1 unidade do mundo; 0x00018000 = 1.5 unidades do mundo.

Área ocupada (footprint)

A caixa delimitadora de uma unidade ou de um elemento na grelha, expressa em células de atributos de 16 píxeis (FootprintX × FootprintZ). O motor usa-a para colocar construções e para o cálculo de caminhos.

Tick do jogo (game tick)

A unidade de tempo fundamental. 30 ticks por segundo. A maior parte dos campos de tempo do COB e do GAF usa ticks.

HPI

Arquivo "HAPI". Veja HPI / UFO / CCX / GP3.

Sobreposição de camadas (layering)

A forma como o motor combina vários arquivos HPI no arranque. Os ficheiros de um arquivo carregado mais tarde escondem os ficheiros com o mesmo caminho nos arquivos anteriores. A ordem de carregamento é (da prioridade mais baixa para a mais alta): .hpi → .ufo → .ccx → .gp3.

Tabela de consulta (lookup table)

Um ficheiro .alp, .lht ou .shd: linhas de 256 índices da paleta (não RGB), uma coluna por cor de origem. Um .alp tem 65 536 bytes (256 linhas, uma por cada cor com que se mistura); um .shd ou .lht tem 8192 bytes (32 linhas, uma por nível de sombra ou de luz). O motor procura a cor atual na linha de que precisa, e o resultado é outro índice da paleta, que pode ser desenhado pelo processo normal de 8 bpp. O jogo só usa uma tabela quando o tamanho é exato; uma tabela em falta, ou com qualquer outro tamanho, é reconstruída a partir da paleta. Veja PAL.

LZ77

A compressão de janela deslizante usada nos blocos HPI quando CompMethod == 1. Janela de 4 KiB, correspondências de 2-17 bytes, bits de marcação lidos a partir do LSB.

Rosa mágico (magic pink)

O índice 9 da paleta canónica do TA (#5454FC). As ferramentas de edição usam-no como cor de preenchimento das zonas transparentes nos ficheiros PCX/GAF de origem, e é a chave guardada em muitos fotogramas GAF, o que o torna transparente nesses fotogramas. Fora disso, é uma cor como outra qualquer. Veja Chave de transparência.

Nome do objeto (object name)

O nome base, em minúsculas, partilhado pelos ficheiros 3DO, COB e PCX de uma unidade. Declara-se no FBI, no campo Objectname. É diferente de UnitName, o identificador externo usado pelas outras configurações.

OTA

"Online Total Annihilation": o ficheiro auxiliar de metadados de um mapa TNT. Texto simples no formato TDF (TDF). Contém o nome da missão, a descrição, o briefing para a IA, as posições iniciais e indicações sobre o ambiente.

Imagem com paleta (paletted image)

Um mapa de bits cujos valores de píxel são índices de 8 bits para uma PAL separada de 256 entradas, em vez de triplos RGB diretos. Todos os recursos visíveis incluídos no TA usam paleta: PCX, GAF, SCT, os píxeis dos mosaicos TNT e os minimapas incorporados. A exceção notável são as animações TAF truecolor do TA: Kingdoms.

Peça (piece)

Um subobjeto com nome dentro de um 3DO. Os scripts COB manipulam as peças pelo nome (turn turret1 to y-axis [90] speed [60];).

Esquema (schema)

Uma configuração de jogo alternativa, com nome, dentro do ficheiro OTA que acompanha um TNT. Os diferentes esquemas contêm normalmente disposições diferentes das posições iniciais, para números diferentes de jogadores.

Nível do mar (sea level)

O campo SeaLevel do cabeçalho de um TNT. Qualquer célula de atributos cujo byte Height seja inferior ao nível do mar é tratada como submersa. Um mapa com SeaLevel == 0 não tem nada submerso; com SeaLevel == 255, tem tudo submerso.

Secção (section)

Um ficheiro SCT. Os blocos de mosaicos reutilizáveis que o editor TAE da Cavedog juntava para construir os mapas TNT finais.

Máscara de sinais (signal mask)

Uma máscara de bits declarada num script COB (set-signal-mask <n>) que determina que mensagens signal interrompem a instância atual do script. Serve para cancelar de forma limpa as animações Walk/Aim/Idle quando o estado muda.

Lado (side)

ARM ou CORE no TA; Aramon, Taros, Veruna ou Zhon no TA: Kingdoms. É declarado para cada unidade no campo Side do FBI; também determina com que paleta de lado uma animação GAF é renderizada no TA: Kingdoms.

SQSH

O marcador (0x48535153 LE) no início de cada bloco comprimido de um HPI. Uma referência bem-humorada ao facto de os blocos serem dados "espremidos" (squashed).

Subfotograma (sub-frame)

Um fotograma GAF aninhado. Um único fotograma visível de uma animação pode ser a composição de vários subfotogramas copiados por ordem, cada um com o seu deslocamento de origem e os seus dados de píxeis.

TAF

Uma animação truecolor do TA: Kingdoms. Reutiliza a disposição do contentor GAF, mas guarda píxeis ARGB4444 / ARGB1555 de 16 bits em vez de índices da paleta, pelo que traz a sua própria cor e o seu próprio alfa. A extensão .taf é partilhada com ficheiros com paleta ao estilo GAF; o byte de formato de cada fotograma distingue-os.

Tick

Veja tick do jogo.

Mosaico (tile)

Um bloco de 32×32 píxeis dos gráficos do mapa. A unidade de visualização fundamental do TNT e do SCT. A grelha de mosaicos é indexada em uint16, o que permite, em teoria, até 65 536 mosaicos únicos por mapa.

Chave de transparência (transparency key)

O índice da paleta que um fotograma GAF guarda como transparente. O jogo não desenha os píxeis com esse valor num fotograma em bruto; num fotograma comprimido, os píxeis transparentes são as séries de salto, e os restantes píxeis são desenhados mesmo quando são iguais à chave. Não há um índice transparente para toda a paleta: o terreno, os minimapas, os fundos PCX e as texturas dos modelos desenham todos os índices, incluindo o índice 0 da paleta (preto). Os fotogramas TAF truecolor não têm chave: a transparência vem do canal alfa de cada píxel.

Truecolor

Um mapa de bits que guarda uma cor (e um alfa) por píxel, em vez de um índice de uma paleta. É a exceção na arte do TA, que de resto usa sempre paleta: as animações TAF do TA: Kingdoms usam píxeis ARGB4444 / ARGB1555 de 16 bits.

TSF

"TAF Source Format": a forma de texto legível, delimitada por chavetas, de um TAF. O carregador da interface do TA: Kingdoms lê o .tsf diretamente para os fundos dos menus; kbot taf decompile gera-o e kbot taf compile volta a lê-lo. Veja TAF / TSF.

Sistema de ficheiros virtual (VFS)

A árvore combinada de ficheiros que o motor (e kbot mount / kbot mcp) vê depois de sobrepor todos os arquivos da família HPI de uma raiz de instalação. Permite referir um ficheiro como units/ARMCOM.fbi sem se preocupar se está em totala1.hpi, em ccdata.ccx ou numa pasta desempacotada.

Célula vazia (void cell)

Uma célula de atributos TNT com Feature == 0xFFFC. Marca terreno intransponível (paredes de desfiladeiros, limites de águas profundas) que não é em si um elemento, mas deve ser tratado como se lá estivesse um.

Yardmap

Uma grelha ASCII de várias linhas num FBI que descreve as restrições de cada célula da área ocupada por uma construção. Letras comuns: o = terreno livre, c = fechado (construído), w = só água.