| Разработка и ромхакинг > Ромхакинг |
| [SMD] Dune: The Battle for Arrakis |
| << < (459/482) > >> |
| KASAISru:
:-\ Да , я конкретно засел за это дело . Потратив неделю на изучение всего . уже рисую карты из 36 половина готова . +добавлены новые юниты в ПВП . Так как я не могу включить 4 дома пришлось раскидать их для игры , пощупать , в 3 дома . из критичного нет возможности привязать работоспособность ракетных турелей к ветрякам ( нет энергии - нет ПВО ) кусок кода просто не дают =((( боятся конкуренции смешные .... отдельная история это все короче. с другой стороны это стимул научиться самому . я с вами надолго короче ))) в остальном же проблем которые меня жестко кошмарят пока нет . кроме редактора карт который плохо форматирует дюны и вообще дюны ставлю на карте с помощью AMC . P.S не ожидал что так быстро ответят мне я думал тут все очень грустно и редко пишут . всем еще раз спасибо . Дюну в массы ! Добавлено позже: --- Цитата: Razor от 13 Октября 2024, 18:31:13 --- --- Конец цитаты --- Насчет продажи зданий прикручу к ПВП =)))) это просто инфо бомба для рассуждений ребятам... |
| dimidrol:
KASAISru, А как же редактор DuneMapEditor от R57Shell? Там можно прям мышью по экрану рисовать, в том числе и дюны. А если не нравится как работает, то можно найти на просторах интернета исходник и переписать код как надо. Там правда нужна какая-то определённая версия QtCreator, уже не помню. Так что при желании всё можно сделать. 4ый, 5ый и хоть 10ый дом можно сделать, правда очень колхозно. Сделать кучу ромов, где будут все нужные дома во всех вариантах противостояния. Типа так: 1)atr+ord+hark первый ром 2)atr+ord+sard второй ром 3)atr+hark+sard третий 4)hrk+ord+sard четвёртый А чтобы игроков не мучать надо написать лаунчер для меднафена в котором вводишь свой ник, выбираешь сервер и дом за который хочешь играть, ну и всё остальное. По итогу у тебя будет запускаться эмулятор с нужными параметрами и нужным ромом. |
| KASAISru:
а вот кстати вот это интересный вопрос . короче залез в INCLUDE pvp И r82 сравниваю че допиливали значит . интересует вот эта строка че она делает . не смог разобраться как тут вставить картинку . так что вот КОД --> map_load_modify dc.b MAP_LOADMODIF ; меняет блоки b0->7f и c0->bf при чтении карты ( че делает эта замена ???) и вот этого небыло в пвп прикручивать стоит или нет ? test_house_flg: dc.b TEST_HOUSE include gfx\mentat\mentat.asm Добавлено позже: \DUNEHACK_VS_REBUILD\INCLUDE.ASM(34) : Error : Symbol 'map_loadmodif' not defined D:\DUNEHACK_VS_REBUILD\INCLUDE.ASM(35) : Error : Symbol 'test_house' not defined D:\DUNEHACK_VS_REBUILD\INCLUDE.ASM(1360) : Warning : Forward reference to redefinable symbol после прикручивания ром собирается но 3 ошибки вот таких Добавлено позже: Illegal value (803028) vs_maps_count: dc.w vs_maps_count D:\DUNEHACK_VS_REBUILD\MISSIONS\MISSIONS.ASM(1) : Error : Label 'vs_maps_count' multiply defined vs_maps_count = 36 вот это пишет компилятор после изменения 1360 строки vs_maps_count: dc.w VS_MAPS_COUNT (стало) vs_maps_count_: dc.w VS_MAPS_COUNT (было) если возвращаю появляются обратно 3 ошибки выше. че это за значение 803028 ????? зная это можно наверно починить. такой вот он допил Добавлено позже: а понял 1360 строка ссылается на кол-во карт 36 переопределяемый символ .... Но собирает ром . ясно понятно Добавлено позже: По поводу такой схемы это конечно здорово . но как то уже сделали 4 дом в одном роме . а так делая обнову . это ж сколько надо пересобирать ромов с игрой )))))) что бы все было одинаково по балансу ))) Добавлено позже: по поводу продажи зданий кое что еще хотелось бы узнать . а можно сделать эту фишку только без продажи очистителя ???? который будет приносить харв .... |
| SeregaZ:
по поводу MAP_LOADMODIF - так было в оригинале. то есть физически в файле ландшафта были одиночные блоки спайса и жирспайса, но игра заменяла их. мы не знаем логику древних, но может быть это было сделано чтобы харвестер проще находил залежи спайса и игра меньше тормозила... тайна, покрытая мраком. в сборщике сделана вариация - можно включить, чтоб прям как в оригинале - эти блоки затирались, а можно выключить и тогда карта будет выглядеть так-же как нарисована в файле ландшафта. по поводу TEST_HOUSE - точно не помню, но кажется это сделано для быстрого старта игры, без логотипа Сега, без меню, без выбора дома. типа дом уже сразу выбран в этой переменной и если есть TEST_MISSION или как-то там, я не помню точно, то сразу помимо дома стартанет еще и выбранную миссию - это удобно для тестов, что ром собрался, запустился в эмуляторе и сразу бой на этой карте. не нужно проматывать менюшки и прочее. |
| Lipetsk:
Dune Dosmod был перенесен на сборку Dunehack_Rebuild R82С 13.10.2024 от Ti_ и обновился до 06 версии Взятые в качестве исходных миссии/ландшафты/текст/баланс DOS версии Дюны, доработаны для игры на сборке "DuneHack_Rebuild_rXX" от Ti_, исправлены недочёты DOS версии Дюны, доработан геймплей для играбельности и атмосферности. Лучшее из изменений в сборке: + поддержка динамической CD музыки; + юнитов теперь забирают на ремонт в режиме охраны местности; + введены множители урона; + продажа здания на Mode+X; + сумма локальных лимитов для ИИ-противников; + тимсы можно отвязать от типа передвижения юнитов; + добавлен экран блокировки при запуске 480x464 рома на обычном эмуляторе; + исправлено неправильное отображение надписи Credits Low во время запуска Death Hand; + при попытке заказать недоступный юнит или здание проигрывается звук ошибки, а не постройки; Изменения в самом моде направлены на улучшение играбельности и атмосферности: + добавлена динамическая музыка при игре с CD музыкой, 3 русские озвучки за разные дома - предоставил Razor; + пехота теперь слаба к пулемётному огню, но имеет сопротивление к танковым снарядам. Танки имеют слабость к миниракетам, червь имеет слабость к звуковым волнам; + доработка стройки юнитов ИИ: теперь строятся все типы юнитов (соответственно возвращены бараки на миссии, где были убраны и базы более соответствуют Досовским, центр IX теперь производит спецюнитов); + убраны/сокращены тимсы и они не зависят от типа передвижения юнитов, убран девиатор из тимс; + увеличен локальный лимит юнитов с 4 миссии до максимального, лимиты ИИ суммируются (особенно актуально для 8-9 миссий); + ветряк теперь вырабатывает 100->125 энергии (чтобы хватало энергии для ИИ на последних миссиях, там были убраны "лишние"); + в качестве облегчения, на 8 миссии Ордосов харконненский десант теперь как в ДОСе на 30 мин. (был на 14-й); + увеличена значимость космопорта (ускорена пополняемость юнитов). Ссылка на мод: https://disk.yandex.ru/d/7-6ns4APTj1i0g Все, кто помогал, найдете себя в титрах. Обнаружили баги/ошибки, пишите! Не забывайте про наши стримы на https://www.youtube.com/Romhack Группа мода в VK: https://vk.com/dune2_by_lipetsk |
| KASAISru:
И снова всем привет . смотрю форум кипит . это радует ребят нашел кусок кода отвечающий за авиацию AI_share_limit: dc.b 1 ; использовать общий лимит юнитов для ИИ (сумма локальных лимитов ИИ в файле миссий). carryalls_max_m01_06: dc.b 6 ; макс кэрриолов на дом для миссий 1-6. carryalls_max_m07_09: dc.b 4 ; макс кэрриолов на дом для миссий 7-9. thopters_orka_max: dc.b 4 ; макс сумма боевых самолётов на дом. carryalls_cnt_as_thopter: dc.b 2 ; более N кэррилов, идут к сумме боевых самолётов. я так понял 6 это глобальный лимит на авиацию в игре ? потестирую отпишу.... |
| Razor:
--- Цитата: KASAISru от 19 Октября 2024, 16:15:50 ---нашел кусок кода --- Конец цитаты --- Это всего лишь метки. То что ты их вставляешь в include.asm ПВП сборки даёт ровным счётом ничего. :lol: |
| KASAISru:
всмысле метки . а зачем это выкладывалось тогда . Или вы думаете я это подтянул чисто скопировав файлик аsm )))) нет я добавил в include это все и сейчас собираюсь тестить.... Добавлено позже: вместе с файлами . вот вопрос EMC файлы последнего обновления в себе содержат код для АГ и работы керриола и дмг таблицу ???? или там надо как то хитро все впиливать ? Добавлено позже: Я единственное не уверен включил ли я настройку лимитов авиации . если они в файлах EMC значит заработает . Если нет то хотелось бы уточнения что вытаскивать для корректной работы лимитов . Ну и давайте не глумится , не все гениями рождаются . |
| Razor:
--- Цитата: KASAISru от 19 Октября 2024, 18:18:15 ---всмысле метки --- Конец цитаты --- В прямом смысле метки. Программный код чтобы это всё работало находится в скомпилированном виде в базовых ромах (папка base_rom). То что ты добавляешь какие-то файлы и прописываешь их в include.asm для ПВП сборки даёт ровным счётом ничего. Твои манипуляции не добавят туда ни новые EMC скрипты, ни продажу зданий, ни разный урон. |
| KASAISru:
Ааа другое дело . эх жалко что все оказалось сложнее . а базовый ром к пвп привязать возможно ? |
| Razor:
Если бы всё было так просто - это бы уже сделали. Базовый ром к пвп привязать нельзя. |
| KASAISru:
Тогда получается если через IDA или CHEATengine искать адреса одиночной сборки все это не подойдет в итоге к пвп =\ как жаль. и написанный код так же. |
| KASAISru:
хоть какой нибудь бы инфы по поводу как это находить :( |
| dimidrol:
KASAISru, Ну ты бы хоть более конкретно написал чего ищешь и где, да и то вряд ли кто-то возьмётся за это. Если бы ты фичу из какого-то мода от конкретного автора спрашивал, тогда тебе скорее всего помогли бы, так как есть уже человек, который это нашёл и сделал. |
| KASAISru:
ну че ищу . Ищу я теперь как в пвп реализовать то что вы накрутили для одиночных миссий , 1) механика отключения пушек когда нет энергии 2) починить механику работы керриола и ремонтника когда юнит в режиме АГ 3) лимит авиации покрутить . есть скачанный HEX может хоть адресами поделитесь примерно в каком они районе . И инфой как вы метки соединяете с кодом игры . потому что я после вкручивания меток в Include перекидывания файлов в сборщик пвп словил экран с надписями ... |
| Razor:
--- Цитата: KASAISru от 21 Октября 2024, 10:12:44 ---как в пвп реализовать то что вы накрутили для одиночных миссий --- Конец цитаты --- Всего два шага: * Добыть декомпилированные исходники ПВП сборки, или декомпилировать самому * Написать нужные функции заново Повторюсь. Если бы всё было так просто - это бы уже сделали. Имея на руках уже скомпилированный код - это максимально неудобная задача даже для прошаренных. Вот тебе цитата от автора основной сборки Dunehack Rebuild R82 по поводу твоих хотелок в ПВП сборке: --- Цитата: Ti_ ---Я без понятия насколько там много изменено, думаю немало. Поэтому я тоже не смогу перенести какие-то изменения в пвп сборку без её исходника, кроме разве что совсем простых, но и то лень. --- Конец цитаты --- |
| dimidrol:
KASAISru, Из тобою написанного, ты сможешь осилить первый пункт только. Надо найти ром где эта механика есть. И в нём найти где лежат интересующие тебя файлы. Например карты, миссии, юниты. Внести правки и запихать в ром. Как искать? Здесь на форуме полно информации об этом. Обрати внимание на посты от SeregaZ про форматы файлов карт, миссий, юнитов. Миссии можно искать по заголовкам, карты и юнитов можно посчитать по размеру, они одинаковые у всех,главное найти самого первого. |
| KASAISru:
Декомпилированная ПвП у меня есть . я меняю в r82 редакторе , подкидываю файлы в пвп. компилирую и готово . конкретно меня интересует вот допустим нашел я то что мне надо . как делать эти метки чтобы потом было проще менять . Видео в интернете на эту тему нет. есть только видео где находят как поменять жизни в игре но там меняют в самом роме игры . это постоянно нужно искать эту строку . а хочется продолжить так же с метками и более понятным способом . а уже мучения с поиском строк возьму на себя. Второе что мне не понять еще каким образом запускать ПвП с отладчиком если не один эмулятор это не может запустить . с одиночным там понятно все запустил нашел с помощью бряка или методом тыка . а в ПВП как . Добавлено позже: Каждое здание , каждый юнит и каждая карта есть в папках . Разложенные по полочкам . Итого мы имеем возможность вообще отдельно зайти и накрутить . а потом скомпилировать в готовую . но зачем заходить в отдельный BIN файл если есть к нему метки в которых понятным языком есть комментарии и параметры которые я и хочу вынести в такие строки для последующих компиляций . в формате .asm Добавлено позже: чтобы те шаги которые были сделаны мною не были сделаны в отдельной сборке , и человек который так же как я захочет че то менять должен будет заново изобретать этот велосипед. |
| Razor:
--- Цитата: KASAISru от 22 Октября 2024, 10:43:08 ---Декомпилированная ПвП у меня есть --- Конец цитаты --- Если ты про это, то это сборщик рома с уже скомпилированным кодом игры. Не знаю, сколько тебе ещё раз написать, что ты делаешь фигню со своим "подкидываю файлы в пвп". И сколько раз написать, что тебе нужны декомпилированные исходники ПВП сборки чтобы сделать свои хотелки. Ещё раз, тебе нужен исходный код, из которого собирали DuneHack_PVPt.bin в архиве со сборщиком рома. --- Цитата ---Второе что мне не понять еще каким образом запускать ПвП с отладчиком если не один эмулятор это не может запустить --- Конец цитаты --- В роме сделана защита от запуска на несовместимых эмуляторах. Тебе нужны декомпилированные исходники ПВП сборки чтобы собрать базовый ром без этой защиты. --- Цитата ---но зачем заходить в отдельный BIN файл если есть к нему метки в которых понятным языком есть комментарии и параметры которые я и хочу вынести в такие строки для последующих компиляций . в формате .asm --- Конец цитаты --- Затем, что в самом базовом роме должен быть код, чтобы с этими новыми метками работать. Тебе нужны декомпилированные исходники ПВП сборки чтобы удобно добавлять такой код. --- Цитата ---как делать эти метки чтобы потом было проще менять --- Конец цитаты --- Изучай документацию Sega Mega Drive |
| SeregaZ:
первая схема, как это работает в оригинале. Функция 1 где-то в коде обращается к Функции 2. вторая схема, добавление каких-то финтифлюшек. нужно найти Функцию 2, перенести её в конец рома, изменить код, который бы использовал как-то твои новые метки, после найти Функцию 1 или все прочие места, которые ссылались на Функцию 2 и изменить там адрес со старого адреса Функции 2 (например 138) на новый адрес (например 194). а как ты представляешь себе ромхакинг? такие танцы с бубном с изменением адреса в принципе не нужны если - новый код для измененной функции занимает столько-же или меньше места после компиляции. или если у тебя есть полностью 100% дизассембленный код, то есть туда можно вносить какие угодно правки, где после сборки изменятся все адреса автоматом и игра в целом будет рабочая. ну и желательно еще уместится в размер до 4 мегабайт, чтобы любой эмулятор и железка игру могла в итоге запускать. сборщик, тот что одиночный - это не 100% разобранный код. там есть некий базовый ром, где тайносокрытые какие-то функции, нам, неучам, непонятные :) сборщик пвп я в глаза не видел и осуждаю, но не думаю что там тоже на 100% все разобрано. по поводу дебага - так затык то в чем: этот самый пвп работает только с модифицированным меднафеном, а обширный дебажный инструмент есть в шелловском эмуляторе. может что-то какие-то плагины для меднафена и есть, но я не знаю. да и не интересуюсь :) копайте, Шура, копайте. я могу лишь помпонами с трибуны в качестве поддержки помахать :) |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |