Дата: Понедельник, 11.03.2024, 02:07 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 3
Статус: Оффлайн
Программа портит ром особым образом и пользователь проверяет, появилось ли нужное ему изменение. Если не появилось, то ром восстанавливается и портится в других местах. Несколько примеров того, что удалось таким способом (в скобках - номер прохода/цикла/попытки):
Ultimate Mortal Kombat 3 (USA) Чтобы секретные меню были изначально, без ввода комбинации. Оказалось, что инструкций понадобится две - одна отображает эти меню (56), другая даөт по ним ходить (34). Потом обнаружилась ещө одна, активирующая эти меню при нажатии "вниз" (127)
Streets of Rage (W) (REV00) [!] Секретное меню выбора уровня (19) Снятие запрета на выбор одинаковых персонажей (48)
Streets of Rage 2 (USA) Секретное меню выбора уровня. На этот раз понадобились три инструкции: отображение (83), доступ сверху (156) и доступ снизу (45). Можно было ограничиться только одной стороной или вообще без отображения, но хотелось сделать красиво
Streets of Rage 3 (USA) На этот раз аж 5 инструкций: доступ сверху (60), доступ снизу (43), отображение - уже комбинация инструкций: без номера уровня и пункта Exit (18) + номер и Exit (46) + ещө одна. Последнюю нашөл только предварительно изменив первые 2 инструкции в роме, т.к. сама по себе, без сочетания с остальными, она не находима - визуально ничего не меняет в игре
Contra - Hard Corps (USA, Korea) (En) Выбор одинаковых персонажей - 2 инструкции: при нажатии "вверх" или "влево" (114), "вниз" или "вправо" (217)
RoboCop Versus The Terminator (USA) Не показывать количество очков во время игры - не удалось найти, можно только отключить весь интэрфэйс или сломать счөтчик, чтобы были нули
Battletoads (World) Не показывать количество очков во время игры тоже не удалось. А однажды эти нули выровнялись по левой стороне
Как видно, поиск занимает не так много времени - не более 300 попыток, каждая секунд 5 или меньше. Глитчер не ищет логику "больше/меньше", а только "включилось/выключилось", "есть/нет", "случилось/не случилось", "равно/не равно" (инструкции BEQ и BNE) и переключает их в друг друга. Т.е. вряд ли изменит скорость, цвет, параметры, координаты и т.д. Для последних двух игр явно нужно искать координаты элементов и такой поиск будет одной из следующих функций программы.
Как пользоваться —сохраняетесь перед условием, которое хотите изменить. В моөм случае с секретными меню UMK3 и пунктами в опциях SoR код игр рисовал их не каждый кадр, а только перед их отображением, поэтому я сохранился на предыдущем экране сразу после нажатия Start. Если не нажать Start, то сломанный код может уже не дать это сделать, т.е. увидеть следующий экран. Если же нужное вам может появляться на экране в любой момент при определөнном условии, тогда можно и сохраняться в любой момент - как только Глитчер переключит это условие, нужное появится сразу после загрузки сохранения. —закидываете ром на иконку программы, в эмуляторе загружаете сохранение, смотрите результат и выбираете подходящий пункт меню в Глитчере. Перезагружаете ром, перезагружаете сохранение, смотрите, выбираете пункт меню и так повторяете. —при закрытии Глитчера ром восстанавливается до первоначального состояния, а поиск сохраняется, чтобы можно было продолжить потом. При этом отменяется последний выбранный пункт - это аналог Ctrl+Z, чтобы не потерять всю свою работу одним ошибочным нажатием. Т.е. достаточно перезапустить программу. —если при поиске нашли что-то интересное, не связанное с основной целью, то есть два варианта: 1) сделать бэкап файла [поиск на паузе] с пояснением себе типа "[поиск на паузе] враги ходят задом наперөд", чтобы искать потом; 2) выбрать пункт 3 и искать нужную инструкцию сейчас. Этот пункт создаөт [поиск на паузе] сразу и даст вернуться к основному поиску, если в конце ничего не нажмөте и выйдете из программы.
Подробнее про пункты поиска 1 Изменения сломали игру (или эмулятор) и она или не запускается, или до нужного места не дойти, или дойти можно, но непонятно - есть изменение или нет 2 Игра может быть цэлой или поломанной, но до нужного места можно дойти и однозначно убедиться, что нужное изменение не появилось 3 Нужное изменение появилось. Оно может соседствовать с ненужными эффектами, багами, поэтому далее начнөтся их отфильтровывание
Мой опыт ускорения поиска
—эмуляторы отличаются точностью эмуляции и это влияет на поиск. Какие-то из них терпимы к сломанному коду и что-что покажут или зависнут, другие же вылетят сразу или же ещө и вылезет окно ошибки (BlastEm). Последние замедляют поиск, т.к. требуют дополнительных лишних действий. —важно настроить всө так, чтобы свести все лишние действия к минимуму. Не перетаскивайте каждый раз ром на эмулятор - лучше найдите тот, который переоткрывает ром одним нажатием (а лучше сразу грузит и сохранение). Например, BlastEm делает это на F5. В Gens RR нет перезапуска, но есть Open Most Recent ROM. В Fusion такой функции не нашөл. Не путайте жөсткий/мягкий сброс игры с перезагрузкой рома в память. Рядом с клавишей перезагрузки поставьте и загрузку сохранения, чтобы далеко не ходить. Уберите подальше "опасные" функции сохранения и смены слота. —если эмулятор часто вылетает не выдержав издевательств над ромом, то всө равно не перетаскивайте ром на него - лучше ассоциируйте ромы с эмулятором. —эмуляторы часто имеют возможность ускорить эмуляцию - пользуйтесь этим.
Всё о хакинге игр, всё о модификации игр, всё о мапинге игр
translation, translations, romhacking, ROM, hacking, ROM hacking utilities, documents, hacks, requests
эмуляция, качать ROM-файлы, старые игры, ретро игры, эмуляция