| Автор | Сообщение | 
|---|
| ZZYZX - UAC Commissar -
 
 |  |  |  | 6284 | 
  Doom Rate: 1.65
 Posts quality: +1633
 | |  Отправлено: 14.07.15 22:08:15 |  |  |  |  | Собственно, сабж. Вдохновлялся злым вемодом и результатами ручной сборки 12 уровней в 1 файл.
 
 Написано на питоне. Дополнительных модулей не требует.
 Питон можно скачать здесь: https://www.python.org/downloads/
 Выбирать версии 2.7.x.
 Ссылка: https://github.com/jewalky/wadstomp
 
 Пример использования скрипта для сборки spd15.wad из fixmaps.zip:
 Свитчи -iwad, -file работают так же как в думе.
 Свитч -map определяет название карты, которую нужно вытащить. Карта берётся последняя из всех загруженных вадов.
 Свитч -outmap определяет название карты после вытаскивания, если такая уже есть — будет заменена.
 Свитч -out указывает файл, в который сохранять.
 
 
 Результат, если кому интересно: http://www.mediafire.com/download/qkce3mrb4142j69/spd15.wad
 (буду очень благодарен, если кто-нибудь там пробежится с ноклипом и подтвердит, что все текстуры на своих местах; свитчи на MAP09 точно работают)
 
 Фичи:
 1) Удаляет неиспользуемые текстуры в процессе (если точнее, он их банально не копирует).
 2) Не заменяет изображения из IWAD. Никогда. В том плане, что текстуры переименовываются.
 3) Мерджит ANIMATED и SWITCHES.
 4) Идентичные текстуры старается тоже просто так не плодить, сливает с существующим контентом (идентичные = MD5 от всех патчей текстуры совпало с MD5 от всех патчей другой текстуры, или два флэта совпали). Реюзает патчи.
 5) Читает TEXTURE1, TEXTURE2, F_* и FF_*. Пишет только TEXTURE2 и FF_*.
 6) Копирует музыку для карт MAP01..MAP32 или E1M1..E3M9. Отдельная музыка для E4M# не поддерживается по техническим причинам.
 
 Баги (?):
 7) Работает ДОЛГО вследствие активного (от слова везде) подсчёта MD5. Это сделано чтобы можно было совсем не ориентироваться на всяческие названия и мерджить идентичный контент.
 8) swan_defswani.dat используется скриптом для узнавания ванильных анимаций/свитчей (то есть например тупая замена BLOOD1/BLOOD3 файлов для перекраски). Свитчи из некоторых IWAD'ов там не прописаны.
 Чтобы каждый раз не трогать основной файл, название файла можно менять свитчом -defswani. Т.е. например сделать (самостоятельно) swan_plutonia.dat и подключать его через -defswani swan_plutonia.dat
 9) 2/3 кода писалось интуитивно и с минимальным участием сознания, а половина вообще вчера ночью, поэтому КАК оно работает я уже не помню (серьёзно). И вообще код лапшой висит.
 
 Тестировалось на примере вемодовского спидмапа и в prboom-plus.
 В ванили собранные вады с большой вероятностью не работают (или определённые их аспекты). Спасибо Арчи за уточнение.
 
 
 Ня.
 |  | 
 | 
 | 
| | 
| 2 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 28.07.17 22:46:39 |  |  |  |  | Очень крутая штука! 
 Если я не ошибаюсь, в программе не хватает исключения для флэта F_SKY1. Его копии с другим названием ни в коем случае не надо создавать, а то это портит всё небо в уровнях. Лучше просто использовать первый попавшийся везде.
 |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| ZZYZX - UAC Commissar -
 
 |  |  |  | 6284 | 
  Doom Rate: 1.65
 Posts quality: +1633
 | |  Отправлено: 29.07.17 20:13:31 |  |  |  |  | Охъё. Это баг. С другой стороны, кто рисует собственный F_SKY1  |  |  | 
 | 
| | 
| 2 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 29.07.17 22:38:22 |  |  |  |  | Ну некоторые заменяют т. к. дефолтный не особо приятный на вид.) |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 05.08.17 04:29:39 |  |  |  |  | Да, ещё было бы круто автоматически добавлять переименованные свитчи в ламп SWITCHES чтобы они анимировались. А то сейчас вроде только вручную? |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| ZZYZX - UAC Commissar -
 
 |  |  |  | 6284 | 
  Doom Rate: 1.65
 Posts quality: +1633
 | |  Отправлено: 05.08.17 09:50:19 |  |  |  |  | Добавляются, насколько я знаю. |  |  | 
 | 
| | 
| 2 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 05.08.17 12:51:58 |  |  |  |  | Хмм, вот на примере этого вада: https://www.doomworld.com/idgames/levels/doom2/j-l/legobase Делаю wadstomp.py -iwad doom2.wad -map MAP01 -out testik.wad -file legobase.wad -outmap MAP01
 Конфликтующие свитчи переименовываются в SW1S0000 и так далее, но в SWITCHES я их что-то не вижу.
 |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 15.08.17 13:15:17 |  |  |  |  | И вот ещё проблема, не знаю можно ли легко починить. Берём Деус Вульт: https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/dv Делаем: wadstomp.py -iwad doom2.wad -map MAP01 -out testik.WAD -file DV.wad -outmap MAP01
 И в яме получается такое, хотя должно быть вот так. Видимо замена дефолтных анимаций как-то путает программу. Приходится потом руками править.
 |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| ZZYZX - UAC Commissar -
 
 |  |  |  | 6284 | 
  Doom Rate: 1.65
 Posts quality: +1633
 | |  Отправлено: 15.08.17 15:37:15 |  |  |  |  | Походу там вообще немного анимации со свитчами сломаны в этом плане. Гляну. |  |  | 
 | 
| | 
| 2 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 05.10.17 19:30:31 |  |  |  |  | Ну как, что-нибудь получается там? Хочу ещё сборочки делать.) |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  | 
| Memfis = Colonel =
 
 |  |  | 4755 | 
  Doom Rate: 1.8
 Posts quality: +702
 | |  Отправлено: 25.11.17 16:53:00 |  |  |  |  | Мяу... |  |  | 
 | 
| | 
| 1 | 2 | 1 |  |  | 
 |  |