Разработка и ромхакинг > Ромхакинг
URBAN STRIKE EXTRA MISSION HACK
(1/1)
Akira01:
Выкладываю для вашего обзора полную версию Urban Strike с экстра кампанией в Майами. Для этого пришлось вырезать миссию с пилотом на нефтяной платформе как не особо важную сюжетно и экономии места. Также исправил много различных графических багов, например, плохую анимацию солдат, в том числе тех, кто подрывает себя на вышках, баги при выполнении некоторых заданий и многое другое. Источник известного бага в программе, где техника едет с графически застывшими орудиями, мне найти не удалось, поэтому правильную анимацию движения техники пришлось менять вручную в самих скриптах движения (что затрудняет создать редактор кампаний в игре). Вероятно, создатели сильно спешили выпустить игру в срок, поэтому пришлось подчищать за ними мусор  :lol:. Да и по большому счету все делалось вручную без всяких особых программ - хекс редактор HxD и графический редактор YY-CHR. Тестил в GensVKNTracer, RShellMod, обычных не модифицированных эмуляторах в Windows и Android, поэтому вылетов быть не должно. Самой игре в этом году исполняется 30 лет, в честь этого и решил создать этот хак. Версия русскоязычная, переведено конторой Новая Игра в 2004ом году.
Razor:

--- Цитата: Akira01 от 05 Август 2024, 11:36:15 ---Тут была тема по хакингу игры Urban Strike
--- Конец цитаты ---
Поэтому сделаем ещё одну? :lol:
Ещё и название КАПСОМ


--- Цитата ---Могут быть баги и в этой миссии, но вроде все пересмотрел
--- Конец цитаты ---
На карте игра крашится в нормальных эмуляторах, там у тебя, вероятно, ошибка с нечётным адресом.
Akira01:
Ах да, тестировал в Gens RShell Mod
Razor:

--- Цитата: Akira01 от 05 Август 2024, 12:37:17 ---Ах да, тестировал в Gens RShell Mod

--- Конец цитаты ---
Учитывая что Gens не крашится на ошибках с нечётными адресами, то тестировать исключительно на нём - недостаточно. Как минимум в твой хак уже не поиграть на железе, или современном точном эмуляторе
Akira01:
Насчет ошибки в нечетном адресе не знаю, что там, искать надо.
Sharpnull:

--- Цитата: Akira01 от 05 Август 2024, 13:02:30 ---Насчет ошибки в нечетном адресе не знаю, что там, искать надо
--- Конец цитаты ---
Нельзя читать и записывать 2 байта (word) и 4 байта (long) по нечётным адресам. Для такой ошибки - Address Error - есть обработчик https://tcrf.net/User:Andlabs/68000_ROM_guide. Я добавил в ром свой обработчик (адаптировал от RoboCop Versus The Terminator), расшифровка в readme.txt, главное самый последний адрес, он указывает на инструкцию после неверной инструкции (точно не помню насколько байт назад брать, в отладчике просто взять с запасом). Запустил ром в Genesis Plus GX, ошибка в меню Start отображает мой обработчик, адрес PC 2C36, проблемная инструкция 2C32: cmp.w $0010(A5),D0, возможно вы уменьшили кол-во пунктов, но счётчик не исправили, я заменил 1A4BEF: 1B и теперь не падает, не разбирался в чём проблема.
Вот ром с моим обработчиком прерываний (ошибок), изменил 1A4BEF: 1B и добавил моё исправление при выборе управления 6 кнопками (9C06: E0 58 10 39 00 FF 46 F6 E1 58, https://www.emu-land.net/forum/index.php/topic,89503.msg1594654.html#msg1594654, когда берёшь человека и нажимаешь Start после сообщения "Новая информация!!").
bgr:
Sharpnull, ты ковырялся в Робокопе против терминатора? Не знаешь, какое там сжатие графики используется? Там модификация или же вообще не rnc используется?
Akira01:

--- Цитата: Sharpnull от 05 Август 2024, 14:04:53 ---Нельзя читать и записывать 2 байта (word) и 4 байта (long) по нечётным адресам. Для такой ошибки - Address Error - есть обработчик https://tcrf.net/User:Andlabs/68000_ROM_guide. Я добавил в ром свой обработчик (адаптировал от RoboCop Versus The Terminator), расшифровка в readme.txt, главное самый последний адрес, он указывает на инструкцию после неверной инструкции (точно не помню насколько байт назад брать, в отладчике просто взять с запасом). Запустил ром в Genesis Plus GX, ошибка в меню Start отображает мой обработчик, адрес PC 2C36, проблемная инструкция 2C32: cmp.w $0010(A5),D0, возможно вы уменьшили кол-во пунктов, но счётчик не исправили, я заменил 1A4BEF: 1B и теперь не падает, не разбирался в чём проблема.
Вот ром с моим обработчиком прерываний (ошибок), изменил 1A4BEF: 1B и добавил моё исправление при выборе управления 6 кнопками (9C06: E0 58 10 39 00 FF 46 F6 E1 58, https://www.emu-land.net/forum/index.php/topic,89503.msg1594654.html#msg1594654, когда берёшь человека и нажимаешь Start после сообщения "Новая информация!!").

--- Конец цитаты ---

Я вспомнил про этот адрес, забыл про него, пока отлаживал :D
За гайд спасибо, прочту на досуге.
Valet2:
Ооо, стоит ожидать редактор карт и миссий в обозримом будущем? Это же круто!
Sharpnull:

--- Цитата: bgr от 05 Август 2024, 14:37:43 ---Sharpnull, ты ковырялся в Робокопе против терминатора? Не знаешь, какое там сжатие графики используется? Там модификация или же вообще не rnc используется?

--- Конец цитаты ---
Я только спёр обработчик прерываний. Судя по CrystalTile2, там почти половина рома несжатая графика, нужно смотреть интересующие данные и с помощью Ghidra (и расширению от DrMefistO) легко можно разобрать код сжатия, если оно есть.
Кстати, смотрю есть только два всратых перевода на русский :facepalm: http://chief-net.ru/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=11&sobi2Id=320&Itemid=44, http://chief-net.ru/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=11&sobi2Id=475&Itemid=44. Впрочем, для того времени простительно.
Akira01:

--- Цитата: Valet2 от 05 Август 2024, 15:55:19 ---Ооо, стоит ожидать редактор карт и миссий в обозримом будущем? Это же круто!

--- Конец цитаты ---

Я делать их точно не буду, я не силен в программировании. Как я и сказал, все редактировалось в хексе и графическом, а на то, чтобы понять, где что находится в роме и как это правильно обрабатывать, ушло очень много времени. Так что пришлось все делать буквально на коленке и перелопатить кучу инфы по ромхакингу.
А так было бы интересно взглянуть.
bgr:
Sharpnull, да, там прикол в том, что спрайты не сжаты, а тайлы графики первых уровней пожаты. Надеюсь, со временем ясно станет :lol:
Akira01, мб стоит уже найденную инфу задокументировать и выложить?
Akira01:

--- Цитата: bgr от 05 Август 2024, 16:23:20 ---Sharpnull, да, там прикол в том, что спрайты не сжаты, а тайлы графики первых уровней пожаты. Надеюсь, со временем ясно станет :lol:
Akira01, мб стоит уже найденную инфу задокументировать и выложить?

--- Конец цитаты ---

Попробую когда-нибудь, ее очень много, надо сортировать.
SeregaZ:
не ленись. делай редакторы :) это не сложно... (кто-бы говорил, сам отлыниваю и затягиваю целых два проекта...)

проблема то в чем - ты как бы да, разобрался. а вот другие лица, весьма далекой от ромхакерства, национальности посмотрят, повздыхают и уйдут. а так будет редактор, как для детей, где все легко и просто - то что-то начнут там делать, приносить свои какие-то идеи... типа в Жангле Стрике заменить белый дом с омэрыкой на православный Кремль и Аппач на Ми-24. красота же!
Akira01:
Выложил полную версию хака в первом сообщении темы, кому интересно, ознакомьтесь.
Навигация
Главная страница сообщений

Перейти к полной версии