Glossar
Ein formatübergreifendes Nachschlagewerk zum wiederkehrenden Vokabular beim Modding von Total Annihilation. Die Begriffe verlinken auf die Seite, auf der sie am ausführlichsten behandelt werden.
Anchor object (Ankerobjekt)
Ein 3DO-Piece mit einem Vertex und null Primitiven. Zur Laufzeit
unsichtbar; es dient als benannte Koordinate für Befehle in
COB-Skripten (emit-sfx from <anchor>;).
Archive (Archiv)
Eine Datei im Format HPI / UFO / CCX / GP3. Alle vier Endungen haben dasselbe Format auf der Platte und unterscheiden sich nur in der Ladereihenfolge.
ARGB4444 / ARGB1555
Die beiden 16-Bit-Pixelkodierungen eines Truecolor-TAF.
ARGB4444 packt je 4 Bit Alpha, Rot, Grün und Blau (16 Stufen weiches
Alpha); ARGB1555 packt ein 1-Bit-Alpha plus je 5 Bit RGB (eine harte
Maske). Das Format-Byte eines Frames (4 oder 5) bestimmt, welche davon gilt.
Attribute cell (Attributzelle)
Eine Zelle von 16×16 Pixeln in einer TNT- (oder SCT-)Karte. Jede Kachel ist 32×32 px groß und enthält daher 4 Attributzellen. Höhen, Platzierungen von Kartenobjekten und die Zulässigkeit von Wegfindung und Bau werden pro Attributzelle gespeichert.
Axis (Achse)
Bei COB/3DO eine numerische ID für eine der drei Rotationsachsen:
0 = X, 1 = Y, 2 = Z. Die COB-Opcodes für
MOVE/TURN/SPIN nehmen die Achse als Inline-Operand. In 3DO-Dateien
ist Y oben.
BOS
„Basic Object Script“ – die C-ähnliche Quellsprache für Animations- und
Verhaltensskripte von Einheiten. Wird zu COB kompiliert. Von
Moddern von Hand geschrieben; mit kbot cob decompile aus COB
zurückgewonnen.
COB
„Cobble“ – der stackbasierte Bytecode, den die Engine tatsächlich ausführt. Siehe COB / BOS.
Compression chunk (Kompressions-Chunk)
Ein Block in einer HPI-Datei, der dekomprimiert höchstens 64 KiB groß ist. Jeder Chunk hat seinen eigenen SQSH-Header, eine Kompressionsmethode (LZ77 / ZLib / keine), ein Größenpaar und eine optionale zweite XOR-Verwürfelung.
Embedded palette (eingebettete Palette)
Eine PAL, die an eine PCX-Datei angehängt ist,
unmittelbar nach den RLE-Pixeldaten, mit einem Markerbyte 0x0C davor.
Insgesamt 769 Byte.
Feature (Kartenobjekt)
Ein statisches Objekt, das keine Einheit ist und auf einer
TNT-Karte platziert wird: Baum, Fels, Metallvorkommen,
geothermische Quelle, Hydrationsfeld usw. Definiert in einer Datei
features/**/*.tdf (siehe TDF) und von der TNT über den Namen
referenziert.
Fixed-point (Festkomma)
Das Koordinatensystem der 3DO-Modelle. Jede int32-Koordinate steht für
value / 65536.0 Einheiten in Weltkoordinaten. 0x00010000 ist also
genau 1 Welteinheit; 0x00018000 sind 1,5 Welteinheiten.
Footprint (Grundfläche)
Der rasterbezogene Begrenzungsrahmen einer Einheit oder eines
Kartenobjekts, angegeben in Attributzellen zu 16 Pixeln
(FootprintX × FootprintZ). Die Engine verwendet ihn für die
Bauplatzierung und die Wegfindung.
Game tick (Spiel-Tick)
Die grundlegende Zeiteinheit. 30 Ticks pro Sekunde. Die meisten Zeitfelder in COB und GAF verwenden Ticks.
HPI
„HAPI“-Archiv. Siehe HPI / UFO / CCX / GP3.
Layering (Schichtung)
Die Art, wie die Engine beim Start mehrere HPI-Archive
kombiniert. Dateien in einem später geladenen Archiv verdecken Dateien mit
demselben Pfad in früheren Archiven. Die Ladereihenfolge ist (von
niedrigster zu höchster Priorität): .hpi → .ufo → .ccx → .gp3.
Lookup table (Nachschlagetabelle)
Eine Datei .alp, .lht oder .shd: Zeilen aus 256 Palettenindizes
(kein RGB), eine Spalte pro Ausgangsfarbe. Eine .alp hat 65.536 Byte
(256 Zeilen, eine pro Mischpartner); eine .shd oder .lht hat 8.192 Byte
(32 Zeilen, eine pro Schatten- oder Lichtstufe). Die Engine schlägt die
aktuelle Farbe in der benötigten Zeile nach, und das Ergebnis ist wieder
ein Palettenindex, der durch die normale 8-bpp-Pipeline gezeichnet werden
kann. Das Spiel verwendet eine Tabelle nur, wenn ihre Größe exakt stimmt;
eine fehlende Tabelle oder eine mit irgendeiner anderen Größe wird aus der
Palette neu aufgebaut. Siehe PAL.
LZ77
Die Kompression mit gleitendem Fenster, die in HPI-Chunks bei
CompMethod == 1 verwendet wird. Fenster von 4 KiB, Matches von 2–17
Byte, Tag-Bits LSB zuerst.
Magic pink
Palettenindex 9 der kanonischen Palette von TA (#5454FC). Von
Editor-Werkzeugen als Füllfarbe für transparente Bereiche in
PCX/GAF-Quelldateien verwendet und der gespeicherte Schlüssel vieler
GAF-Frames, was ihn in diesen Frames transparent macht. Anderswo ist er
eine gewöhnliche Farbe. Siehe
Transparency key.
Object name (Objektname)
Der kleingeschriebene Basisname, den die 3DO-, COB-
und PCX-Dateien einer Einheit gemeinsam haben. In der
FBI als Feld Objectname deklariert. Nicht zu verwechseln mit
UnitName, dem externen Bezeichner, den andere Konfigurationen
verwenden.
OTA
„Online Total Annihilation“ – die Metadaten-Begleitdatei einer TNT-Karte. Klartext im TDF-Format (TDF). Enthält Missionsname, Beschreibung, KI-Briefing, Startpositionen und Hinweise zur Umgebung.
Paletted image (Bild mit Palette)
Eine Bitmap, deren Pixelwerte 8-Bit-Indizes in eine separate PAL mit 256 Einträgen sind statt direkter RGB-Tripel. Jedes sichtbare Asset, das mit TA ausgeliefert wird, hat eine Palette: PCX, GAF, SCT, die Kachelpixel von TNT und die eingebetteten Minikarten. Die nennenswerte Ausnahme sind die Truecolor-Animationen TAF von TA: Kingdoms.
Piece
Ein benanntes Unterobjekt in einem 3DO. COB-Skripte
bewegen Pieces über ihren Namen (turn turret1 to y-axis [90] speed [60];).
Schema
Eine benannte alternative Spieleinrichtung in der zugehörigen OTA-Datei einer TNT. Verschiedene Schemata enthalten typischerweise verschiedene Anordnungen der Startpositionen für unterschiedliche Spielerzahlen.
Sea level (Meeresspiegel)
Das Feld SeaLevel im Header einer TNT. Jede Attributzelle,
deren Height-Byte kleiner als der Meeresspiegel ist, gilt als unter
Wasser. Eine Karte mit SeaLevel == 0 hat nichts unter Wasser, eine mit
SeaLevel == 255 alles.
Section (Sektion)
Eine SCT-Datei. Die wiederverwendbaren Kachelstücke, die Cavedogs Editor TAE zusammengefügt hat, um die fertigen TNT-Karten zu bauen.
Signal mask (Signalmaske)
Eine in einem COB-Skript deklarierte Bitmaske
(set-signal-mask <n>), die festlegt, welche signal-Nachrichten die
aktuelle Skriptinstanz verdrängen. Wird verwendet, um Animationen wie
Walk/Aim/Idle bei einem Zustandswechsel sauber abzubrechen.
Side (Seite)
ARM oder CORE in TA; Aramon, Taros, Veruna oder Zhon in TA: Kingdoms. Pro
Einheit im Feld Side der FBI deklariert; in TA: Kingdoms auch
dafür maßgeblich, mit welcher Palette der Seite eine
GAF-Animation gerendert wird.
SQSH
Der Marker (0x48535153 LE) am Anfang jedes komprimierten Chunks in einer
HPI. Eine verspielte Anspielung darauf, dass die Chunks
„zerquetschte“ (squashed) Daten sind.
Sub-frame (Unter-Frame)
Ein verschachtelter GAF-Frame. Ein einzelner sichtbarer Animations-Frame kann aus mehreren Unter-Frames zusammengesetzt sein, die der Reihe nach geblittet werden, jeder mit eigenem Ursprungs-Offset und eigenen Pixeldaten.
TAF
Eine Truecolor-Animation von TA: Kingdoms. Verwendet den
Containeraufbau von GAF wieder, speichert aber
ARGB4444 / ARGB1555-Pixel zu 16 Bit statt
Palettenindizes und bringt damit eigene Farben und eigenes Alpha mit. Die
Endung .taf teilt es sich mit Dateien im GAF-Stil mit Palette – das
Format-Byte jedes Frames unterscheidet sie.
Tick
Siehe Game tick.
Tile (Kachel)
Ein Stück Kartengrafik von 32×32 Pixeln. Die grundlegende
Darstellungseinheit von TNT und SCT. Das Kachelraster
wird mit uint16 indiziert, was theoretisch bis zu 65.536 einzigartige
Kacheln pro Karte erlaubt.
Transparency key (Transparenzschlüssel)
Der Palettenindex, den ein GAF-Frame als transparent speichert. Das Spiel lässt die Pixel eines rohen Frames mit diesem Wert ungezeichnet; die transparenten Pixel eines komprimierten Frames sind seine Überspring-Läufe, und seine übrigen Pixel werden auch dann gezeichnet, wenn sie dem Schlüssel gleichen. Einen paletteweiten transparenten Index gibt es nicht: Gelände, Minikarten, PCX-Hintergründe und Modelltexturen zeichnen jeden Index, Palettenindex 0 (Schwarz) eingeschlossen. Truecolor-Frames von TAF haben keinen Schlüssel – die Transparenz kommt stattdessen aus dem Alphakanal jedes Pixels.
Truecolor
Eine Bitmap, die pro Pixel eine Farbe (und Alpha) speichert statt eines Index in eine Palette. Die Ausnahme zur sonst durchgängig palettierten Grafik von TA: Die TAF-Animationen von TA: Kingdoms verwenden ARGB4444 / ARGB1555-Pixel zu 16 Bit.
TSF
„TAF Source Format“ – die für Menschen lesbare, durch geschweifte
Klammern gegliederte Textform eines TAF. Der Oberflächenlader
von TA: Kingdoms liest .tsf für Menühintergründe direkt;
kbot taf decompile gibt es aus, und kbot taf compile liest es wieder
ein. Siehe TAF / TSF.
Virtual filesystem (VFS, virtuelles Dateisystem)
Der zusammengeführte Dateibaum, den die Engine (und kbot mount /
kbot mcp) sieht, nachdem jedes Archiv der HPI-Familie im
Wurzelverzeichnis einer Installation übereinandergeschichtet wurde. Damit
kannst du auf eine Datei wie units/ARMCOM.fbi verweisen, ohne dich darum
zu kümmern, ob sie in totala1.hpi, ccdata.ccx oder einem geflatteten
Verzeichnis liegt.
Void cell (Leerzelle)
Eine Attributzelle einer TNT mit Feature == 0xFFFC.
Kennzeichnet unpassierbares Gelände (Canyonwände, Grenzen zu tiefem
Wasser), das selbst kein Kartenobjekt ist, aber so behandelt werden soll,
als stünde dort eines.
Yardmap
Ein mehrzeiliges ASCII-Raster in einer FBI, das die
Beschränkungen pro Zelle für die Grundfläche eines Gebäudes beschreibt.
Gängige Buchstaben: o = offenes Land, c = geschlossen (bebaut),
w = nur Wasser.