Это не преобразование, а тупо сжатие. Преобразовать wad -> pk3 значит создать зип архив и раскидать лумпы (т.е звуки, спрайты, етц..) из вада по папкам, все остальное в корень архива.
В этом способе даже есть минусы
1. txt к своему ваду не подложишь, т.к. pk3 распаковывать не нужно и никто не догадается что он внутри
2. если txt положить отдельно и всё это запаковать в zip - размер архива получится больше, чем если бы это был только wad и txt в одном архиве
3. использовать максимальное сжатие не получится т.к. это повлияет на быстродействие при загрузке и игре
Если бы тут был хотя бы перевод этой статьи, тема была бы полезна...
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) и у меня всё работает.
А разве есть разница? Я использую часто маленький регистр, иногда с большой буквы начинаются имена папок и иногда большими буквами подписываю, в общем смесь и все работает.