Общепринятая структура такая (всё должно быть на английском, желательно -- ограничение по длине строки в 80 символов):
Скрытый текст:
===========================================================================
Advanced engine needed : Какой минимальный порт нужен для запуска игры;
Primary purpose : Для какого типа игры (Single play/Co-op/DM/...) в основном предназначается WAD.
===========================================================================
Title : Название (например, "Doom 2: Hell on Earth");
Filename : Название файла ("Doom2.wad");
Release date : Дата релиза (выхода продукта в свет);
Author : Никнейм автора;
Email Address : E-mail автора;
Other Files By Author : Если есть другие относительно известные *.WAD-файлы, сделанные тобой -- лучше написать их сюда;
Description : Описание *.WAD'а;
Additional Credits to : Указание, чью музыку/графику/код/порт/ресурсы ты использовал. Типа "Спасибо id software, Randy Heit, Graf Zahl за...".
===========================================================================
* What is included *
New levels : Количество новых уровней;
Sounds : Новые звуки;
Music : Новая музыка;
Graphics : Новая графика;
Dehacked/BEX Patch : Есть ли DeHackEd/BEX-файлы;
Demos : Есть ли демки (и под какой порт);
Other : DECORATE/ZScript/MapInfo/GameInfo и другие дополнительные lump'ы.
Other files required : Какие файлы нужны для наиболее точного восприятия твоего WAD'а.
* Play Information *
Game : Под какой IWAD строился этот PWAD;
Map # : Номер(а) карт(ы);
Single Player : Есть ли Single player-режим. Если "Создано для него" -- пишешь "Desinged for". Если не тестировал, но старты есть -- "Player sarts only";
Cooperative 2-4 Player : То же, но для кооператива;
Deathmatch 2-4 Player : То же, но для Deathmatch'а;
Other game styles : Есть ли другие типы игры;
Difficulty Settings : Есть ли меню выбора сложности.
* Construction *
Base : На базе чего ты делал свой WAD;
Build time : Сколько (по времени) делал WAD;
Editor(s) used : Какие редакторы использовал для создания (не только специализированные Doom'овские, Photoshop -- тоже редактор);
Known bugs : Известные баги в WAD'е;
May Not Run With : С каким портом (возможно) игра не пойдёт;
Tested With : Название/версия порта, под которым проходило тестирование WAD'а.
* Copyright / Permissions *
(Здесь -- описание, чего можно делать с этим файлом, чего нельзя. В основном -- такой текст):
Authors may NOT use the contents of this file as a base for modification or
reuse. Permissions have been obtained from original authors for any of their
resources modified or included in this file.
You MAY distribute this file, provided you include this text file, with no
modifications. You may distribute this file in any electronic format (BBS,
Diskette, CD, etc) as long as you include this file intact. I have received
permission from the original authors of any modified or included content in
this file to allow further distribution.
* Where to get the file that this text file describes *
Здесь -- ссылки, где можно получить *.WAD-файл по этому описанию.
[Add]: не успел до Serious_MOod'а, ну да ладно. Зато расписал всё...
В думе не тестил, но точно помню как некоторое время назад в думсдее запустил E5M1 еретика на skill4+fast, и заметил, что монстры ведут себя в разы менее агрессивно чем на skill5 (но более агрессивно чем на skill4 без fast), и когда спросил у автора порта, будет ли фикситься этот баг (моя цель была пройти игру на skill5 чтобы патронов было так же мало как на skill4), он сказал "это не баг, это ванильное поведение, запусти в ванили heretic.exe -warp 5 1 -skill 4 -fast и монстры тоже будут менее агрессивны чем на skill 5"
Но насколько я знаю, в здуме и гздуме переписали этот код и fastmonsters одинаковый на всех сложностях (ну если для первых 4 сложностей его принудительно врубать есесно)
DOOMEN Вопрос задан слишком широко. Нужно конкретнее наверно. А так, спрайты заменяются по принципу последовательной замены ресурсов подгружаемых модулей. Первым идёт IWAD (основной пак), далее PWAD (дополнительный). PWAD-ы - это собственно и есть моды. Они либо добавляют новые ресурсы путём внесения нового кода и материалов (графика, звуки, доп. код. и.т.д.), либо замены старых, путём подмены файлов с одинаковыми именами (или внесения изменения в существующий код). Кстати, большинство модов комбинируют и первое и второе. Фактически можно заменять и модифицировать как IWAD, так и PWAD, банально запуская дополнительные модули в соответствующем порядке (каждый следующий модуль дополняет предыдущие).
Так, чтобы заменить в моде спрайты актёра, нужно изучить его код и все его зависимости и получить полный список имён спрайтов используемых в нём, затем сделать замены их всех. И это при условии, что ресурсы не используются двумя и более актёрами. Могут быть ситуации, когда замена спрайтов одного актёра может и заменить у другого, если источник один и тот же. Так же нужно понимать, что случайно совпадение имён так же расценивается как замена ресурсов (но это уже при создании новых). Полученный материал нужно запаковать и запустить одновременно с существующими модулями (порядок определяется наличием модов использующих эти српайты, но замена обычно идёт после всех)
Делается всё это в любом редакторе: Slade, XWE, может ещё чего-то. См. утилиты, там они все есть. Структуру вадов проще посмотреть на примере, чем описать все извращения отдельных модеров. Могу сказать, что наиболее популярными являются wad и pk3 (статейки на англ. но там много полезной инфы, в статье про pk3 приводятся разные форматы, но в основном - это архивы). Они отличаются немного структурой внутри. В wad указываются маркеры (файлы с определёнными именами, которые указывают начало и конец группы ресурсов), в pk3 папки с именами.
Создание новых спрайтов не ограничивает в свободе, но требует знания языка программирования, так как без кода - это просто графический материал запакованный в оболочку. В любом случае нужно либо сделать копию кода существующего актёра и внести в него изменения, включая полную замену (через replaces) или написать код абсолютно нового актёра и внедрить его каким-либо образом (обычно замена существующего актёра на спавнер, то есть невидимого актёра, который с определённым шансом может либо оставить оригинал, либо заменить кого-либо нового, что полезно, если актёров много). Так что начни с Decorate. Советую накопать мануал какой-нибудь (был от zer0, но я его где-то потерял), тогда вопрос такого масштаба отпадёт и пойдёт уже конкретика.
По поводу "пошло бы на гозе" могу сказать одно - это всё зависит именно от кода. Спрайты здесь не причём. То есть тебе нужно смотреть именно то, что может конкретная версия и что поддерживает. Сравнить где различия и сделать так, чтобы не получилось ситуации что одна из не поддерживаемых фтич используется.
Как отключить всплывающее окно при старте портов GZDoom, ZDoom, Zandronum, Skulltag (и т.д) (там параметры: хардвэр или софтверный рендеринг, и ещё какие-то штуки)? Делаю лаунчер, для этих портов, и там известно какой порт выбран и запущен в данный момент. Мне надо одновременно и скрыть это окно, и при этом изменить те самые параметры перед запуском. Вообще там есть ini-файл, в котором есть все эти параметры(надеюсь), но я не знаю, какие строчки именно отвечают за эти параметры
Zendos можно через suspend, можно через ThingCount.
при саспенде просто вешаешь на врага вызов скрипта с этим саспендом в начале, скрипт вызывается, паузится и ждет своего вызова еще раз
ну и так несколько раз, чтобы на последнем враге саспенды кончились и он пошел дальше
но он вроде может не сработать, если одновременно вызовется несколько раз
если через ThingCount, то вызываешь скрипт, который будет крутиться и чекать количество нужных врагов.
типа того
Zendos Всё нижесказанное пишу в предположении, что "волна" относится к режиму игры Invasion.
Wiki говорит, что есть функции GetInvasionState и GetInvasionWave. В соответствующих статьях про них всё написано; использовать нужно так, как показал MyNameIs (в цикле с задержкой):
Script "InvasionStateHandler" OPEN { //Handler, ага
while (1) {
switch (GetInvasionWave()) {
case 1: //первая волна
if (GetInvasionState() == 4) { //первая волна закончилась
Door_Open(...);
}
break;
case 2: //вторая волна
//аналогично
break;
//...
}
Delay(1); //или 2; я бы 10 написал. Не знаю, насколько сильно это влияет на производительность.
}
}
Две проблемы, первая главная:
1) на скрине видно что при использовании 2 небесных текстур, первая(текстура клетки) сверху и снизу полупрозрачная. Для смешивания скаев использовал в мапинфо DoubleSky. Можно ли как-то избавится от полупрозрачности сверху и снизу?
Поскольку нижний скай вращается, то тупо создать одну текстуру из них не вариант чтобы избавиться от полупрозрачности.
2) При таком смешивании текстур чёрный цвет на решётке стал почему-то полностью прозрачным(что видно на заклёпках - дыры).
Можно ли эту проблему решить не перекрашивая чёрные пиксели и не пере заливая текстуру в вад?