Разработка и ромхакинг > Ромхакинг
[SMD] Mortal Kombat 3 Ultimate Hack
<< < (56/57) > >>
SeregaZ:
вот тебе для этого мой недоделанный шедевр. не икает от МК3H как Ида, но дизасмит только первоначальный адрес. прочие адреса только вручную тыкать. по моему кнопка С. поскольку разбор после каждой С начинает с начала - все работает слоооооооуууууупочно :) отменить, если в коде ошибка вылезла - R. текст не дает изменять, как Ида. не доделал. руки недошли. но можно адреса вручную вбить в отдельном тхт файле, который программа подхватит. ну и главное сохраняет файл быстрее чем Ида и асм файл уже сразу из коробки совместим с ASM68K.exe. только я забыл как этот файл должен называться...

Добавлено позже:
а во! типа ложим в ту-же папку, где и дизассемблер ром, переименовываем во что-то короткое типа MK3H.bin. а рядом создаем текстовой файл и переименовываем MK3H.adr

а в нем адреса в столбик с долларом в хексе. типа:

--- Код: ---$13E46
$1421C
$142FE
$14522
$1456A
$14930
--- Конец кода ---

хз чо за адреса... у меня в этом файле лежат. вот тогда дизассемблер, при загрузке рома - сначала загрузит и распарсит то что сам понял из начального адреса, а после начнет эти адреса парсить пока не упрется в конец функции или еще там куда и тоже покажет это в основном листе. комментарии в этом файле писать нельзя видимо...

кароче адреса надо ковырять где-то в другом месте, а потом вносить в этот файл :) получается программа одноразовая. не может как Ида что типа загрузил ром, распарсило сколько-то. потом ты вручную поработал - еще сколько-то. сохранил базу. а через неделю опять вернулся. тут надо все за один раз сделать и сохранить. либо все найденные адреса в тот файл втулить в столбик, и после загрузить ром и после сохранить в асм.
Takamura-kun:

--- Цитата: SeregaZ от 01 Декабрь 2024, 01:25:19 ---вот тебе для этого мой недоделанный шедевр
--- Конец цитаты ---
Благодарю, в любом случае пригодится)


--- Цитата: SeregaZ от 01 Декабрь 2024, 01:25:19 ---не икает от МК3H как Ида
--- Конец цитаты ---
Ну я в чужие работы обычно не суюсь, за некоторыми исключениями, когда целенаправленно просят что-то сделать... Ох, лучше не вспоминать этих вопрошателей :lol:


--- Цитата: SeregaZ от 01 Декабрь 2024, 01:25:19 ---файл уже сразу из коробки совместим с ASM68K.exe
--- Конец цитаты ---
Кстати, давно ещё хотел узнать, почему все так любят именно asm68k.exe, при наличии более удобных и современных решений? Мне в голову приходит только одно — дело привычки, но может я что-то упускаю :)


--- Цитата: SeregaZ от 01 Декабрь 2024, 01:25:19 --- тут надо все за один раз сделать и сохранить
--- Конец цитаты ---
Отлично, будет мотивация не бросать на полпути :D
SeregaZ:
он маленького размера, портабельный. можно просто копировать его везде куда непопадя и там-же батником собирать.

а так-то конечно он контуженный на всю голову :) синтаксис там хромает - там пробелы нельзя, там надо отступ, там надо без отступа, некоторые функции собирает не верно. было бы конечно здорово эти недочеты пофиксить и был бы шедевр. но увы. сурсов нет, а "ромхачить" чужую ехешку - сами мы не местные. воспроизвести по мотивам - две проблемы. первая, муторная, перебрать все коды и варианты параметров к ним. вторая, для меня наиболее проблемная - математика в виде параметров. типа move a1, d2 легко и регулярка нас спасает. move a1 + 10 / 2 * 8, d2 швах :) хотя надо изучить этот вопрос подробнее - может у буржуинов давно есть для этих целей что-то.
Nik Pi:

--- Цитата: worm от 01 Декабрь 2024, 01:06:49 ---А это значит, что о готовности проекта ближайшие пару лет можно не спрашивать
--- Конец цитаты ---
Ну, или пару десятков лет  :lol:
Ну а что поделать, люди занятые, да и сколько времени прошло.. ну а касательно оптимизации- тут я хз. Вроде как да, но с другой стороны, а какой тогда смысл в ещё более кастрированной урезанной версии? Сейчас хотя-бы какие-то плюшки уникальные есть. Если ещё убирать какие-то вещи, то будет как-то совсем грустно.. хотя не исключаю того, что оптимизация всё-таки возможно. UMK3 вообще сама по себе сырая, может там и есть остатки какого-нибудь левого кода, которые можно убрать..  :shifty:
Takamura-kun:
SeregaZ, ну в принципе, можно заменить его тем же asmx, исходники которого имеются в открытом доступе, собирается он в один бинарь и синтаксис там схожий с asm68k.exe :)
Но мне всё же AS нравится больше. Функциональность радует, обновления регулярные.


--- Цитата: Nik Pi от 01 Декабрь 2024, 05:56:06 ---Ну, или пару десятков лет
--- Конец цитаты ---
Ну нет, не так долго :lol:


--- Цитата: Nik Pi от 01 Декабрь 2024, 05:56:06 --- а какой тогда смысл в ещё более кастрированной урезанной версии?
--- Конец цитаты ---
Вопрос приоритетов. Я хочу сделать акцент на геймплейной части. Что важнее, Шива или то, что появляется на 10 секунд с интервалом в ~3 мин? :) Да может и не придётся vs экран вырезать. Всё зависит от того, сколько весит это дело, сколько будет весить шива и сколько весят конфиги и неиспользуемые игрой ресурсы.
Беларус учит русский:

--- Цитата: Nik Pi от 01 Декабрь 2024, 05:56:06 ---может там и есть остатки какого-нибудь левого кода, которые можно убрать
--- Конец цитаты ---
Там не то, что код - там неиспользуемая графика из MK3 валяется:



~17 килобайт
Takamura-kun:

--- Цитата: Yuujin от 16 Сентябрь 2024, 18:31:14 ---Еще здесь продают
https://vk.com/market/product/kartridzh-mortal-kombat-3-ultimate-v072-u-179671182-6288911

--- Конец цитаты ---
:lol: не сразу заметил, в каком разделе продают сий шедевр.


--- Цитата: perfect_genius от 02 Декабрь 2024, 13:23:02 ---там неиспользуемая графика из MK3 валяется
--- Конец цитаты ---
Отлично) чем больше мусора в игре — тем больше места для Шивы.

Кстати, чем пожата графика в umk3? ...Вообще, хотелось бы как можно больше утилит (из тех, что уже имеются) и информации по этой игре. Быстрее дело пойдёт. Сориентируете?)

В музыке и звуках я, например, вообще не разбираюсь (полный 0). Слышал где-то краем уха, что звуковая часть игры должна быть всегда где-то в середине рома и двигать её нельзя, потому что указатели (на какие именно адреса — не знаю) вшиты в Z80.
Nemesis_c:
worm, мусора в роме много, но папка с графикой Шивы всё-равно не влезет без вырезания чего-то другого. Вырезать спрайты будет крайне муторно. Самый простой вариант - отказаться от мотаро, например. Можно конечно поудалять графику всяких заставочек и прочего, но этого тоже будет мало. Можно выпилить картинки из версусов а вместо них можно просто отрисовывать спрайты бойцов. Можно полностью выпилить заставки сёги, Вильямс, весь сторилайн, текст био скрин и вин скрин, галактику, понг, демонстрации, титры, задники версуса, задники титульного экрана (написать тупо шрифтом), выпилить графику мраморных плит из меню, графику мрамора из турнира (а можно и весь турнир), экран выбора режима игры, экран при поражении, иконки для эндурэнс мода (если его не чинить), графику столбцов, синий портал (который за столбцами), всю музыку которая не используется в бою, сэмплы с именами бойцов из третьей части.
Короче начинайте, а я буду за вас болеть :)
Беларус учит русский:
Добивания ещё забыл. Которые нафиг никому не нужны, но разрабы продолжают вкладывать в них большие силы как в фишку серии.
+можно вырезать неиспользуемую арену из МК3, а также сменить сжатие на более сильное.
Удивительно, что такую игру всё ещё не отреверсили полностью.

--- Цитата: Nemesis_c от 05 Декабрь 2024, 12:20:20 ---сэмплы с именами бойцов из третьей части
--- Конец цитаты ---
Ого, они есть в роме и почему-то не проигрываются? :ohmy: Вроде как есть сэмплы для всех бойцов в версиях для других платформ, разрабы могли бы и вставить тогда в сеговскую, раз занимают мало места.
Takamura-kun:

--- Цитата: Nemesis_c от 05 Декабрь 2024, 12:20:20 ---папка с графикой Шивы всё-равно не влезет без вырезания чего-то другого
--- Конец цитаты ---
Сколько она весит, если не секрет?)


--- Цитата: Nemesis_c от 05 Декабрь 2024, 12:20:20 ---Можно выпилить картинки из версусов а вместо них можно просто отрисовывать спрайты бойцов.
--- Конец цитаты ---
Я думал на фоне мрамора из турнира отрисовать 2 иконки, написать текстом "vs" и снизу рядом полоску комбат кодов... которые, к слову, тоже можно почистить :lol:


--- Цитата: Nemesis_c от 05 Декабрь 2024, 12:20:20 ---Можно полностью выпилить заставки сёги, Вильямс, весь сторилайн, текст био скрин и вин скрин, галактику, понг, демонстрации, титры, задники версуса, задники титульного экрана (написать тупо шрифтом), выпилить графику мраморных плит из меню, графику мрамора из турнира (а можно и весь турнир), экран выбора режима игры, экран при поражении, иконки для эндурэнс мода (если его не чинить), графику столбцов, синий портал (который за столбцами), всю музыку которая не используется в бою, сэмплы с именами бойцов из третьей части.

--- Конец цитаты ---
Ну фоны бы я оставил некоторые. Скелеты из главного меню, мрамор турнира, на котором бы рисовались все меню, кроме главного и портал для столбиков. Всё остальное почистить и следы поудалять, включая плейсхолдеры указателей. Оптимизировать жирные конфиги. Работы года на 2, наверно, если не забрасывать. Это ещё если не переписывать код - там работы на все 5 лет. Зато какая игра в итоге получится - чистая, без лагов, хороший плацдарм для кастомных файтингов на движке UMK3 и для нормальной трилогии. Но один я не справлюсь. Максимум - это сделаю и выложу более-менее движемый исходник и поудаляю самый очевидный мусор. А там уже, я думаю, и другие замотивируются проектом и присоединятся.


--- Цитата: perfect_genius от 05 Декабрь 2024, 14:18:48 ---можно вырезать неиспользуемую арену из МК3
--- Конец цитаты ---
Ты не про дубликат the pit 3, случайно?


--- Цитата: perfect_genius от 05 Декабрь 2024, 14:18:48 ---разрабы могли бы и вставить тогда в сеговскую, раз занимают мало места
--- Конец цитаты ---
Если они и правда там есть, то скорее всего их просто отключили, чтобы не добавлять сэмплы для других бойцов, что заняло бы уже больше места. Но это так, догадки)
SeregaZ:
я где-то выкладывал отдельно манагер звуков... там правда для оригинальной МК3. но MK3U по идее те-же яйца. не помню прикручивал ли я туда это самое сжатие DPCM или нет. а если и прикручивал, то там оно по мотивам отдаленно. узнать бы как они оригинальные изначально создавали, что смогли добиться такого топового качества звучания.
Takamura-kun:

--- Цитата: SeregaZ от 05 Декабрь 2024, 20:58:57 ---узнать бы как они оригинальные изначально создавали, что смогли добиться такого топового качества звучания.
--- Конец цитаты ---
Как знать — может ещё что ценное по МК утечёт. Среда разработки, например :) оригинальные исходники же утекли)
Беларус учит русский:
Всем, кому я писал в темах по UMK3 насчёт инструментов для его взлома, к сожалению, придётся подождать до следующего года - мне надо было улучшать свои навыки программирования и я почти весь этот год тренировался делая это: [SMD] ROM glitcher - сделай себе хак не зная ромхакинг.
Тем, кто не знает ромхакинг, но хочет поковырять игру, может быть интересен там Переставлятель. Вот что я нашёл с ним:
спрайты имён в полоске здоровья:

(номер элемента массива, элемент-указатель, количество копий в других массивах, название)

  1 270000 42  A
  2   10002 25  B
  3   30004 18  C
  4   50006 8    E
  5   70008 50  G
  6   9000a 9    H
  7   b000c 8    I
  8   d000e 9    M
  9    f0010 8    L
 10 110012 9   часть буквы
 11 130014 8   пробел
 12 150016 4   пробел, вариант 2
 13 170018 8   O
 14 19001a 6   R
 15 1b001c 9   T
 16 1d001e 7   часть буквы или кавычки
 17  1f0020 8   середина M?
 18 210022 7   часть буквы
 19 230024 5   Y


фоны и арены:

  1  4f1c2     витраж
  2  4f80c     портал
  3  4f312     мост
  4  4f49c     космос
  5  4f58c     картинка - башня Шао Кана
  6  4f614     картинка - крыши
  7  4f66e     серый одноцветный фон
  8  4f758     логотип
  9  4f866     пустыня
 10  4f974     трон Шао Кана
 11  4f9f2     ад
 12  4fa70     арена у реки (MK3?)
 13  4f6c8     экран выбора столбца
 14  4f722     экран выбора столбца 2
 15  4f7b2     логотип копия


некоторые персонажи:

  1  346c2     Кано
  2  3594e     Соня
  3  36b9a     Джакс
  4  37e30     Ночной Волк
  5  39268     Саб зиро старший
  6  3a488     Страйкер
  7  3b6c4 2   Синдел
  8  3cabc 3   Сектор
  9  3cabc 3   Сектор
 10  3e310     Кун Лао
 11  3f4c8     Кабал


приёмы, заканчивающиеся на:

  1  1a840 2   ?
  2  1caf4     X
  3  1cb64     A
  4  1cbd4     B
  5  1cc44     Z
  6  1ccb4     C
  7  1ca84     Y
  8  1cd24     вверх
  9  1cd94     ?
 10  1ce04     ?
Неизвестные надо проверить на превращениях Шан Цуна


?:

  1  e0482     Кано - подножка
  2 10c0aa     Соня - удары
  3 13d6f2     Джакс - удары
  4 16e700     Волк
  5 19a864     Саб Зиро старший
  6 1be08a     Страйкер - бег
  7 1ec624     Синдел - прыжок
  8 226da4     Сектор - падение на спину
  9 252ba2     Кун Лао - пинок с разворота
 10 286dc2     Кабал - пинок с разворота


Соня:

  1  367fa     бег
  2  36a86     падение на спину
  3  36a7e     испуг?
  4  367a6     захват ногами
  5  369fe     велосипед
  6  36a9e     фаталити с огненным шаром
  7  36b52     полёт вперёд
  8  36af6     плазменный шар от фаталити
  9  36b4a     остатки противника после фаталити?
Наверно, можно даже коллективно изучить так все массивы указателей, поделив их между всеми заинтересованными :lol:
SeregaZ:
сначала надо решить что именно идет под ковыряние. оригинал МК3, оригинал МК3U, МК3UHack, всякие трилогии шмилогии...

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

тут только пишешь по пунктам - уже объем блудняка ужосает :) не говоря уже о самом процессе разбора. тыкать в небо пальцем, пересобирать, тестировать и убеждаться что это именно оно и попал точно, но чаще что не оно, сидеть в раздумиях что же это тогда если не оно, и как работает...  :wow:
Беларус учит русский:
Естественно, оригиналы - MK3 и UMK3.

--- Цитата: SeregaZ от 07 Декабрь 2024, 00:19:43 ---тыкать в небо пальцем, пересобирать, тестировать и убеждаться что это именно оно и попал точно, но чаще что не оно
--- Конец цитаты ---
Не настолько там страшный процесс благодаря сохранению в эмуляторе - тыкнул в Глитчере, тыкнул в эмуляторе переоткрытие рома и загрузку сохранения. Тыкнул в Глитчере... Это довольно быстро, но терпение надо, да. И как только видишь, что что-то изменилось, так нажимаешь пункт 3 и после окончания процесса уже начинает проход по всему массиву. Т.е. вместо этого элемента уже каждый тык - другая вещь, а тебе надо лишь описывать что видишь.

Пример с Соней вот:
  1  367fa     бег
  2  36a86     падение на спину
  3  36a7e     испуг?
  4  367a6     захват ногами
  5  369fe     велосипед
  6  36a9e     фаталити с огненным шаром
  7  36b52     полёт вперёд
  8  36af6     плазменный шар от фаталити
  9  36b4a     остатки противника после фаталити?

И теперь можно всё это поменять, да хоть заменить на её "велосипед", например :)
Т.е. будет одна эта атака при выполнении любого приёма.

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


https://i124.fastpic.org/big/2024/1207/ab/1812016899a2e76e3654fe84fa39bfab.png
получается игра оперирует кусочками обычной тайловой карты и выстраивает некую свою какую-то тайловую карту. вот как бы понять этот механизм :) чтобы в лайтовом варианте - просто рисовать арену, с возможностью просмотра (перемотки влево вправо). в максимальном варианте - создавать арену, которую бы игра правильно понимала.

Просьба не размещать при помощи тега [img] изображения, шириной и/или высотой большего размера, чем 700 пикселей. ghostdog3

а иначе не передать весь гений моей мысли. SeregaZ
Takamura-kun:

--- Цитата: perfect_genius от 07 Декабрь 2024, 00:31:34 ---Естественно, оригиналы - MK3 и UMK3.
--- Конец цитаты ---
Именно) расковыривать хаки нет никакого смысла, в коде оригинальных ромов и так полно кринжовых костылей, а в хаках плюс к этому будет еще куча бессмысленных (для исходника) переходов на конец рома или незадействованную область. Если кто-нибудь в последствии захочет собрать ром с фишками из какого-нибудь хака, можно будет дизасмнуть модифицированную часть хака и нормально перенести её в исходник, просто вставив между строк кода.

К слову, код умк3 оказался весьма интересным. Многое устроено жирно и колхозно, но от этого код даже понятнее :lol: в общем, план у меня такой: разберу как смогу все 4мб. По срокам ничего говорить не буду — скорее всего, это займёт очень много времени. Навскидку — полгода/год. И скорее всего, исходник получится движимым только частично. Тут то мне и потребуется помощь тех, кто сможет грамотно допилить сорс. Выложу ida базу, а дальше — дело за мастадонтами ромхукслинга, если им это будет интересно.
Yuujin:
Всем здравствуйте. Скажите, есть ли подобный хак для мк2? Насколько я помню, в оригинальной сеговской версии вырезали интро заставку, произношения имен, био скрины и концовки за персонажей. Игру можно расширить на 1 мб, взяв это все из 32х версии например.
Razor:
"Под аркаду" есть хак на 32х версию Mortal Kombat 2.
Yuujin:
Razor, 32х знаю что есть, интересует обычная mega drive.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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