Обновлено:

На этой странице

Местность и оформление интерфейса

Графика пригодна для точного воспроизведения после конвертации

В исходной поставке есть готовые растровые слои карты, городов и интерфейса. Их не требуется заново рисовать ради технической совместимости: необходимы чтение исходного формата, сохранение прозрачности и сборка сцены. Возможность публично распространять полученный набор рассматривается отдельно в оценке прав.

Среди файлов с расширением PCX успешно прочитаны заголовки и палитры 4 466 изображений: 4 446 палитровых, 18 RGB и 2 в градациях серого. Ещё два файла требуют отдельной обработки: один имеет сигнатуру BIC, другой не прошёл чтение палитры проверенным декодером. Это более глубокая проверка, чем первичное чтение только размеров.

Карта состоит из нескольких слоёв

Основной профиль правил имеет 14 типов местности, но файлов графики существенно больше. Один тип местности нельзя сопоставлять одному независимому ромбу: вид клетки зависит от соседей и дополнительных объектов.

СлойПримеры исходных ресурсовЧто требуется браузеру
Базовая суша и водаXGGC.PCX, XDGC.PCX, XPGC.PCX, wCSO.pcx, wSSS.pcx, wOOO.pcxВыбор перехода по соседям, индекс фрагмента листа
Рельеф и растительностьГоры, холмы, леса, джунгли, болота, вулканыОверлеи, перекрытие соседних клеток, порядок отрисовки
РекиmtnRivers.pcx, deltaRivers.pcxСоединения сегментов и независимое состояние реки
УлучшенияДороги, железные дороги, орошение, здания местностиСвязность и отдельные признаки улучшений
РесурсыЛисты значков ресурсовИндекс ресурса и условия видимости
Видимость и принадлежностьFogOfWar.pcx, Territory.pcxМаски видимости и границы владельцев
Города и войскаArt/Cities, Art/UnitsОтдельные объекты поверх карты

Просмотрен лист Art/Terrain/XGGC.PCX размером 1152×576. Его геометрия согласуется с сеткой 9×9 фрагментов 128×64. Это 81 позиция на листе; назначение позиции определяется схемой соседства, а не случайным выбором любого фрагмента. В качестве открытого примера такого сопоставления использована реализация TerrainTextureFiles.

Для редактора карты изменение одного типа поверхности должно обновлять графику затронутых соседей. Базовая местность, рельеф, река, дорога, ресурс, владелец и видимость должны храниться отдельно. Текущее устройство прототипа с шестью взаимоисключающими типами не выражает всю эту модель.

Палитры и прозрачность

PCX обычно содержит индексы цветов и таблицу палитры. Прозрачность и тени могут задаваться смыслом определённых индексов или отдельным файлом маски. Простое сохранение видимого RGB даёт, например, ярко-розовые поля городского экрана и тайлов.

В проверенном фоне городского экрана индекс 255 занимает 425 984 пикселя. На листе XGGC — 331 776 пикселей. Эти области нельзя воспринимать как обычную заливку изображения. При этом в листе стандартных кнопок пиксели индекса 255 отсутствуют: общую схему нельзя механически применять ко всем файлам.

Для пары box right color.pcx и box right alpha.pcx сохранены одинаковые размеры 294×137, но разное назначение: цвет и маска. Их нужно соединить в RGBA. Некоторые элементы используют обрезку или отдельную область маски. Подобные случаи явно различаются в декодере PCX OpenCiv3; его соглашения служат ориентиром для конвертера и требуют проверки на нашем наборе.

Для воспроизводимости конвертеру нужен параметр назначения: обычная картинка, тайл, альфа-маска, интерфейс с маской, тень, значок или кадр юнита. Исходные индексы следует сохранять до применения соответствующего режима.

Городской экран и команды

Ресурс базовой игрыРазмерРоль
Art/City Screen/background.pcx1024×768Фон и разметка городского экрана
Art/City Screen/governorBack.pcx1024×768Основа окна управления губернатором
Art/interface/NormButtons.pcx257×160Лист обычных состояний команд
Art/interface/HighlightedButtons.pcx257×160Выделенные состояния
Art/interface/RollOverButtons.pcx257×160Состояния наведения
Art/interface/box right color.pcx294×137Рамка информационной панели
Art/City Screen/ProductionQueueBox.pcx203×360Оформление очереди производства

Графический фон не содержит интерактивной логики. Кнопки, подписи, доступность действий, события клавиатуры и переходы между окнами нужно реализовать в браузере. Фон 1024×768 даёт точную опорную геометрию для настольного режима; на узком экране потребуется масштабирование или отдельная компоновка.

Названия команд можно связать с текстами labels.txt, Script.txt и действиями INI, но геометрию клика и поведение нельзя вывести только из картинки. Для каждого экрана полезно составить список областей, данных, состояний и переходов.

Подготовка ресурсов

Для панели и значка подходят PNG или WebP без потерь; они сохраняют чёткие края и альфа-канал. Поддержка этих форматов описана в справочнике форматов веб-изображений MDN.

Один из листов зданий Conquests имеет размер 448×11000. Для работы на разных устройствах его лучше разделить на страницы атласа с собственным индексом. Варианты зданий и городов по эпохам и культуре нужно хранить как варианты одного объекта, а не как независимые здания.

Оригинальные PCX и служебные индексы остаются эталоном. В браузерный набор входят только подготовленные атласы и манифесты с координатами, назначением и происхождением. Полные размеры и палитры: image-metadata.json; примеры декодирования пикселей: pixel-decode-samples.json.