makewad (wad3 compiler)

 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
makewad (wad3 compiler)

Описание
makewad это утилита для создания вадов в формате WAD3 (т.е. для GoldSrc и Xash3D). Особенностью утилиты является встроенный квантизатор, что позволяет подавать на вход 24-х и 32-х битные текстуры.
Программа понимает текстуры в формате tga и bmp. C системой подгрузки внешних текстур весь процесс по созданию вадов становится по сути системой генерации превью. Иными словами, полноцветные текстуры используются в игре, а их копии в ваде используют компиляторы для color bleeding и джекхаммер во время редактирования. Впрочем вы можете использовать утилиту просто для полноценного создания, редактирования и извлечения текстур из вадов. Поддерживаются три режима работы:
1. добавление новых текстур в вад (если вад еще не существует, то будет создан).
2. копирование текстур из одного вада в другой, с возможностью замены текстур.
3. извлечение текстур из вада в формате bmp или tga.

Документация
Утилита отвергает текстуры, в названии которых присутствует _spec, _gloss, _n, _nrm, _norm, _ddn, _normal, _luma, _mask и некоторые другие.
В вад попадают только диффузные текстуры.

Параметры командной строки
-input это самый главный параметр, который определяет режим работы. Здесь вы можете задать путь к ваду или путь к папке с текстурами.
Примеры:
-input C:\Xash3D\mymod\decals.wad\{*.mip - источник вад decals.wad маска для файлов, начинающихся с {. Расширение всегда должно быть .mip, другие форматы makewad не понимает.
-input D:\Sierra\Half-Life\valve\liquids.wad\*.mip - источник все текстуры из вада liquids. Разумется можно явно указывать имя текстуры, а не только маску.
-input E:\sources\textures\posters\*.bmp - источник текстуры в папке posters с расширением bmp. Если задать *.* то будут обработаны tga и bmp.

-output здесь мы указываем куда следует поместить текстуры из пути input.
Примеры:
-output mycool.wad - текстуры будут помещены в mycool.wad. Если в качестве источника указан другой вад, то текстуры будут перемещены из одного вада в другой. Если папка с bmp или tga, то текстуры будут загружены и проиндексированы (если они не 8-битные конечно).
-output bmp<tga> - будет создана папка по имени исходного вада и туда будут извлечены все текстуры, заданные по маске в параметре -input в заданном формате (bmp или tga). Режим bmp->tga или tga->bmp не поддерживается, поскольку это процессор вадов, а не внешних текстур.

-replace - по умолчанию, если в ваде уже имеется лумп с таким именем, то программа отвергает его замену. Данный ключ разрешает её.
-forcereplace - в случае если новый лумп не совпадает размерами со старым, то ключ -replace не поможет. Данный ключ позволяет принудительно ресэмплировать новую текстуру под размер старой.
-resize ( 10-200% ). Как правило исходные текстуры по своим размерам превышают спецификации, допустимые в WAD3. Тем более что индексация больших текстур ведёт к заметной деградации цвета. Данный ключ позволяет задать ресайз входных текстур в процентном соотношении. Скажем -resize 50 ужмёт входную текстуру 1024х1024 до 512х512, а текстуру 256х256 до 128х128. Без использования этого ключа текстуры будут просто подгоняться под лимиты WAD3.

Update at 23.12.2018
Небольшая доработка makewad, которая позволит создавать и редактировать gfx.wad и cached.wad. С этими двумя вадами не умеет работать ни одна программа и это весьма неудобно. Параметры не изменились, в качестве целевого можно указывать cached.wad или gfx.wad и по этим именам программа сама поймет, что мы имеем дело с графическими вадами для меню и консоли. Так же появилась возможность извлекать эти текстуры из вада (для этого вместо расширения .mip надо указывать расширение .lmp). И добавилась возможность конверсии tga->bmp, bmp->tga, bmp->lmp, tga->lmp ну вообщем все возможные комбинации из tga, bmp и lmp.
 

Вложения

Последнее редактирование:
 

fr1g0

Member
21.09.2006
301
13
18
Награды
0
27
Кишинёв.
Спасибо за утилиту.
Опробуем.

Кстати, отчего зависит сжатие текстуры (появление JPEG артефактов) в игре?
У меня только одна так выбивает - текстура песка 480x480.
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
Выложил небольшое обновление makewad. Старая версия так же доступна.
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 DrTressi: да, он самый, от Энтони Деккера. На мой взгляд это наилучший квантизатор из всех, что я когда-либо видел. Он на обучаемой нейросети работает.
 
 

FiEctro

Супер Модератор
Команда форума
28.07.2006
17 149
333
83
Награды
0
27
Эквестрия
Дядя Миша сказал(а):
2 DrTressi: да, он самый, от Энтони Деккера. На мой взгляд это наилучший квантизатор из всех, что я когда-либо видел. Он на обучаемой нейросети работает.
Ага, засирает четверть поллитры неиспользуемым мусором :bigsmile:
 
Последнее редактирование:
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 xDShot: алгоритм построения 8-битной палитры для полноцветного изображения. Весь смысл в том, чтобы подобрать 256 самых удачных цветов, что далеко не просто сделать.
 
 

nemyax

тндайпц тра
30.07.2015
641
24
18
Награды
0
В wally другой алгоритм используется? А то там мипки какие-то облезлые выходят.
 
 

FiEctro

Супер Модератор
Команда форума
28.07.2006
17 149
333
83
Награды
0
27
Эквестрия
2 nemyax:
Используй котошоповский, всё остальное как раз и даёт облезлый эффект, Дядемишин не исключение, хотя он довольно близок к фотошоповому по исполнению.
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 nemyax: стал бы я городить аггарот если бы меня устраивали текущие инстурменты? Я всегда пишу новый софт от безысходности, тому шо аналогов нету.
Я бы с удовольствием ничего не писал, а наоборот бы доказывал Баджеру пять преимуществ СССР перед капиталистическими странами, но пока не получается.

[ADDED=Дядя Миша]1545664805[/ADDED]
Да и Ксер такой же. Думаете стал бы он Джек писать, если бы Хаммер не логал?
 
Последнее редактирование:
 

nemyax

тндайпц тра
30.07.2015
641
24
18
Награды
0
Дядя Миша сказал(а):
Думаете стал бы он Джек писать, если бы Хаммер не логал?
Нельзя наверняка сказать, потому что сила Фатального Недостатка очень велика.
 
 

crystallize

Active member
06.06.2014
1 491
20
38
Награды
0
Дядя Миша сказал(а):
2 DrTressi: да, он самый, от Энтони Деккера. На мой взгляд это наилучший квантизатор из всех, что я когда-либо видел. Он на обучаемой нейросети работает.
Знания добытые в процессе обучения где-то в кэше хранятся?
 
 

nemyax

тндайпц тра
30.07.2015
641
24
18
Награды
0
FiEctro сказал(а):
всё остальное как раз и даёт облезлый эффект, Дядемишин не исключение
Хорошие мипочки у мейквада выходят, нинадатут. Не чета валлиевским.
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 crystallize: конечно, они пишутся в каждую картинку в виде палитры :)
 
 

xDShot

Well-known member
20.12.2010
1 826
44
48
Награды
0
Санкт-Петербург
Что не так? Почему оно мне не делает вад?

Код:
wine makewad.exe -input ./textures/*.bmp -output doom_hl.wad
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
		Image Quantizer & Wad3 creator
		   Xash XT Group 2018(c)


makewad: unknown option ./textures/+0BLODRIP.bmp
Usage: -input <wad|tga|bmp|lmp> -output <wadname.wad|tga|bmp|lmp> <options>

list options:
-replace - replace existing images if they matched by size
-forcereplace - replace existing images even if they doesn't matched by size
-resize - resize source image in percents (range 10%-200%)

		Press any key to exit[[email protected] DOOM]$
Оффтоп
 
 

xDShot

Well-known member
20.12.2010
1 826
44
48
Награды
0
Санкт-Петербург
nemyax сказал(а):
Оно не берёт инпут не из какой директории кроме текущей. Надо в неё предварительно cd.
Че за бред? То же самое.

[ADDED=xDShot]1546170471[/ADDED]
Через "досовский промпт" (wine cmd) заработало.
 
Последнее редактирование: