Alle Formatseiten ↓
Tutorials und Nachschlagewerk

Glossar

Aus coreprime/kbot @ 0ab97bf · Auf GitHub bearbeiten

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.