| Разработка и ромхакинг > Ромхакинг |
| Вопросы новичков |
| (1/22) > >> |
| Беларус:
Тема для вопросов по ромхакингу, для которых создание отдельной темы кажетса излишним. Самые частые вопросы новичков: Какой програмой взламываютса игры (ромы)? Общее, что есть внутри игр - это текст на английском языке. Если он не сжат, то находитса поиском в хекс-редактре. Несжатую графику в ромах можно найти редактром тайлов, но для этово уже надо будет правильно указать платформу и проходить по внутренностям вручную, искать на глаз. На некоторых платформах с этим легче, там графика лежыт в известном месте (NES). Некоторые игры могут использовать популярные алгоритмы сжатия с заголовком, и тогда достаточно найти в роме только эти заголовки архивов и распаковать. Нет одной универсальной програмы для всех игр, т.к. внутреннее устройство каждой отличаетса и поэтому для каждой нужно искать свои инструменты. Бывает, что внутренности похожы у игр одной серии или одново разработчика, и тогда один инструмент может поддержывать сразу их все. Если инструментов нет, то для их создания изучаетса код игры с помощью отладчиков в эмулятрах и дизасэмблеров типа MESEN, Ghidra и IDA. При запуске игры для Сеги на приставке или эмулятре показываетса только красный/зелёный/синий/чёрный экран С большой вероятностью это действие защиты игры от изменений: игра видит, что изменена, и отказываетса запускатса. Если это не хак/перевод игры, то ром может быть просто повреждённым. В настройках эмулятров можно включить обход этой защиты ("исправление контрольной суммы", "fix checksum"), а для приставки понадобитса исправить ром спецыальными програмами - ищутса по "sega fix checksum". |
| NightHard:
Не раз встречал подобные хаки на romhacking, но для чего они делаются? И что именно это даёт самой игре? |
| SeregaZ:
предположил бы что для совместимости, чтоб запускать на всяких перезаписываемых картриджах, на которых не все прикручено. |
| Sharpnull:
--- Цитата: SeregaZ от 01 Март 2020, 15:48:18 ---совместимости --- Конец цитаты --- Я других причин тоже не знаю. Иногда конвертирует из редких мапперов, которые мало кто поддерживает, как было не так давно с Super Gun (Caltron - 9-in-1); это может быть связано с попыткой защиты от копирования (Metal Storm (2019)). Бывают также хаки выпускаемые на картриджах (то есть пиратские) с неоригинальными мапперами, их тоже возвращают. |
| Cyneprepou4uk:
http://www.romhacking.net/forum/index.php?topic=29960.0 |
| Sharpnull:
--- Цитата: Cyneprepou4uk от 01 Март 2020, 16:50:14 ---http://www.romhacking.net/forum/index.php?topic=29960.0 --- Конец цитаты --- Значит вторая цель - расширить возможности связанные с ограничениями маппера (лучше графика, больше памяти, аудио и т. п.). |
| supremacy:
В основном, чтобы изготовить репродукцию на имеющемся доноре. Если вопрос про конкретного персонажа который игры на mmc5 переделывает, то человек просто тренируется, а выкладывает в общий доступ чтобы все знали, что он это может 8) |
| ALXR:
Могу еще предложить вариант: Для расширения свободного пространства для увеличения размера уровней. Как пример - редактор конвертирует из CNROM в MMC3, благодаря чему стало возможным добавить уйму новой графики в игру и добавить еще вагон уровней. |
| Беларус:
Есть ли простой способ вытащить палитру, например из VDP-просмотрщика эмулятра, и загрузить ево в какой-то из тайловых редакторов? И есть какой-то общий способ найти палитру в роме или в отладчике? У меня куча редактров, но у каждово свой формат палитры, похоже. Дамп с Генса не подошёл ни к одному. |
| Sharpnull:
perfect_genius, формат CRAM стандартный. В Exodus дамп сохраняется правильно как 128 байт; в Gens r57shell Mod правильно, но в конце лишние байты до 512; в GensKMod каждые 2 байта переставлены, потому что создатель Gens байты вертел для удобства и для дампа приходится назад переставлять (я исправлял в своём форке, но кому это нужно). Не проблема сконвертировать в каком-нибудь стандартный .pal или .act, где подряд идут цвета, скрипт написать или найти готовые программы. Только цвета можно п-разному интерпретировать, в Retro Graphics Toolkit можно открыть палитру и посмотреть не только с обычным округлением, но и HardwareMan's measured values и наложить Shadow/Highlight. Если ваш редактор не понимает обычные .pal, .act, то придётся адаптировать и для него. -------- Вот простой скрипт на Python 3 на основе https://segaretro.org/Sega_Mega_Drive/Palettes_and_CRAM, который берёт CRAM дамп и конвертирует в .act (256 цветов всегда, порядок байтов R G B, открывает Photoshop). 1-й аргумент - дамп, 2-й - .act. |
| Марат:
--- Цитата: perfect_genius от 18 Январь 2021, 23:36:12 ---Есть ли простой способ вытащить палитру, например из VDP-просмотрщика эмулятора, и загрузить его в какой-то из тайловых редакторов? --- Конец цитаты --- Gens r57Shell mod может сохранять палитру в формате RGB. Которую можно загрузить в любой графический редактор. Либо можно эту палитру загружать в тайловый редактор YY-CHR, Djinn Tile Mapper. Это и есть самый простой способ. |
| DrMefistO:
В той же генсиде есть кнопка YY-CHR Pal для того, чтобы выгрузить палитру в формате YY-CHR. |
| Беларус:
Спасибо за ответы. Конкретно, я хочу изменить фон иконки ЧелСмоука в хаке UMK3 на такой: Дампил с Gens r57Shell mod, и в bin и в pal. Djinn Tile Mapper'у вообще на всё плевать, даже пробовал обрезать до 128 байт, как писал Sharpnull - всегда ошибка. YY-CHR грузит, но цвета не те. Да и как из каши тайлов собрать целую картинку я не нашёл. Хочется-то отрисовать в графредакторе и просто вставить в тайловый редактор, естественно. Был EmuHawk, решил посмотреть что у него есть - палитру сохраняет только в PNG. Но вдруг заметил жуткую вещь: Т.е. в UMK3 иконки формируются наложением двух слоёв?! 0_0 Но, как тут видно, добавленные ЧелСмоук и Шива формируются из одного слоя. Значит, надо создать второй слой со своей палитрой? (кстати, у иконки ЧелСмоука можно увидеть мои пробы цветов на фоне). Ну и раз уж зашла тема про экран персонажей, то в роме есть большой архив со всеми иконками персонажей, и его изменение ни к чему не приводит. Более того, его удаление из рома ни на что не влияет o_0 Находится он по адресу 0x3EE47A, весит почти 13 килобайт. Может кто знает что это? |
| Марат:
--- Цитата: perfect_genius от 19 Январь 2021, 22:46:27 ---Djinn Tile Mapper'у вообще на всё плевать --- Конец цитаты --- Djinn Tile Mapper надо брать на сайте chief-net'a. Или на на форуме chief-net'a. Djinn Tile Mapper alex edition. Или на форуме chief-net есть моя версия Djinn Tile Mapper. Они поддерживают загрузку палитры. --- Цитата: perfect_genius от 19 Январь 2021, 22:46:27 ---YY-CHR грузит, но цвета не те. --- Конец цитаты --- Ты, видимо, что-то неправильно делаешь. Там есть два режима палитры. Надо выбирать Pal Set(RGB Palette + Table). --- Цитата: perfect_genius от 19 Январь 2021, 22:46:27 ---Т.е. в UMK3 иконки формируются наложением двух слоёв?! --- Конец цитаты --- Да, когда конвертят картинку из 32 цветов, то делят её на два слоя. Так как велика вероятность, что на одном тайле будут присутствовать более 16 цветов. --- Цитата: perfect_genius от 19 Январь 2021, 22:46:27 ---Ну и раз уж зашла тема про экран персонажей, то в роме есть большой архив со всеми иконками персонажей, и его изменение ни к чему не приводит. Более того, его удаление из рома ни на что не влияет --- Конец цитаты --- Видимо, хакер раньше с этого места использовал иконки без сжатия. А потом сжал и переместил в другое место, а здесь не стал удалять или забыл. |
| Беларус:
Ого, Djinn Tile Mapper активно развивается тобой :thumbup: Всё работает, спасибо. Нашёл палитру в роме сверив с дампом. Где удобно подобрать нужные цвета? В сети есть палитры с хекс-значениями. Или Djinn Tile Mapper как-то покажет? И как выбрать прозрачный цвет? Выбрал белый - а он оказался действительно белым. Насчёт архива с иконками - нет, они внутри оригинальной американской версии. |
| Марат:
--- Цитата: perfect_genius от 21 Январь 2021, 00:29:58 ---Где удобно подобрать нужные цвета? В сети есть палитры с хекс-значениями. --- Конец цитаты --- Там обычные цвета. Интенсивность красного, синего и зеленого от 0 до 240. Но они хранятся сдвинутыми на 4 бита вправо. Всего 12 бит. R - 4 бита, B - 4 бита и G - 4 бита. Почитай в документациях. --- Цитата: perfect_genius от 21 Январь 2021, 00:29:58 ---И как выбрать прозрачный цвет? Выбрал белый - а он оказался действительно белым. --- Конец цитаты --- Первый цвет всегда прозрачный будет в игре независимо от того, какого он цвета. |
| Беларус:
Доку читал, слишком сложно на ходу вникнуть : ) Обычно изучаю и пробую, просто на этот раз срочно надо. Т.е. простого способа получить строку в хекс-формате и вставить его в ром - нет? Наверно, можно сохранить в .pal и выковыривать нужно оттуда? --- Цитата: Марат от 21 Январь 2021, 01:09:58 ---Первый цвет всегда прозрачный будет в игре независимо от того, какого он цвета. --- Конец цитаты --- Генри Форд: "Цвет автомобиля может быть любым, при условии, что он черный" :) В палитре Джина 64 цвета, первые - это самые левые, да? А в палитре окна тайла почему ходит какая-то белая рамка по каждым четырём цветам? Это как-то связано с количеством бит на цвет? Может, есть дока по твоему Джину? |
| Марат:
--- Цитата: perfect_genius от 21 Январь 2021, 01:37:56 ---А в палитре окна тайла почему ходит какая-то белая рамка по каждым четырём цветам? Это как-то связано с количеством бит на цвет? --- Конец цитаты --- Там выделено то количество цветов, которое тебе доступно для рисования в тайле. Это набор цветов для тайла. Если выделено только 4, значит ты редактируешь тайл в формате 2 bpp. Доки никакой нет, к сожалению. --- Цитата: perfect_genius от 21 Январь 2021, 01:37:56 ---В палитре Джина 64 цвета, первые - это самые левые, да? --- Конец цитаты --- Да --- Цитата: perfect_genius от 21 Январь 2021, 01:37:56 ---Т.е. простого способа получить строку в хекс-формате и вставить его в ром - нет? --- Конец цитаты --- Ну, есть всякие конвертеры. Искать надо. |
| Беларус:
SMD Есть ли какие-то общие способы найти карту тайлов? Например, просмотрщик VDP может как-то подскажет? Может даже в каком-то эмуляторе в VDP можно ставить бряк? Я правильно понимаю, что тайлы распаковываются в память, из памяти копируются в видеопамять, а оттуда уже с помощью карты тайлов строится итоговая картинка на Plane A и Plane B, и спрайты? +карта ещё и может быть запакована? |
| DrMefistO:
--- Цитата: perfect_genius от 30 Январь 2021, 00:22:33 ---SMD Есть ли какие-то общие способы найти карту тайлов? Например, просмотрщик VDP может как-то подскажет? Может даже в каком-то эмуляторе в VDP можно ставить бряк? Я правильно понимаю, что тайлы распаковываются в память, из памяти копируются в видеопамять, а оттуда уже с помощью карты тайлов строится итоговая картинка на Plane A и Plane B, и спрайты? +карта ещё и может быть запакована? --- Конец цитаты --- https://www.youtube.com/watch?v=ADUbNv-6G0M Добавлено позже: http://www.emu-land.net/forum/index.php/topic,81112.0.html |
| Навигация |
| Главная страница сообщений |
| Следующая страница |