.WAD

Поделись знанием:
(перенаправлено с «WAD»)
Перейти к: навигация, поиск
Doom WAD
Тип формата

данные

.WAD (по утверждению id Software, происходит от англ. Where’s All the Data; слово wad также имеет самостоятельное значение — «ком», «комок», «пачка», напр. специальная пуля для спортивной стрельбы, аккуратно высекающая из мишени круглый бумажный комочек, называется wadcutter) — архивный формат файлов, который использовался в компьютерных играх, основанных на движке Doom: Doom, Doom 2, Final Doom: The Plutonia Experiment, Final Doom: Evilution, Heretic, Hexen и некоторых других, для хранения игровых ресурсов (текстур, музыки, звуков и других). Формат ресурсов, помещаемых в такой файл, может подразумевать сжатие. Сам формат не предоставляет возможности сжатия, хотя по своей структуре допускает возможность создания нескольких ссылок в заголовке на один фактический ресурс, что позволяет избежать дублирования ресурса, целиком сводящегося к полному или частичному повторению другого ресурса. В силу экзотичности такой ситуации случаи практического использования этой возможности неизвестны.





Описание формата

Ресурсы хранятся в именованных блоках (англ. lump), имена, размеры и местоположение в файле которых хранится в каталоге — таблице размещения ресурсов, располагающемся, как правило, в конце файла, хотя каталог может располагаться где угодно.

Каталог состоит из 16-байтовых записей, либо описывающих блоки данных, либо являющихся маркерами. Каждая запись состоит из трёх полей: 4-байтовое смещение начала блока относительно начала файла, 4-байтовая длина блока (для маркера поле равно нулю) и восьмисимвольное имя (см. Стандарт 8.3) блока, дополняемое нулями до 8 байт.

.WAD-файл имеет 12-байтовый заголовок, состоящий из трёх 4-байтовых частей: сигнатура, число записей каталога и смещение начала каталога относительно начала файла.

Сигнатура обычно бывает двух типов (для игр, использующих движок Doom и производные):

  • IWAD — основной файл игровых ресурсов (англ. Internal WAD — «внутренний WAD»).
  • PWAD — подключаемый файл (англ. Patch WAD — «заплаточный WAD»).

Существуют также другие сигнатуры, в частности WAD2, используемый в игре Quake. Такие файлы, как правило, имеют другой (расширенный) формат каталога.

Маркеры используются для отметки группы блоков, которые игровой движок считает идущими в строго определённой последовательности. К примеру, данные уровня начинаются маркером ExMy для DOOM и Heretic, x — номер эпизода, y — номер уровня, либо MAPxx для DOOM 2 и Hexen, xx — номер уровня. Теоретически, имя блока может быть любым, допустимым в имени файла файловой системы FAT. Затем идут блоки данных уровня в строго определенной последовательности: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS, REJECT, BLOCKMAP. В Hexen также присутствует блок BEHAVIOR, содержащий скрипты.

Когда подключаются PWAD-файлы, игровой движок помещает их каталоги в начало списка, так, что при поиске содержащиеся в них блоки будут обнаружены первыми. Таким образом, не меняя основного файла, можно заменить практически любой игровой ресурс (карты, спрайты, текстуры).

Ограничения оригинального движка

В оригинальном движке существует проблема, связанная с использованием маркеров: все спрайты и текстуры полов и потолков должны располагаться между специальными маркерами: S_START и S_END для спрайтов и F_START и F_END для текстур полов и потолков, и-за чего требуется помещение всех блоков вместе с маркерами из IWAD-файла в PWAD-файл, что сказывается не только на удобстве использования, но и на проблемах при распространении (оригинальная игровая графика, как правило, защищена авторскими правами). Для устранения этой проблемы существуют специальные программы, создающие нужные PWAD-файлы уже у конечного пользователя, обладающего необходимым IWAD-файлом. В современных портах эти ограничения устранены.

Дальнейшее развитие

В более поздних играх от id Software, начиная с Quake, была разработана другая технология хранения игровых ресурсов, основанная на совместном использовании файловой системы операционной системы и полноценных архивных файлов, содержащих срез файловой системы. При поиске ресурса файл сначала ищется в файловой системе в определённых папках; если он не находится, то начинается просмотр списка архивов. Таким образом, модификация игрового ресурса становится максимально простой: нужно просто положить нужный файл в нужное место на диске. А архивы позволяют не засорять папки файловой системы множеством мелких файлов. Quake также использует и .WAD-файлы: текстуры хранятся в файле gfx.wad, который, в свою очередь, упакован в архив pak0.pak.

Данная технология используется и поныне во многих современных играх, не только от id Software.

Напишите отзыв о статье ".WAD"

Ссылки

[doomwiki.org/wiki/WAD WAD — The Doom Wiki at doomwiki.org][неавторитетный источник?]

Примечания


Отрывок, характеризующий .WAD

Когда Наполеону с должной осторожностью было объявлено, что Москва пуста, он сердито взглянул на доносившего об этом и, отвернувшись, продолжал ходить молча.
– Подать экипаж, – сказал он. Он сел в карету рядом с дежурным адъютантом и поехал в предместье.
– «Moscou deserte. Quel evenemeDt invraisemblable!» [«Москва пуста. Какое невероятное событие!»] – говорил он сам с собой.
Он не поехал в город, а остановился на постоялом дворе Дорогомиловского предместья.
Le coup de theatre avait rate. [Не удалась развязка театрального представления.]


Русские войска проходили через Москву с двух часов ночи и до двух часов дня и увлекали за собой последних уезжавших жителей и раненых.
Самая большая давка во время движения войск происходила на мостах Каменном, Москворецком и Яузском.
В то время как, раздвоившись вокруг Кремля, войска сперлись на Москворецком и Каменном мостах, огромное число солдат, пользуясь остановкой и теснотой, возвращались назад от мостов и украдчиво и молчаливо прошныривали мимо Василия Блаженного и под Боровицкие ворота назад в гору, к Красной площади, на которой по какому то чутью они чувствовали, что можно брать без труда чужое. Такая же толпа людей, как на дешевых товарах, наполняла Гостиный двор во всех его ходах и переходах. Но не было ласково приторных, заманивающих голосов гостинодворцев, не было разносчиков и пестрой женской толпы покупателей – одни были мундиры и шинели солдат без ружей, молчаливо с ношами выходивших и без ноши входивших в ряды. Купцы и сидельцы (их было мало), как потерянные, ходили между солдатами, отпирали и запирали свои лавки и сами с молодцами куда то выносили свои товары. На площади у Гостиного двора стояли барабанщики и били сбор. Но звук барабана заставлял солдат грабителей не, как прежде, сбегаться на зов, а, напротив, заставлял их отбегать дальше от барабана. Между солдатами, по лавкам и проходам, виднелись люди в серых кафтанах и с бритыми головами. Два офицера, один в шарфе по мундиру, на худой темно серой лошади, другой в шинели, пешком, стояли у угла Ильинки и о чем то говорили. Третий офицер подскакал к ним.
– Генерал приказал во что бы то ни стало сейчас выгнать всех. Что та, это ни на что не похоже! Половина людей разбежалась.
– Ты куда?.. Вы куда?.. – крикнул он на трех пехотных солдат, которые, без ружей, подобрав полы шинелей, проскользнули мимо него в ряды. – Стой, канальи!
– Да, вот извольте их собрать! – отвечал другой офицер. – Их не соберешь; надо идти скорее, чтобы последние не ушли, вот и всё!
– Как же идти? там стали, сперлися на мосту и не двигаются. Или цепь поставить, чтобы последние не разбежались?
– Да подите же туда! Гони ж их вон! – крикнул старший офицер.
Офицер в шарфе слез с лошади, кликнул барабанщика и вошел с ним вместе под арки. Несколько солдат бросилось бежать толпой. Купец, с красными прыщами по щекам около носа, с спокойно непоколебимым выражением расчета на сытом лице, поспешно и щеголевато, размахивая руками, подошел к офицеру.
– Ваше благородие, – сказал он, – сделайте милость, защитите. Нам не расчет пустяк какой ни на есть, мы с нашим удовольствием! Пожалуйте, сукна сейчас вынесу, для благородного человека хоть два куска, с нашим удовольствием! Потому мы чувствуем, а это что ж, один разбой! Пожалуйте! Караул, что ли, бы приставили, хоть запереть дали бы…
Несколько купцов столпилось около офицера.
– Э! попусту брехать то! – сказал один из них, худощавый, с строгим лицом. – Снявши голову, по волосам не плачут. Бери, что кому любо! – И он энергическим жестом махнул рукой и боком повернулся к офицеру.
– Тебе, Иван Сидорыч, хорошо говорить, – сердито заговорил первый купец. – Вы пожалуйте, ваше благородие.
– Что говорить! – крикнул худощавый. – У меня тут в трех лавках на сто тысяч товару. Разве убережешь, когда войско ушло. Эх, народ, божью власть не руками скласть!
– Пожалуйте, ваше благородие, – говорил первый купец, кланяясь. Офицер стоял в недоумении, и на лице его видна была нерешительность.
– Да мне что за дело! – крикнул он вдруг и пошел быстрыми шагами вперед по ряду. В одной отпертой лавке слышались удары и ругательства, и в то время как офицер подходил к ней, из двери выскочил вытолкнутый человек в сером армяке и с бритой головой.
Человек этот, согнувшись, проскочил мимо купцов и офицера. Офицер напустился на солдат, бывших в лавке. Но в это время страшные крики огромной толпы послышались на Москворецком мосту, и офицер выбежал на площадь.
– Что такое? Что такое? – спрашивал он, но товарищ его уже скакал по направлению к крикам, мимо Василия Блаженного. Офицер сел верхом и поехал за ним. Когда он подъехал к мосту, он увидал снятые с передков две пушки, пехоту, идущую по мосту, несколько поваленных телег, несколько испуганных лиц и смеющиеся лица солдат. Подле пушек стояла одна повозка, запряженная парой. За повозкой сзади колес жались четыре борзые собаки в ошейниках. На повозке была гора вещей, и на самом верху, рядом с детским, кверху ножками перевернутым стульчиком сидела баба, пронзительно и отчаянно визжавшая. Товарищи рассказывали офицеру, что крик толпы и визги бабы произошли оттого, что наехавший на эту толпу генерал Ермолов, узнав, что солдаты разбредаются по лавкам, а толпы жителей запружают мост, приказал снять орудия с передков и сделать пример, что он будет стрелять по мосту. Толпа, валя повозки, давя друг друга, отчаянно кричала, теснясь, расчистила мост, и войска двинулись вперед.