Редактор и работа с проектом¶
TODO
Статья находится в разработке.
Обычно используют редактор Slade, как на данный момент наиболее продвинутый и постоянно обновляющийся. В этой статье, а также в главе "Первый мод", будет рассматриваться именно он, хотя, конечно, можно использовать и любые другие.
В современности основные практики работы с проектом выглядят примерно так:
- Работать в *.pk3-архиве, всё редактировать через Slade, при необходимости импортировать/экспортировать ресурсы.
- Располагать проект в отдельной директории и работать через Slade.
- Располагать проект в отдельной директории и использовать любой редактор файлов и любой файловый менеджер, изредка, для особых задач, запуская Slade.
Редактор Slade¶
TODO
В принципе файлы кода, в том числе ZScript, можно редактировать в блокноте или привычной IDE. Ресурсы тоже можно класть вручную, но это не всегда неудобно.
Если работа идёт через любой сторонний редактор текста (Блокнот, Notepad++, Visual Studio Code Editor и так далее), то Slade нужен больше для того, чтобы соединять всё в едином проекте. Здесь Slade снова будет предупреждать о том, что часть файлов изменилась, и нужно будет принимать все изменения в проект.
Предварительная настройка Slade¶
TODO
Настройка путей и выбор Base Resource.
Архив PK3¶
Современный и подходящий формат под движки семейства *ZDoom. Стандарт де-факто.
На самом деле является *.zip-архивом, то есть поддерживает каталоги, сжатие и другие приятные вещи. Имеет стройную структуру категорий ресурсов.
Работа с проектом¶
Создание: нажать на "File" → "New" → "Archive" (или комбинацию клавиш Ctrl + Shift + N). Так как *.pk3 — на самом деле *.zip-архив, в открывшемся меню нужно выбрать создания нового *.zip, как показано на рис. 2:

Рисунок 1. Выбор формата *.zip, он же *.pk3
Сохранение проекта производится через "File" → "Save" или через комбинацию клавиш Ctrl + S.
Новый файл в проект добавляется либо через меню "Archive" → "New Entry", либо через комбинацию клавиш Ctrl + N.

Рисунок 2. Создание файла ZScript
Преимущества и недостатки¶
Плюсы:
- Хорошо структурированный и документированный формат. Известен всем, кто хотя бы раз запускал современную модификацию в портах (U/G)ZDoom.
Минусы:
- Требуется внешний редактор вроде Slade.
- Не приспособлен к работе с возможностями операционной системы и, в частности, с системами контроля версий. Впрочем, обычно без труда конвертируется во вариант с каталогом.
- Из-за развития движков формат может незначительно поменяться (например, несколько лет назад была заменена часть доступных значений в директории
/filter).
Каталог¶
Структура категорий ресурсов при работе с каталогом будет та же, что и у *.pk3.
Работа с проектом¶
TODO
Вкратце: создать в Проводнике директорию под проект, открыть в Slade через "File" → "Open Directory".
Для добавления файла через файловую систему:
- Создать новый файл через Проводник. В этом случае Slade сообщит об изменённых файлах и предложит выбрать те, которые нужно добавить в проект — соглашаемся со всеми;
- Также, как и в случае с архивом *.pk3, создать новый файл в самом Slade через
Ctrl + N(см. рис. 3).
Для добавления файла через Slade действия аналогичны таким же для архива *.pk3.
Преимущества и недостатки¶
Плюсы:
- Все преимущества самой операционной системы и её файловой системы. Сюда относятся сортировка по дате добавления/изменения, индексированный поиск, символические ссылки и многое другое.
- Работа происходит через файловую систему ОС, поэтому в каталоге с проектом удобно применять в системе контроля версий вроде git.
- В принципе можно обойтись без редакторов вроде Slade.
- Без труда конвертируется в *.pk3.
Минусы:
- Если работа происходит через Slade, то изменения при запуске движка будут видны только после сохранения всего проекта. Для этого можно использовать пункт меню "File" → "Save" или комбинацию клавиш
Ctrl + S. В некоторых версиях Slade перед редактированием ещё придётся нажать на пункт "View as Text" в верхней-правой части панели просмотра. - Все недостатки самой операционной системы и её файловой системы:
- Не получится создать файлы с одинаковыми названиями (к примеру, название "---" в качестве разделителя).
- Невозможно поставить элементы в строго заданном пользователем порядке.
- Доступны не все названия файлов. К примеру, ОС Windows нельзя прямыми методами создать файл с символами
/,\,*,?,!и некоторыми другими, а также с названием псевдоустройств вродеNUL,COM1иAUX. Да, в принципе такие файлы возможны, но следует иметь в виду, что кто-то другой после такого не сможет нормально поработать с проектом.
Древовидная структура проекта¶
Применимо и к архиву *.pk3, и к каталогу.
Все ресурсы игры — звуки, спрайты, 3D-модели, код, различная конфигурация — рассортированы по категориям, подробно ознакомиться с ними можно здесь. Регистр названий не имеет значения. Основные из них:
| Каталог | Описание |
|---|---|
| (Корневой) | Основная информация о проекте, конфигурация, заголовки исходного кода и другие подобные файлы |
Sprites |
Спрайты акторов |
Sounds |
Звуки |
Textures |
Текстуры (без разделения на текстуры для стен и для поверхности) |
Music |
Музыка |
Maps |
Уровни |
Graphics |
Графика игры, например, заставка, шрифты и некоторые элементы UI |
ACS |
Скомпилированные скрипты ACS, но обычно туда же кладут и исходники |
Другие поддерживаемые форматы архивов¶
Архив WAD¶
Изначальный и очень известный в мире формат данных. Для проектов, в которых уже есть ZScript, применяется крайне нечасто в силу своих ограничений.
Работа с проектом¶
Для добавления файла, как и в случае с архивом *.pk3, создать новый файл через Ctrl + N (см. рис. 3). Архив *.wad не поддерживает директорий, поэтому выбора пути не будет.
Преимущества и недостатки¶
Плюсы:
- Хорошо известен, была создана масса полезных утилит по работе с ним.
- При аккуратной работе — абсолютная совместимость со всеми движками, начиная с первого оригинального Doom. Очень редко, но иногда ZScript имеет смысл вставлять и в такие проекты.
Минусы:
- В больших проектах в нём трудно ориентироваться.
- Требует Slade, XWE или другой подобный редактор. Хотя, несомненно, менее требователен по сравнению с тем же *.pk3.
- Не поддерживает сжатие, все данные в нём хранятся в сыром виде.
- Все утилиты, написанные для *.wad, вполне заменяются современными аналогами, например, скриптами автоматизации в Slade. С другой стороны, свои скрипты ещё сначала надо написать.
Менее известные форматы¶
- Архив *.zip игровой движок должен автоматически распаковывать при запуске. В нём можно хранить как другие архивы, так и сразу файлы проекта.
- *.pk7 — аналог формата *.7z (также, как и *.pk3 на деле является *.zip).
- *.ipk3 — тот же *.pk3, но движок воспирнимает его как IWAD. То есть, если он находится в известном движку каталоге, то появится в списке выбора IWAD при запуске игры.
- *.ipk7 — IWAD в формате *.7z.
Также есть форматы вроде *.pke (архив Eternity Engine), но движки семейства *ZDoom их не поддерживают.