Tutte le pagine dei formati ↓
Tutorial e riferimenti

Glossario

Fonte: coreprime/kbot @ 0ab97bf · Modifica su GitHub

Un riferimento trasversale a tutti i formati per il vocabolario ricorrente del modding di Total Annihilation. Ogni termine rimanda alla pagina in cui è trattato più a fondo.


Oggetto di ancoraggio (anchor object)

Un pezzo di un 3DO con un vertice e zero primitive. È invisibile durante il gioco; serve da coordinata con nome per i comandi degli script COB (emit-sfx from <anchor>;).

Archivio (archive)

Un file HPI / UFO / CCX / GP3. Le quattro estensioni indicano lo stesso formato su disco e differiscono solo per l'ordine di caricamento.

ARGB4444 / ARGB1555

Le due codifiche di pixel a 16 bit usate da un TAF truecolor. ARGB4444 impacchetta 4 bit ciascuno di alfa, rosso, verde e blu (16 livelli di alfa sfumato); ARGB1555 impacchetta un alfa a 1 bit più 5 bit ciascuno di RGB (un ritaglio netto). Il byte Format di un frame (4 o 5) sceglie quale delle due.

Cella degli attributi (attribute cell)

Una cella di 16×16 pixel in una mappa TNT (o SCT). Ogni tile è di 32×32 px e contiene quindi 4 celle degli attributi. Altezze, posizionamenti degli elementi e percorribilità/edificabilità sono memorizzati per cella degli attributi.

Asse (axis)

Nel contesto di COB e 3DO, un ID numerico che identifica uno dei tre assi di rotazione: 0 = X, 1 = Y, 2 = Z. Gli opcode COB per MOVE/TURN/SPIN ricevono l'asse come operando inline. Nei file 3DO l'asse Y è quello verso l'alto.

BOS

"Basic Object Script": il linguaggio sorgente in stile C per gli script di animazione e comportamento delle unità. Si compila in COB. Lo scrivono a mano i modder; kbot cob decompile lo ricava dai COB.

COB

"Cobble": il bytecode basato su stack che il motore esegue davvero. Vedi COB / BOS.

Chunk di compressione (compression chunk)

Un blocco, di 64 KiB o meno una volta decompresso, all'interno di un file HPI. Ogni chunk ha la propria intestazione SQSH, il proprio metodo di compressione (LZ77 / ZLib / nessuno), una coppia di dimensioni e un eventuale secondo passaggio di rimescolamento XOR.

Palette incorporata (embedded palette)

Una PAL accodata a un file PCX, subito dopo i dati dei pixel in RLE, preceduta da un byte marcatore 0x0C. 769 byte in tutto.

Elemento (feature)

Un oggetto statico, che non è un'unità, piazzato su una mappa TNT: albero, roccia, giacimento di metallo, sfiatatoio geotermico, campo d'idratazione, ecc. È definito in un file features/**/*.tdf (vedi TDF) e richiamato per nome dal TNT.

Virgola fissa (fixed-point)

Il sistema di coordinate dei modelli 3DO. Ogni coordinata int32 rappresenta value / 65536.0 unità dello spazio del mondo. Quindi 0x00010000 = esattamente 1 unità del mondo; 0x00018000 = 1,5 unità del mondo.

Ingombro (footprint)

Il riquadro di delimitazione sulla griglia di un'unità o di un elemento, espresso in celle degli attributi da 16 pixel (FootprintX × FootprintZ). Il motore lo usa per il posizionamento delle costruzioni e per il pathfinding.

Tick di gioco (game tick)

L'unità di tempo fondamentale. 30 tick al secondo. La maggior parte dei campi di temporizzazione in COB e GAF usa i tick.

HPI

Archivio "HAPI". Vedi HPI / UFO / CCX / GP3.

Stratificazione (layering)

Il modo in cui il motore combina più archivi HPI all'avvio. I file di un archivio caricato più tardi oscurano i file con lo stesso percorso negli archivi precedenti. L'ordine di caricamento è (dalla priorità più bassa alla più alta): .hpi → .ufo → .ccx → .gp3.

Tabella di ricerca (lookup table)

Un file .alp, .lht o .shd: righe di 256 indici della palette (non RGB), una colonna per ogni colore di partenza. Un .alp è di 65.536 byte (256 righe, una per partner di fusione); un .shd o un .lht è di 8.192 byte (32 righe, una per livello di ombra o di luce). Il motore cerca il colore corrente nella riga che gli serve, e il risultato è un altro indice della palette che si può disegnare con la normale pipeline a 8 bpp. Il gioco usa una tabella solo quando la sua dimensione è esatta; una tabella mancante, o di qualsiasi altra dimensione, viene ricostruita dalla palette. Vedi PAL.

LZ77

La compressione a finestra scorrevole usata nei chunk HPI quando CompMethod == 1. Finestra di 4 KiB, corrispondenze da 2 a 17 byte, bit di tag LSB-first.

Rosa magico (magic pink)

L'indice 9 della palette canonica di TA (#5454FC). Usato dagli strumenti di editing come colore di riempimento per le regioni trasparenti nei file PCX/GAF di partenza, ed è la chiave memorizzata di molti frame GAF, il che lo rende trasparente in quei frame. Altrove è un colore normale. Vedi Chiave di trasparenza.

Nome dell'oggetto (object name)

Il nome di base in minuscolo condiviso dai file 3DO, COB e PCX di un'unità. È dichiarato nell'FBI come campo Objectname. Si distingue da UnitName, che è l'identificatore esterno usato dalle altre configurazioni.

OTA

"Online Total Annihilation": il file di metadati che accompagna una mappa TNT. Testo semplice in formato TDF (TDF). Contiene nome della missione, descrizione, istruzioni per l'IA, posizioni di partenza, indicazioni sull'ambiente.

Immagine con palette (paletted image)

Una bitmap i cui valori dei pixel sono indici a 8 bit in una PAL separata di 256 voci, invece di terne RGB dirette. Ogni asset visibile distribuito con TA usa una palette: PCX, GAF, SCT, i pixel dei tile dei TNT e le minimappe incorporate. L'eccezione degna di nota sono le animazioni TAF truecolor di TA: Kingdoms.

Pezzo (piece)

Un sotto-oggetto con nome in un 3DO. Gli script COB manipolano i pezzi per nome (turn turret1 to y-axis [90] speed [60];).

Schema

Una configurazione di partita alternativa, con un nome, all'interno del file OTA gemello di un TNT. Schemi diversi di solito ospitano disposizioni delle posizioni di partenza diverse per numeri di giocatori diversi.

Livello del mare (sea level)

Il campo SeaLevel nell'intestazione di un TNT. Qualsiasi cella degli attributi il cui byte Height è minore del livello del mare è considerata sott'acqua. Una mappa con SeaLevel == 0 non ha niente sott'acqua; con SeaLevel == 255 è tutto sott'acqua.

Sezione (section)

Un file SCT. I blocchi di tile riutilizzabili che l'editor TAE di Cavedog cuciva insieme per costruire le mappe TNT finali.

Maschera dei segnali (signal mask)

Una maschera di bit dichiarata in uno script COB (set-signal-mask <n>) che determina quali messaggi signal interromperanno per prelazione l'istanza corrente dello script. Si usa per annullare in modo pulito le animazioni Walk/Aim/Idle quando lo stato cambia.

Fazione (side)

ARM o CORE in TA; Aramon, Taros, Veruna o Zhon in TA: Kingdoms. Si dichiara per ogni unità nel campo Side dell'FBI; in TA: Kingdoms conta anche per scegliere la palette di fazione con cui verrà disegnata un'animazione GAF.

SQSH

Il marcatore (0x48535153 LE) all'inizio di ogni chunk compresso in un HPI. Un riferimento scherzoso al fatto che i chunk sono dati "schiacciati" (squashed).

Sotto-frame (sub-frame)

Un frame GAF annidato. Un singolo frame visibile dell'animazione può essere la composizione di più sotto-frame copiati sullo schermo (blit) in ordine, ciascuno con il proprio offset di origine e i propri dati dei pixel.

TAF

Un'animazione truecolor di TA: Kingdoms. Riusa la struttura del contenitore GAF ma memorizza pixel ARGB4444 / ARGB1555 a 16 bit invece di indici della palette, quindi porta con sé i propri colori e il proprio alfa. L'estensione .taf è condivisa con i file con palette in stile GAF: a distinguerli è il byte del formato di ciascun frame.

Tick

Vedi tick di gioco.

Tile

Un blocco di 32×32 pixel della grafica di una mappa. L'unità di visualizzazione fondamentale per TNT e SCT. La griglia dei tile è indicizzata con uint16, il che in teoria permette fino a 65.536 tile unici per mappa.

Chiave di trasparenza (transparency key)

L'indice della palette che un frame GAF indica come trasparente. Il gioco non disegna i pixel di quel valore in un frame grezzo; in un frame compresso i pixel trasparenti sono i suoi run saltati, e gli altri pixel vengono disegnati anche quando sono uguali alla chiave. Non esiste un indice trasparente valido per tutta la palette: terreno, minimappe, fondali PCX e texture dei modelli disegnano ogni indice, compreso l'indice 0 della palette (nero). I frame TAF truecolor non hanno una chiave: la trasparenza viene invece dal canale alfa di ogni pixel.

Truecolor

Una bitmap che memorizza un colore (e un alfa) per pixel invece di un indice in una palette. È l'eccezione alla grafica di TA, altrimenti universalmente con palette: le animazioni TAF di TA: Kingdoms usano pixel ARGB4444 / ARGB1555 a 16 bit.

TSF

"TAF Source Format": la forma testuale leggibile, delimitata da graffe, di un TAF. Il caricatore dell'interfaccia di TA: Kingdoms legge i .tsf direttamente per gli sfondi dei menu; kbot taf decompile lo produce e kbot taf compile lo rilegge. Vedi TAF / TSF.

Filesystem virtuale (VFS)

L'albero unificato di file che il motore (e kbot mount / kbot mcp) vede dopo aver sovrapposto tutti gli archivi della famiglia HPI presenti nella radice di un'installazione. Permette di riferirsi a un file come units/ARMCOM.fbi senza preoccuparsi se si trovi in totala1.hpi, in ccdata.ccx o in una directory appiattita.

Cella vuota (void cell)

Una cella degli attributi di un TNT con Feature == 0xFFFC. Indica un terreno impraticabile (pareti di canyon, confini di acque profonde) che non è di per sé un elemento, ma va trattato come se ce ne fosse uno.

Yardmap

Una griglia ASCII su più righe in un FBI che descrive le restrizioni di ogni cella dell'ingombro di un edificio. Le lettere comuni: o = terreno aperto, c = chiuso (occupato dalla costruzione), w = solo acqua.