Палитры: прозрачность, тени и окраска цивилизации
Источник: OpenCiv3, PCXToGodot.cs. Прочитан целиком 26.10.2026. Далее — поведение этой реализации.
Несколько способов преобразования
По умолчанию прозрачными считаются индексы 254 и 255; набор можно переопределять. Отдельный режим теней пересчитывает альфа-канал индексов 240–255. Следовательно, одно универсальное правило «убрать розовый цвет» недостаточно даже для данного конвертера.
Для интерфейса поддерживается пара цветного PCX и PCX-маски: пример в комментарии — menuButtons.pcx и menuButtonsAlpha.pcx. Для маски используется палитровая яркость. Режим чистой альфы, применяемый также к туману войны, использует обратную яркость и может исключать служебные индексы.
Кадры юнитов раскладываются на базовый и окрашиваемый слои. В данной реализации окрашиваемыми считаются индексы меньше 16 и чётные индексы меньше 64; обработка теней отдельная. Для сохранения оттенков одежды читается палитра Art/Units/Palettes/ntp00.pcx; без неё предусмотрен упрощённый белый слой.
Что следует сохранить у нас
Режим декодирования должен задаваться назначением ресурса. Индекс пикселя и RGB — разные данные: одинаковый видимый цвет может иметь разный смысл. Нужны сравнительные эталоны для меню, тумана, городской графики и юнитов. Указанные диапазоны не объявляются универсальными для всех файлов Atlants.