Skip to content

coreprime/reference-ta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Total Annihilation reference tables

Generated lookup tables extracted directly from the game's data files — useful when you need to know "what's the UnitName for the Krogoth?" without grepping through units/*.fbi, or "which units use the GAUSS weapon?" without scanning every FBI by hand.

These tables are regenerated from the actual install, not hand-curated. Bug reports about wrong data should be filed against the extractor (see How these are generated) rather than the game.

This repo is the data-only sibling of coreprime/kbot (the toolkit that does the actual parsing). The pages here exist so you can browse the catalogue without cloning kbot or owning a TA install.

Important

Copyright & attribution. The unit stats, weapon definitions, build trees, and portrait JPGs/PNGs in this repo are derivatives of data files shipped with Total Annihilation — copyright Cavedog Entertainment / GT Interactive (1997) and presently distributed by Atari. This repo claims no rights over that content; it is reproduced for reference/research purposes only.

Only the organisation of this repo (file layout, markdown phrasing in this README) reflects the maintainer's effort. The extractor source code lives in coreprime/kbot and is separately MIT-licensed there.

No LICENSE file is shipped here intentionally — if you redistribute these tables, you take on whatever responsibility comes with reproducing Cavedog's data. If you are Atari or a rights-holder and want this material removed or relabelled, open an issue and it will be.


Available references

Total Annihilation (v3.1c — base game + Core Contingency + Battle Tactics)

Page Rows Source
TA unit IDs 278 units (137 ARM + 141 CORE), grouped by side and role units/*.fbi
TA weapons 198 weapon definitions + cross-reference to the units that fire them weapons/*.tdf, gamedata/weapons.tdf
TA build tree 45 builders × 575 (builder, unit) pairs; per-builder buildable grids with portraits; reverse "who builds X" index gamedata/sidedata.tdf [CANBUILD] + every download/*.tdf [MENUENTRY]

Total Annihilation: Kingdoms

The TA: Kingdoms catalogue lives in a separate sibling repo — coreprime/reference-tak — since the two games' data shapes diverge enough (TA:K inlines weapons in FBIs, has 5 sides, uses linear canbuild/*/ directories instead of a 2×3 menu grid) that mixing them in one repo would just clutter both.


How these are generated

Generated by kbot document in the coreprime/kbot toolkit. The command walks a flattened TA install, parses every FBI/TDF with the in-process Go parser, and writes the markdown files and unit portraits straight into this repo.

# 1. Flatten the install once (kbot)
kbot mount /path/to/total-annihilation flatten --target ./ta-flat

# 2. Point kbot document at the flat install + this repo
kbot document --source ./ta-flat --target ./

Or, from a kbot checkout with a .env.local configured:

cd /path/to/kbot
task document            # writes into ../reference by default

The pipeline lives in internal/documentor (Go source) with embedded text/template files under internal/documentor/templates/; portrait conversion uses the in-process formats/pcx decoder.

Regenerating unit portraits only

kbot document re-converts the 282 portraits as part of its run, but defaults to skipping any PNG that already exists at the destination — so reruns are near-instant. To force a fresh batch (e.g. after a mod-pack ships new portraits):

kbot document --target ./ --force-portraits

Portraits are keyed by the unit's Objectname field, lowercased — so Objectname=ARMCOM resolves to img/ta-units/armcom.png. Units whose FBI has no matching PNG render with an em-dash in the image column (ARMSCORP, CORBUILD, CORSS, CORTRUCK are the four base-game units that Cavedog never gave portraits — none appear on a normal build menu).

The TA: Kingdoms equivalent of these tables lives in coreprime/reference-tak.

Note

Pre-Go versions of this repo used a Python pipeline (extract_units.py, render_tables.py, …). Those scripts were retired once kbot document reached parity; the Go path is the only supported regen route now.


Why these references exist

Three concrete uses, each one a question the kbot maintainer was asked enough times to write a table for:

  1. "What's the UnitName for X?" — modders adding a unit to a build menu need to spell the constructor's UnitName exactly right in download/<NAME>.tdf (UNITMENU=ARMVP etc.).
  2. "Which units share a weapon?" — useful when tuning a weapon TDF; helps spot collateral nerfs/buffs.
  3. "Is <FOOBAR> a stock unit or a mod?" — answers "did Cavedog ship this, or am I looking at a third-party add-on?".

For the format of these files (vs. the data they contain), see the kbot docs — FBI / TDF / OTA, including the FBI field dictionary.

About

A Total Annihilation reference, generated from the TA Commanders Pack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors