Все страницы форматов ↓
Руководства и справка

Быстрый старт — пять вещей, которые можно попробовать прямо сейчас

Источник: coreprime/kbot @ 0ab97bf · Редактировать на GitHub

На прошлой неделе купили TA на GoG, а пять минут назад установили kbot? Не знаете, с чего начать? Попробуйте эти пять команд: каждая занимает меньше минуты и показывает какой-нибудь другой формат.

Во всех примерах предполагается, что ваша установка TA зарегистрирована как контекст kbot (см. kbot ctx):

kbot ctx add /path/to/total-annihilation --alias ta --game totala

1. Просмотр всех файлов игры в веб-браузере

kbot mount --server

Открывается по адресу http://localhost:8090. Пощёлкайте по файлам: TNT, GAF, PCX, 3DO и FNT можно просматривать, не выходя из браузера. Скрипты COB показываются с подсветкой синтаксиса и в просмотрщике потока управления. Файлы TDF/FBI/OTA отображаются как сворачиваемые деревья секций.

Зачем это нужно: любая другая команда из этого руководства — лишь узкая часть того, что умеет обозреватель. Начните с него, а к командной строке переходите, когда захочется что-нибудь автоматизировать скриптом.


2. Отрисовка карты из кампании

kbot tnt preview "maps/sub hunting.tnt" -t /tmp/sub-hunting.png
open /tmp/sub-hunting.png      # macOS — use `xdg-open` on Linux

Команда накладывает спрайты объектов (деревья, камни, месторождения металла) поверх мозаики тайлов и рисует пронумерованные метки стартовых позиций из парного файла .ota. Получившийся PNG размером 1,7 МБ куда подробнее встроенной миникарты 252×252.

Подробности формата — в tnt.md: там расписан каждый байт.


3. Что юнит делает на самом деле

Декомпилируйте его скомпилированный байткод обратно в читаемый исходник BOS:

kbot cob decompile scripts/armkrog.cob | head -80

…это скрипт анимации Крогота (Krogoth). Цикл ходьбы, отдача оружия, анимация гибели — всё там. Для подробностей на уровне опкодов дизассемблируйте:

kbot cob disassemble scripts/armkrog.cob -s Walk -a

Флаг -a рисует ASCII-стрелки между парными инструкциями JUMP / JUMP_IF_FALSE, так что структура циклов видна с первого взгляда.

См. cob.md, в том числе полный справочник опкодов и таблицу портов get_unit_value.


4. Извлечение одного файла из любого архива

Не распаковывая всю игру:

kbot hpi extract totala1.hpi -p "units/ARMCOM.FBI" -t /tmp/out
cat /tmp/out/units/ARMCOM.FBI | head

-p принимает шаблоны glob: -p "units/*.fbi" извлекает все файлы FBI, -p "*.bos" — все исходники скриптов. Каталог назначения создаётся, если его ещё нет.

Если вы даже не знаете, в каком архиве лежит файл, спросите механизм разрешения путей (resolver):

kbot mcp --game-data $(kbot ctx path) &     # if MCP is configured
# or use the web UI's search box

См. hpi.md, в том числе полный побайтовый разбор дампа небольшого архива.


5. Выгрузка канонической палитры TA в PNG на память

kbot pal swatch palettes/palette.pal -o /tmp/ta-palette.png --cell 24
open /tmp/ta-palette.png

Сетка 16 × 16 со всеми цветами игры. Удобна как быстрая шпаргалка, когда вы работаете над скином юнита или подбираете индекс цвета для HUD. Заштрихованная клетка в левом верхнем углу — индекс 0 (чёрный). Штриховка нужна только для того, чтобы её было заметно: на рельефе и фонах игра рисует этот цвет обычным чёрным, а спрайты задают собственный прозрачный ключевой цвет для каждого кадра.

См. pal.md, а также pcx.md о том, как TA: Kingdoms распространяет палитры через PCX-носители размером 1×1.


Что дальше?

  • Сделайте мод юнита — пройдите руководство по моддингу и примерно за 20 минут выпустите собственный вариант юнита «Вспышка» (Arm Flash).
  • Разберитесь в зоопарке файлов — начните с оглавления справочника форматов.
  • Напишите свой инструмент — у каждого формата есть Go API. Во врезке «Попробуйте сами» на странице каждого формата указан путь импорта formats/<x>.
  • Подключите ИИ-ассистентов — kbot mcp открывает всё перечисленное выше для Claude Code, Claude Desktop, Cursor и других через MCP. См. раздел о MCP в README.