ZDoom позволяет использовать несколько форматов сжатия вместо обычных WAD-файлов. В частности:
ZIP ZIP-файлу, использующемуся в качестве контейнера для мода, обычно даётся расширение .pk3 вместо .zip. Хотя технически они не отличаются, это помогает избежать потенциальной путаницы у пользователей, которые могут подумать, что мод нужно извлекать из архива, а также предотвращает распознавание этого файла Windows и последующее его отображение в виде папки. ZDoom поддерживает несколько алгоритмов сжатия: без сжатия, "shrinking", "imploding", "deflate" (наиболее часто используемый), bzip2 и LZMA. Стоит отметить, что многие ZIP-утилиты лишь частично реализуют стандарт ZIP, поэтому ограничиваются поддержкой архивации без сжатия и "deflate". Такая частичная реализация также наблюдается в некоторых редакторах, поддерживающих формат PK3, таких как Doom Builder 2 и Slumped.
7z 7z-файлу, использующемуся в качестве контейнера для мода, обычно даётся расширение .pk7 по тем же причинам. Этот формат предлагает более высокую степень сжатия, однако имеет ограниченную поддержку, особенно в утилитах для моддинга, что делает его менее интересным. Также его использование увеличивает объём памяти, занимаемой движком, поэтому нужно выбирать осторожно между форматами 7z и PK3. Можно сделать мод в PK3, задем преобразовать его в PK7, когда он закончен, чтобы уменьшить размер распространяемого файла. Однако стоит помнить, что распаковывается он медленнее, чем zip, поэтому и загружается дольше.
Сжатые архивы имеют много преимуществ перед PWAD-ами, даже если используются для хранения контента для Doom: -Меньший размер файла из-за сжатия -Намного уменьшенное использование памяти во время игры -Должное использование структуры папок вместо разделителей в WAD-ах. -Больше не нужно использовать отдельные инструменты редактирования WAD вроде XWE для управления данными. -Большая гибкость благодаря использованию полных путей к файлам. На данный момент поддержка ограничена, но планируется добавить поддержку полных путей везде, где есть ссылки на имена lump-ов.
Как Можно вставить WAD-ы внутрь ZIP. Любой WAD-файл, найденный в корневой директории, будет добавлен в директорию lump-ов. Это позволяет загружать многие ZIP-файлы, распространяемые через /idgames без необходимости извлечения. Если в архиве содержится несколько файлов, они будут загружаться в алфавитном порядке.
Вы знаете, я вчера очень некстати выключил комп и соответственно потерял логи IRC зандронума. В файл, увы, не логгирую (
Так вот, позавчера какого-то чувака (кажись, как раз автора темы) забанили на автоматизированных хостингах Зандра (BE) за попытку упаковать несколько чужих вадов в .pk3 и поставить на сервер одним файлом Это не ты был, нет? Чисто так из интереса вопрос.
<Siferah> Jenova what was that wad-pk3 retard from yesterday called?? <FusedQyou> max-ride
Max-Ride is ~MaxRide@Max-Ride.users.zandronum.com (pingas) Max-Ride is on channels: #zandronum #tspg-britsteel #bestever Max-Ride connects via revenant.zandronum.com (Roubaix, France) Max-Ride is connected from Russian Federation (RU) Max-Ride is logged in as "Max-Ride"
А вообще, если у тебя например карта в формате UDMF, то всё же есть смысл упаковать единственный вад в .pk3, и сам .pk3 упаковать в .zip вместе с .txt. Потому что минимальная полноценная карта в UDMF весит мегабайт. +~50 байт для архива-в-архиве того стоят.
ZDoom позволяет использовать несколько форматов сжатия вместо обычных WAD-файлов. В частности:
ZIP ZIP-файлу, использующемуся в качестве контейнера для мода, обычно даётся расширение .pk3 вместо .zip. Хотя технически они не отличаются, это помогает избежать потенциальной путаницы у пользователей, которые могут подумать, что мод нужно извлекать из архива, а также предотвращает распознавание этого файла Windows и последующее его отображение в виде папки. ZDoom поддерживает несколько алгоритмов сжатия: без сжатия, "shrinking", "imploding", "deflate" (наиболее часто используемый), bzip2 и LZMA. Стоит отметить, что многие ZIP-утилиты лишь частично реализуют стандарт ZIP, поэтому ограничиваются поддержкой архивации без сжатия и "deflate". Такая частичная реализация также наблюдается в некоторых редакторах, поддерживающих формат PK3, таких как Doom Builder 2 и Slumped.
7z 7z-файлу, использующемуся в качестве контейнера для мода, обычно даётся расширение .pk7 по тем же причинам. Этот формат предлагает более высокую степень сжатия, однако имеет ограниченную поддержку, особенно в утилитах для моддинга, что делает его менее интересным. Также его использование увеличивает объём памяти, занимаемой движком, поэтому нужно выбирать осторожно между форматами 7z и PK3. Можно делать мод в PK3, затем преобразовать его в PK7, когда он закончен, чтобы уменьшить размер распространяемого файла. Однако стоит помнить, что распаковывается он медленнее, чем zip, поэтому и загружается дольше.
Сжатые архивы имеют много преимуществ перед PWAD'ами, даже если используются для хранения контента для Doom: -Меньший размер файла из-за сжатия -Намного уменьшенное использование памяти во время игры -Должное использование директорий вместо разделителей в WAD'ах. -Больше не нужно использовать отдельные инструменты редактирования WAD вроде XWE для управления данными. -Большая гибкость благодаря использованию полных путей к файлам. На данный момент поддержка ограничена, но планируется добавить поддержку полных путей везде, где есть ссылки на имена lump-ов.
Как Можно вставить WAD'ы внутрь ZIP. Любой WAD-файл, найденный в корневой директории, будет добавлен в директорию lump'ов. Это позволяет загружать многие ZIP-файлы, распространяемые через /idgames, без необходимости извлечения. Если в архиве содержится несколько файлов, они будут загружаться в алфавитном порядке.
В отличие от WAD'ов, у которых нет настоящей структуры директорий, размещение данных внутри ZIP'ов соблюдается более строго для того, чтобы позволить движку распознать их как lump по умолчанию. Данные одного типа нужно поместить в соответствующую папку внутри ZIP, иначе они не будут найдены. Для имени lump используются первые 8 символов имени файла, расширение убирается. Например для того, чтобы поместить MAPINFO в ZIP-файл, нужно назвать ваш файл MAPINFO.TXT, MAPINFO.LMP (или любое расширение, какое хотите) и поместить его в корневую директорию ZIP-архива. Для распределения данных по существующим пространствам имён в ZDoom используются следующие подпапки:
Директория Описание patches/ содержит patch'и, обычно находящиеся между PP_START и PP_END graphics/ все особые графические файлы, такие как заглавные изображения или символы шрифта, должны быть здесь. Этого пространства имён не существует в WAD'ах. sounds/ содержит все звуковые файлы, на которые ссылается SNDINFO. Этого пространства имён не существует в WAD'ах. music/ содержит все данные, используемые в качестве музыки. Этого пространства имён не существует в WAD'ах. maps/ содержит уровни в форме WAD'ов. Каждый из этих WAD'ов должен содержать данные для одного уровня (включая lump'ы GL nodes, если требуется). Любые другие данные в таких WAD'ах игнорируются. Следует заметить, что имя файла, а не номер карты внутри WAD'а, определяет имя карты в игре. flats/ содержит flat'ы, обычно находящиеся между FF_START и FF_END sprites/ содержит спрайты, обычно находящиеся между S_START и S_END (а также SS_START, SS_END) textures/ содержит текстуры, обычно находящиеся между TX_START и TX_END hires/ содержит текстуры высокого разрешения, обычно находящиеся между HI_START и HI_END colormaps/ содержит Boom'овские цветовые карты, обычно находящиеся между C_START и C_END. Новые ZDoom-WAD'ы не должны это использовать acs/ содержит библиотеки ACS, обычно находящиеся между A_START и A_END voices/ содержит звуки диалогов Strife, обычно находящиеся между V_START и V_END voxels/ содержит воксельные объекты, обычно находящиеся между VX_START и VX_END
(Примечание: любой lump, найденный в корневой директории, добавляется в глобальное пространство имён)
Подсказки -Директория ZIP-файла сортируется по алфавиту перед добавлением в lump-директорию; любые WAD-файлы в .zip'е загружаются потом. Помните об этом, когда создаёте данные, которые полагаются на сортировку по имени. В большинстве случаев не нужно соблюдать порядок, за исключением текстурных анимаций типа range, которые анимируют текстуры из подпапок flats/ или textures/. -Любой файл, не находящийся в зарезервированых директориях, не добавляется в директорию WAD'а, и его можно использовать только кодом, который ищет полные имена путей. На данный момент это только музыкальный код, но в будущем планируется постепенное расширение, чтобы всё, что находит имя lump-ов, могло это делать. -lump'ы спрайтов, соответствующие кадру \ в WAD'е (например VILE\*, один из кадров лечения Arch-Vile), можно поместить в ZIP-файл, заменив символ обратного слэша на знак вставки (^). Таким образом, VILE^1 - VILE^8 в ZIP-файле будут распознаваться, как lump'ы VILE\1 - VILE\8. Эта замена работает только для спрайтов, остальные lump'ы не должны нигде содержать обратный слэш. Хотя возможно использование имён спрайтов для actor'а в DECORATE, кадры дальше Z использоваться не должны. -При создании файла, загружаемого напрямую в ZDoom, настоятельно рекомендуется использовать расширение .pk3, а не .zip. Обычный пользователь привык открывать .zip-файл и распаковывать .wad из него, поэтому использование расширения .zip для игрового файла часто создаёт нежелательную путаницу. -Содержимое файлов внутри ZIP должно быть идентичным содержимому lump'ов в WAD. Это особенно важно для графики. ZDoom не читает файлы .BMP! Хотя наиболее вероятно вы столкнётесь с этим форматом, его импортирование с помощью WAD-менеджера преобразует файлы во внутренний формат Doom. XWE преобразует графику, закодированную в формате Doom в .BMP во время экспорта. SLumpEd может экспортировать эти графические файлы как сырые lump'ы Doom. Чтобы ZDoom распознал графические файлы, они должны быть или во внутреннем формате Doom, или в поддерживаемом формате изображений, как PNG. -Берегитесь скрытых файлов! Если вы добавите директорию, или дерево каталогов, в PK3, возможно, что нежелательные системные файлы (такие как thumbs.db, обычно создаваемые в Windows в любой папке, содержащей картинки) тоже загрузятся. Они будут бессмысленно увеличивать размер файла и могут вызывать предупреждения при загрузке ZDoom. Slumped часто вылетает при просмотре ресурсов PK3, ожидая, что thumbs.db - это графический объект, и получая непонятные значения. -Если вы используете системные директории для загрузки вашего мода (в виде PK3-архива), не забывайте о чувствительности к регистру. Все папки пространств имён должны быть в нижнем регистре, иначе ZDoom предположит, что это не имеющая отношения папка, и не загрузит ничего из неё. Это справедливо даже в файловой системе Windows.
Совместимость На данный момент единственные редакторы, поддерживающие этот формат - это Doom Builder 2, SLumpEd, Slade 3, но вы, конечно, можете использовать любой доступный Zip-инструмент, если вам не нужен доступ к особым возможностям Doom, таким как определения текстур и смещение графики. Vavoom и Doomsday также используют PK3-файлы для своих ресурсов; однако организация подпапок у них отличается. Адаптация мода, предназначенного для этих портов, к ZDoom, может потребовать перепаковки, в дополнение к преобразованию возможностей портов в их ZDoom-аналог. Eternity Engine использует модель, похожую на ZDoom, но имеющую отличия, достаточные для несовместимости.
Я использую в PK3 названия папок большим регистром (SOUNDS, TEXTURES) и у меня всё работает.
А разве есть разница? Я использую часто маленький регистр, иногда с большой буквы начинаются имена папок и иногда большими буквами подписываю, в общем смесь и все работает.
На данный момент это только музыкальный код, но в будущем планируется постепенное расширение, чтобы всё, что находит имя lump-ов, могло это делать.
Я так понял, в этом плане обновлений еще нет? Все еще миллион спрайтов должны быть в одной корневой папке Sprites, а миллион звуков в SOUNDS, без возможности создавать подпапки, а также именовать спрайты длинными именами?
lafoxxx [B0S]:
Хотя возможно использование имён спрайтов для actor'а в DECORATE, кадры дальше Z использоваться не должны.
Я так понял, в этом плане обновлений еще нет? Все еще миллион спрайтов должны быть в одной корневой папке Sprites, а миллион звуков в SOUNDS, без возможности создавать подпапки, а также именовать спрайты длинными именами?
У меня немного устаревшая информация, но когда я раскладывал АЕОД из множества вад-файлов в единый pk3/pk7 - там удалось заюзать несколько подпапок в обоих случаях. Причём в SNDINFO достаточно указать только имя лампа без пути. Так что по крайней мере подпапка одного уровня поддерживается, но этого вполне достаточно. Длинные имена разрешены в ACS, DECORATE, 3d моделях. А в именах спрайтов получается если длиннее 8 - непонятно будет где заканчивается id спрайта и начинается id фрейма, наверное поэтому не сделали.
У меня немного устаревшая информация, но когда я раскладывал АЕОД из множества вад-файлов в единый pk3/pk7 - там удалось заюзать несколько подпапок в обоих случаях
И это работает и сейчас. Вон, пока я совмещал несколько модов в один (точнее четыре аддона в один большой аддон), там все спрайты по папочкам разложены, типа "sprites/weapons/*weapon_name*" и это прекрасно работает. Со спрайтами монстров тоже самое. Насчет звуков не знаю, но вроде как тоже может работать.
подскажите кое-что? решил создать пк3 из двух вадов, есть ли смысл рапспихивать их содержимое по папкам, как в любом нормальном пк3, или если закинуть в него пару вадов целыми, то ничего не изменится?
MyNameIs Не изменится. В пк3 архивы часто запихивают .wad'ы чуть ли не тоннами. Но, вроде как, есть случаи, что лучше сделать как в нормальном пк3. Если в тех вадах есть собственный keykonf, к примеру.
У меня немного устаревшая информация, но когда я раскладывал АЕОД из множества вад-файлов в единый pk3/pk7 - там удалось заюзать несколько подпапок в обоих случаях. Причём в SNDINFO достаточно указать только имя лампа без пути. Так что по крайней мере подпапка одного уровня поддерживается, но этого вполне достаточно.
проблема в том, что все равно придется париться, чтобы имена каждого спрайта/звука были разные (например не получится сделать, чтобы TROPA1, FOLDER1/TROPA1 и FOLDER2/TROPA1 были тремя разными звуками/спрайтами/фреймами)