# FLC: кадры, направления и служебный замыкающий кадр

Источник: [OpenCiv3, ReadFlic.cs](https://github.com/C7-Game/OpenCiv3/blob/c1370e2f63a6042a3c4206f0043543d7da0d5cc5/ConvertCiv3Media/ReadFlic.cs). Файл прочитан целиком 26.10.2026; автор помечает реализацию как незавершённую и не универсальную.

## Поля и структура

Загрузчик требует сигнатуру `0xAF12`. Он читает число кадров, ширину/высоту и скорость; дополнительные поля задают смещения кадра и исходный размер. В комментарии остаётся сомнение о порядке исходных ширины и высоты.

Специфичные поля Civ3 по `0x60` и `0x62` задают число анимационных последовательностей и кадров в каждой. Если число последовательностей нулевое, используется одна последовательность с общим числом кадров — это предусмотрено для портретов лидеров.

Реализованы подблоки палитры типа 4, полного RLE-кадра типа 15 и дельты типа 7. Для дельты сначала копируется предыдущий кадр. После последовательности пропускается служебный ring frame.

## Ограничения источника

Поддерживается лишь частный случай пакета палитры; в коде есть TODO о первом дельта-кадре, замыкающем кадре и проверках заголовков. Неизвестные блоки регистрируются в журнале. Эти ограничения нельзя переносить в собственный декодер как требования формата.

## Наши проверки

Нужны отдельные эталоны для анимации юнита и лидера: число направлений, частота, точка привязки, дельты и циклическое воспроизведение. Продолжительность и воспроизводимые кадры следует сверять с игрой; красивое воспроизведение само по себе не доказывает совместимость.
