FLC: кадры, направления и служебный замыкающий кадр
Источник: OpenCiv3, ReadFlic.cs. Файл прочитан целиком 26.10.2026; автор помечает реализацию как незавершённую и не универсальную.
Поля и структура
Загрузчик требует сигнатуру 0xAF12. Он читает число кадров, ширину/высоту и скорость; дополнительные поля задают смещения кадра и исходный размер. В комментарии остаётся сомнение о порядке исходных ширины и высоты.
Специфичные поля Civ3 по 0x60 и 0x62 задают число анимационных последовательностей и кадров в каждой. Если число последовательностей нулевое, используется одна последовательность с общим числом кадров — это предусмотрено для портретов лидеров.
Реализованы подблоки палитры типа 4, полного RLE-кадра типа 15 и дельты типа 7. Для дельты сначала копируется предыдущий кадр. После последовательности пропускается служебный ring frame.
Ограничения источника
Поддерживается лишь частный случай пакета палитры; в коде есть TODO о первом дельта-кадре, замыкающем кадре и проверках заголовков. Неизвестные блоки регистрируются в журнале. Эти ограничения нельзя переносить в собственный декодер как требования формата.
Наши проверки
Нужны отдельные эталоны для анимации юнита и лидера: число направлений, частота, точка привязки, дельты и циклическое воспроизведение. Продолжительность и воспроизводимые кадры следует сверять с игрой; красивое воспроизведение само по себе не доказывает совместимость.