27 lines
2.2 KiB
C
27 lines
2.2 KiB
C
|
|
#pragma once
|
|||
|
|
// -----------------------------------------------------------------------------
|
|||
|
|
// Инструменты Tile2D: то, чем работают с проектом БЕЗ окна и без мыши.
|
|||
|
|
//
|
|||
|
|
// Зачем это существует отдельно от редактора. Содержимое проекта — текст:
|
|||
|
|
// комнаты, каталог сущностей и манифест лежат в git и правятся руками. Значит,
|
|||
|
|
// править их умеет кто угодно, включая языковую модель: открыл файл, изменил,
|
|||
|
|
// сохранил. Чего у неё НЕТ — обратной связи. Собралась ли комната в этаж,
|
|||
|
|
// достижима ли точка спавна, выбрал ли этаж бюджет опасности, во что
|
|||
|
|
// превращается набор на двадцатом этаже — на эти вопросы нельзя ответить,
|
|||
|
|
// глядя на текст комнаты.
|
|||
|
|
//
|
|||
|
|
// Поэтому инструменты — это не «API редактора», а ЗАМКНУТАЯ ПЕТЛЯ: правку
|
|||
|
|
// делают файлами, а последствия читают отсюда. Всё выводится текстом, включая
|
|||
|
|
// карту собранного этажа: тем же правилом живут ассеты
|
|||
|
|
// (docs/12-assets.md — «проверка только текстом»), и по той же причине —
|
|||
|
|
// картинку нельзя ни продиффать, ни процитировать в отчёте.
|
|||
|
|
//
|
|||
|
|
// tile2d_editor --tool <команда> [аргументы] [--project <имя>]
|
|||
|
|
//
|
|||
|
|
// Код возврата: 0 — всё в порядке, 1 — команда не выполнена или проверка
|
|||
|
|
// нашла поломку. Это делает инструменты пригодными для скриптов и хуков.
|
|||
|
|
// -----------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
// Разбирает свой хвост командной строки целиком. Возвращает код процесса.
|
|||
|
|
int RunTool(int argc, char** argv);
|