Добрый день всем присутствующим! Как известно, моды оружия могут только заменять существующее оружие, так как добавление нового оружия на пустые места в панели оружия неосуществимо через твики, и требует изменения самой программы. Так вот, я как бы нашёл, что и где нужно менять.
К посту прилагаю демонстративный мод, затыкающий дырки в панели оружия (не считайте его настоящим модом: оружия сделаны наспех и довольно ужасны), а также инструкцию, что менять, чтобы сделать свой, настоящий мод, с новыми оружиями.
Патч самой программы сделан поверх кряка от RELOADED образца 2006 года(он у вас в файлах лежит), т.к. оригинальный бинарник W4M зашифрован и старфорс всё равно не даст его изменить.
Помимо добавления новых иконок на панель оружия, информация, что я нарыл, позволяет менять местами уже существующие и изменять тип оружий (огнестрельное, рукопашное и т.д.).
Что я не сделал: не реализовал возможность полноценно задавать количество и задержку нового оружия. Слишком сложно. Решение, которое я предлагаю: выбрать несколько старых оружий (в моём примере это Bazooka, Grenade, Skip Go и Surrender) и сделать их всегда доступными и бесконечными, а количество и задержку этих четырёх оружий перенести на новые. Я также не реализовал добавление новой 3D-графики (*.xom), но это не проблема, так как всегда можно заменить один из редко используемых существующих файлов (я заменил кролика (боеприпас оружия команды) на пайпган и всё работает).
Создание своего патча/мода требует знакомства с каким-нибудь бинарным редактором, что, возможно, не для всех -- поэтому, если кто-то считает себя крутым программистом, было бы неплохо написать GUI с более человечным интерфейсом, создающий патченый бинарник на полуавтомате.
Tomsod, это очень интересно. У нас никто этого еще не смог сделать. Можешь написать небольшое описание, что и как ты патчишь через гекс эдитор?
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
Фирс, будешь новые оружия в renewation добавлять с этой прогой?
вряд ли этим есть желание заниматься. Тем более, что оружие новое там и так есть, просто с заменой для разных режимов.
ЦитатаTomsod ()
Да, я добавил в архив файл с детальным описанием каждого байта моего патча. Если что непонятно, спрашивайте.
А, не подумал туда заглянуть) Интересно. Для меня остается загадкой, как до таких штук допереть можно, для меня это как расшифровка ДНК) Попадалось ли еще что интересное в этом патче? Очень не хватает фикса ограничений занимаемой игрой памяти. В Worms 3d эти лимиты удавалось фиксить, прописаны в exe, в Worms 4 они зашифрованы. Алекс мне кидал, как они в W3d выглядят:
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
Для меня остается загадкой, как до таких штук допереть можно, для меня это как расшифровка ДНК)
Ну, я, конечно, работал не в обычном бинарном редакторе, а в дизассемблере (IDA Pro) с дебаггером. Но нарытые мной таблицы можно и без них править.
Цитатаfirsacho ()
Очень не хватает фикса ограничений занимаемой игрой памяти. В Worms 3d эти лимиты удавалось фиксить, прописаны в exe, в Worms 4 они зашифрованы.
В W4M вообще всё зашифровано, потому что старфорс. Я-то уже крякнутый бинарник патчил, а без кряка там и правда ДНК! Я, может, потом погляжу на предмет этих строк в спойлере.
я, конечно, работал не в обычном бинарном редакторе, а в дизассемблере (IDA Pro) с дебаггером
а, вот в чем дело) может потом из интереса порою эту тему, хотя сейчас собственно это мне уже не актуально)
ЦитатаTomsod ()
Я, может, потом погляжу на предмет этих строк в спойлере.
Было бы здорово.
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
В W4M вообще всё зашифровано, потому что старфорс. Я-то уже крякнутый бинарник патчил, а без кряка там и правда ДНК! Я, может, потом погляжу на предмет этих строк в спойлере.
американская версия игры вроде бы без старфорса, но её нигде не достать оба экзешника есть OpenSpy Patch'е, там одна версия крякнута RELOADED и требует protect.dll, а другая американская запускается как есть
Это интересно, будет мне надо посмотреть в дизассемблере какую ты функцию поменял. Жаль, что у меня уже нет мотивации чтобы заниматься червями.
Добавлено (09.06.2019, 22:38:53) --------------------------------------------- Tomsod, В Worms 3D это работает немного по другому, но я нашел все функции. Зто оригинальное оружие созданное компанией Team17. Модель оружия и твики можно найти в версии на GameCube. Оружие использует класс PayloadWeapon и логику DragonballPayloadLogicEntity