Автор | Сообщение |
Mr.Danisimo Recruit
 | 8 |
 Doom Rate: 1.14 Posts quality: +1 |
Отправлено: 21.07.25 18:15:04 | |
|
Прошу прощения, я вроде сейчас пробую UDMF, тестирую всё на GzDoom 4.11.3 |
|
|
| |
BeeWen Lieutenant Colonel
 |  | 3556 |
 Doom Rate: 1.59 Posts quality: +953 |
Отправлено: 21.07.25 22:46:48 | |
|
Mr.Danisimo пишет: | можно конечно тупо перекопировать все файлы, но оптимальный ли это способ? |
Ещё оптимальней создать их самому, но это требует определённых усилий. |
|
|
1 |
1 |
1 |
 |
|
| |
Герр Смертоносец - Warrant Officer -
 | 1081 |
 Doom Rate: 1.33 Posts quality: +955 |
Отправлено: 22.07.25 06:49:57 | |
|
Mr.Danisimo пишет: | Сап гайс, если есть кто, скажите как добавлять монстров в свой вад используя Slade 3, можно конечно тупо перекопировать все файлы, но оптимальный ли это способ? |
Mr.Danisimo пишет: | Прошу прощения, я вроде сейчас пробую UDMF, тестирую всё на GzDoom 4.11.3 |
Смотря что, откуда и куда добавлять.
- Если это готовый монстр с realm667, достаточно wad с монстром в pk3 засунуть, дальше интерпретатор сам разберётся, где какие файлы лежат.
- Если надо засунуть не в pk3, а в wad - придётся уже переносить отдельно спрайты (между S_START и S_END), отдельно звуки, отдельно руками переносить код из лумпов ZSCRIPT/DECORATE и SNDINFO.
- Если надо выдрать монстра из какого-то мода - опять же, придётся переносить всё вышеперечисленное руками, только теперь добавляется увлекательный квест: найти в чужой куче файлов все необходимые компоненты и ничего не забыть. И найти в чужой куче кода всё нужное, убрать всё ненужное, и чтобы ничего при этом не сломалось. Там бывают всякие неочевидные зависимости. В особо тяжёлых случаях и ACS-либу копировать придётся.
(И да, во всех случаях конфликты имён возможны, и ошибку это не вызовет. Просто один монстр вдруг чудесным образом перекрасится в другого с теми же именами ресурсов. Если конфликт произошёл - надлежит править файлы руками.)
После чего в MAPINFO пишется конструкция вида:
DoomEdNums
{
16000=Kozel
16001=Baran
16002=Korova
}
И всё, можно работать с ними в эдиторе. Чтобы работалось удобнее - прописать editor keys. |
|
|
5 |
 |
|
| |
Mr.Danisimo Recruit
 | 8 |
 Doom Rate: 1.14 Posts quality: +1 |
Отправлено: 22.07.25 11:48:49 | |
|
Герр Смертоносец пишет: | Если надо засунуть не в pk3, а в wad - придётся уже переносить отдельно спрайты (между S_START и S_END), отдельно звуки, отдельно руками переносить код из лумпов ZSCRIPT/DECORATE и SNDINFO. |
Спасибо Герр, помог |
|
|
| |
+Ku6EPyXOBEPTKA+ = Major =
 |  | 3075 |
 Doom Rate: 2.04 Posts quality: +1539 |
Отправлено: 30.07.25 20:33:48 | |
|
Возникла интересная проблема с ACS. В общем у меня большой массив данных запихан в одну ACS библиотеку и при попытке скомпилировать мне выдаёт просто шедевральную ошибку:
Too many strings. Current max is 32768
Причём я не понимаю природу ошибки. Если разделить массив в одной библиотеке, то всё равно будет ссылаться на лимит строк (похоже лимит общий для всех массивов с строковыми данными). Если убрать кусок массива до лимита, то будет ошибка ссылаться на следующее объявление любых данных с строковым значением. И я понимаю, если бы это были отдельно объявленные строки, но это же массив... карл. Да ещё вообще не понятно почему у меня возникает ошибка лимита далеко не в ожидаемой строке (массив из 4 элементов 37к строк, но ошибку даёт почему-то где-то в 16к, если пытаться скомпилить голый массив). В общем, есть ли какой-нибудь способ обойти этот бред?
Вынести массив в отдельные библиотеки и разделить тоже не получится, из-за того, что тогда не получится скомпилировать основную библиотеку (будет ругаться на необъявленные данные). Тут кстати другой вопрос, можно ли вообще делать ссылки на данные в других библиотеках? |
|
|
2 |
1 |
7 |
 |
|
| |
Герр Смертоносец - Warrant Officer -
 | 1081 |
 Doom Rate: 1.33 Posts quality: +955 |
Отправлено: 31.07.25 01:57:52 | |
|
+Ku6EPyXOBEPTKA+
+Ku6EPyXOBEPTKA+ пишет: | Тут кстати другой вопрос, можно ли вообще делать ссылки на данные в других библиотеках? |
Косвенным образом точно можно. Допустим, тебе ничего не мешает создать одной библиотекой некого особенного актора и напихать ему в какие-нибудь поля каких-нибудь параметров, чтобы другая библиотека их потом оттуда прочитала. Или можно CVar-ы использовать. Или, если у тебя там визуальная новелла с большими объёмами интерактивного текста - запихать каждый текст в отдельную либу отдельным скриптом, который вызывается спецактором. А в массив вместо талмудов положить имена этих спецакторов, получив таким образом эдакий массив указателей из спичек и желудей.
А ещё это всё можно через Strife Dialog Format замутить (гугли вики по тегу Conversation, каталогизировано оно омерзительно), где текст по умолчанию выносится в отдельные лумпы. |
|
|
5 |
 |
|
| |
+Ku6EPyXOBEPTKA+ = Major =
 |  | 3075 |
 Doom Rate: 2.04 Posts quality: +1539 |
Отправлено: 31.07.25 19:49:06 | |
|
Герр Смертоносец
У меня массив данных с именами изображений и номерами позиций и их ~37400 + к каждому ещё свойства 3 штуки (хотя на самом деле планировалось около 10-12 в общей сумме). В итоге матрица 37400х4. Через cvar кстати теоретически хорошая идея. Я думаю даже проще сразу генерировать ini файл (или CVARINFO) с массивом и просто обращаться к переменным, которые пишутся в нём (дать им какое-то обще имя и номер). Только вот беда, ini файл нужно будет отдельный генерить и привязать его как-то через autoexec, иначе просто усрёт существующий файл конфигурации + повторная генерация усрёт свеже сгенерированный файл, а значит в генераторе надо писать целую пачку кода на чтение этой херни по типу проверки на стоп слово. Но это будни программистского онанизма, они уже мало кого волнуют.
CVARINFO наверно более подходит.
А что касаемо библиотек, как их связать то между собой, есть варианты? Просто было бы проще, если можно было распихать по несколько библиотек и делать свитч с массива на массив при достижении верхнего предела (геморрно, но вполне реализуемо). Вот только беда, если компилить .o то ACC посылает на вертолёт, и говорит что в душе не дрюнькает, к какому такому массиву заставляют обращаться. #include не помог, хотя надежды были. Может просто делаю что-то не так. Я вот думаю: а zcommon.acs тоже ведь как-то собирается. Может там есть вариант объявлять?
Хотя может быть всё гораздо прозаичнее и это в принципе хард лимит в 32к и потом куда не пихай везде будет вылетать с фаталом - очередная утка с проверками. |
|
|
2 |
1 |
7 |
 |
|
| |
unnamed_profile Recruit
 | 2 |
Doom Rate: 2
|
Отправлено: 03.08.25 21:30:47 | |
|
Доброго времени суток, джентельмены. Извиняйте за сумбур, сразу несколько вопросов накидаю.
1) Хочу сделать свой мод на GZDoom, не просто мапу а замахнулся на целый total conversion. Есть ли смысл вкатываться с абсолютно нулевыми познаниями в программировании и пиксель-арте? Я обычный человек с работой и кучей всяких дел, поэтому могу только в свободное время (коего мало) заниматься этим как хобби. Такое реализуемо или без базы по программированию ловить нечего?
2) Можно ли делать мапы на GZDoom взяв за основу brutal doom?
Я пробовал реализовать какие-то свои идеи, стоит чему-то получиться как тут же возникает ещё более сложный вызов, с которым непонятно что делать и у меня порой опускаются руки, поэтому на всякий пожарный я прикинул вариант просто делать для себя мапы и гонять по ним в брутале. Попробовал загрузить брутал в GZDoom Builder и мапить на его основе и у меня вылезло 280+ всяких ошибок и предупреждений.
3) Каким образом можно сделать анимацию стрельбы и ударов более быстрой и динамичной? |
|
|
| |
Shadowman UAC General
 | 8800 |
Doom Rate: 2.05 Posts quality: +2310 |
Отправлено: 03.08.25 21:42:36 | |
|
unnamed_profile пишет: | Хочу сделать свой мод на GZDoom, не просто мапу а замахнулся на целый total conversion. Есть ли смысл вкатываться с абсолютно нулевыми познаниями в программировании и пиксель-арте? Я обычный человек с работой и кучей всяких дел, поэтому могу только в свободное время (коего мало) заниматься этим как хобби. |
Для начала советую просто освоить дум билдер и сделать пару-тройку обычных карт для дума - без добавления новых врагов, текстур, музыки. Потренироваться в картостроении, понять базовые принципы, как работают экшены и т.п.
Потом можно научиться добавлять новые текстуры, заменять спрайты стандартных объектов (без замены их поведения).
А вот потом уже можно приступать к тотал конверсиям. Знание программирования не требуется для простых случаев, вся механика описано в zdoom wiki
Но надо будет определиться с форматом. Если тотал конверсия - то это на 99,9% здум/гздум.
unnamed_profile пишет: | 2) Можно ли делать мапы на GZDoom взяв за основу brutal doom? |
Можно, но категорически не советую. Лучше выкинуть богомерзкий брутал дум нафиг, делать нормальные карты для обычного дума (и гздума). Брутал дум только уведет в сторону от истинного творчества.
unnamed_profile пишет: | 3) Каким образом можно сделать анимацию стрельбы и ударов более быстрой и динамичной? |
См. ссылку выше по здум вики. В классике тоже можно, но там через дехакед регулируется длительность состояний анимаций. И для начинающего возня с дехакедом на мой взгляд сложнее, чем прописывание кода по стандарту в здуме. |
|
|
1 |
7 |
2 |
 |
|
| |