| Разработка и ромхакинг > Ромхакинг и программирование |
| UniPatcher - патчер ROM'ов для Android |
| (1/2) > >> |
| Mashin:
UniPatcher - патчер ROM'ов для смартфонов на Android. Программа поддерживает множество форматов патчей: IPS, IPS32, UPS, BPS, APS (GBA), APS (N64), PPF, DPS, EBP и XDelta3. Также программа умеет: - исправлять контрольную сумму для игр Sega Mega Drive (используется если игра после пропатчивания не запускается, отображая лишь красный экран) - удалять/добавлять SMC заголовок для игр Super Nintendo - создавать патчи в формате XDelta3 Сайт программы: https://github.com/btimofeev/UniPatcher Скачать можно в Google Play или F-Droid. Я являюсь автором программы, т.ч. принимаю в этой теме пожелания по дальнейшему развитию, отчеты об ошибках и т.п. Проект открытый, если кто-то хочет помочь с развитием пишите мне. |
| Mr2:
--- Цитата: Mashin от 24 Февраль 2020, 13:36:14 ---Я являюсь автором программы, т.ч. принимаю в этой теме пожелания по дальнейшему развитию --- Конец цитаты --- Думаю что полезно будет добавить поддержку чит патчей. Формат простой (скрипт). Тут пример создания патча. |
| Mashin:
--- Цитата: Mr2 от 24 Февраль 2020, 14:04:33 ---Думаю что полезно будет добавить поддержку чит патчей. Формат простой (скрипт). Тут пример создания патча. --- Конец цитаты --- Нужно более подробное описание формата скрипта, из скриншота много не поймешь, а ссылка на Cheat patcher v0.4 битая. А в целом можно добавить. |
| Mr2:
--- Цитата: Mashin от 24 Февраль 2020, 14:20:43 ---Нужно более подробное описание формата скрипта, --- Конец цитаты --- Скрипт описан в файле "Техническая информация.txt" в архиве с программой. --- Цитата: Mashin от 24 Февраль 2020, 14:20:43 ---А в целом можно добавить. --- Конец цитаты --- Круто! :wow: |
| Yoti:
--- Цитата: Mashin от 24 Февраль 2020, 14:20:43 ---А в целом можно добавить. --- Конец цитаты --- Можешь не тратить зря время, этим никто не пользуется всё равно. |
| Mr2:
Позиция недалёкого тро-ло-ло сообщества нам давно ясна: "нам ваш интернет не нужОн". :crazy: Если и патчить чит коды, то только через хекс редактор, естественно он должен быть консольным, а не унылым окном с кнопками. :thumbup: PS: Накручивая счётчик постов глупыми сообщениями, ром хакером стать не получится. ::) |
| dedok179:
--- Цитата: Mr2 от 26 Февраль 2020, 08:36:37 ---Позиция недалёкого тро-ло-ло сообщества нам давно ясна: "нам ваш интернет не нужОн". :crazy: Если и патчить чит коды, то только через хекс редактор, естественно он должен быть консольным, а не унылым окном с кнопками. :thumbup: PS: Накручивая счётчик постов глупыми сообщениями, ром хакером стать не получится. ::) --- Конец цитаты --- Там уже давно все понятно. Не думал о графической оболочке для написания самих патчей, или оно излишне уже будет? Некоторые недохацкеры негодуют наверное, что это за команды и как их правильно расставить чтобы мир не схлопнулся. |
| Mr2:
--- Цитата: dedok179 от 26 Февраль 2020, 08:59:34 ---Не думал о графической оболочке для написания самих патчей, или оно излишне уже будет? --- Конец цитаты --- Думал, но один все вопросы решить не могу. Да, и изначально формат был открытым, и выкладывался до его реализации на суд публике. Так что любой, кому не лень, может заняться этим вопросом. :) --- Цитата: dedok179 от 26 Февраль 2020, 08:59:34 ---Некоторые недохацкеры негодуют наверное, что это за команды и как их правильно расставить чтобы мир не схлопнулся. --- Конец цитаты --- Максимум что я мог сделать(Техническая информация.txt), я сделал. |
| Sharpnull:
* Можно добавить исправление контрольной суммы SNES, это не влияет на запуск в эмуляторе, но он пишет, когда неверная. * Почему-то SD карту не могу выбрать. Может что-то не понял. * Сортировку возможно лучше сделать без учёта регистра. * Патчи читов можно сделать простого формата как список 01FFBE:0A и Game Genie как в Game Genie Guy! (есть исходный код). Такой же формат (наверно общепринятый) на https://gamehacking.org/, только там ещё есть интервалы и ещё некоторые приколы. Какое сжатие поддерживает xdelta (VCDIFF)? -------- Про xdelta почему спрашиваю. xdelta3 для винды по умолчанию добавляет сжатие (secondary compression) lzma, которое не поддерживает web-патчер https://www.marcrobledo.com/RomPatcher.js/. Попробовал сейчас в UniPatcher - ошибка, без сжатия ещё не пробовал. UPD: Без сжатия работает, если создан так: --- Код: ---xdelta3.exe -e -S -s old.bin new.bin delta.vcdiff --- Конец кода --- Если убрать -S, то по умолчанию lzma и ошибка в UniPatcher. -------- * Можно добавить удаление/добавление FDS заголовка. Игр для FDS мало, но некоторые старые эмуляторы понимают только с заголовком или только без. Это легко, одна сторона всегда размером 65500, а заголовок 16 байт, в котором "FDS", количество сторон и нули. Проверка остатка и всё. Ещё иногда нужно склеивать стороны в один файл, но это, наверно, излишне. Если что, дописывал конвертер QD <-> FDS на Python 3: [*]Добавил контрольные суммы, вместо нулей, которые есть в QD, но в образах в сети они не всегда верные и хотя размер QD больше (65536), конец может обрубиться из-за контрольных сумм, но там обычно мусор. [*]Возможность добавления FDS заголовка при QD -> FDS. [*]Любое количество сторон (255 макс. для байта). [*]Исправил некоторые баги.[/list] https://gist.github.com/infval/18d65dd034290fb908f589dcc10c6d25 -------- * Хорошо бы добавить высчитывание контрольной суммы, как в https://www.marcrobledo.com/RomPatcher.js/. Есть отдельные программы и X-plore показывает SHA-1, MD5 (но не CRC32 :( ), но так было бы удобней. |
| Mashin:
--- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---* Почему-то SD карту не могу выбрать. Может что-то не понял. * Сортировку возможно лучше сделать без учёта регистра. --- Конец цитаты --- Я в одной из ближайших версий планирую перейти на встроенный в Android диалог выбора файлов, т.к. в моей текущей реализации слишком много проблем и от неё давно надо было отказаться. --- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---* Хорошо бы добавить высчитывание контрольной суммы, как в https://www.marcrobledo.com/RomPatcher.js/. --- Конец цитаты --- Оно есть, но видимо не в самом интуитивно понятном месте. Нужно при выборе файла сделать долгий тап на него, откроется окошко с свойствами файла, там есть контрольные суммы. С переходом на стандартный выбор файла перенесу это в главное окно. --- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---Какое сжатие поддерживает xdelta (VCDIFF)? --- Конец цитаты --- Наверное никакое :) Подобные патчи мне не попадались. Посмотрю как прикрутить, спасибо. --- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---* Можно добавить удаление/добавление FDS заголовка. --- Конец цитаты --- Даже не знал что такое существует. Посмотрю на досуге. --- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---* Патчи читов можно сделать простого формата как список 01FFBE:0A и Game Genie --- Конец цитаты --- Уже думал о таком, да и для Symbian когда-то давно писал подобное. Добавлю. Добавлено позже: --- Цитата: Yoti от 25 Февраль 2020, 02:15:44 ---Можешь не тратить зря время, этим никто не пользуется всё равно. --- Конец цитаты --- Ну бежать и прямо сейчас делать я не собираюсь, есть куча вещей которых нужно до этого поменять\добавить в программу. Но себе на заметочку я такие штуки записываю, так что может когда-то будет время и желание добавить. |
| Sharpnull:
--- Цитата: Mashin от 27 Февраль 2020, 12:01:19 ---Нужно при выборе файла сделать долгий тап на него, откроется окошко с свойствами файла, там есть контрольные суммы. --- Конец цитаты --- Я не догадался, но вообще это удобно, чем сначала выбрать файл, а потом смотреть контрольную сумму. Она ещё высчитывается не сразу, поэтому нельзя выводить без явного действия от пользователя. UPD: Но дополнительный пункт в меню для контрольной суммы тоже хорошо. * Иконку приложения стоило бы заменить на более подходящую по смыслу, обычный геймпад ни о чём не говорит. Добавить изображение заплатки. Например так: |
| Mashin:
--- Цитата: Sharpnull от 27 Февраль 2020, 14:24:17 ---* Иконку приложения стоило бы заменить на более подходящую по смыслу, обычный геймпад ни о чём не говорит. Добавить изображение заплатки. --- Конец цитаты --- Иконка у этого приложения менялась уже раз 5. Последний раз Nintendo выдвинуло требование изменить, тк геймпад был похож на геймпад SNES (с него и рисовался :)). Мне, честно сказать, надоело их менять, тк художник из меня никакой и это отнимает много времени. А если рисовать с заплаткой, то лучше тогда не геймпад, а картридж, так будет более подходить по смыслу. Но если кто-то нарисует красивую иконку в svg формате, то рассмотрю вариант замены, а так пусть будет пока эта. |
| Sharpnull:
--- Цитата: Mashin от 27 Февраль 2020, 15:08:12 ---А если рисовать с заплаткой, то лучше тогда не геймпад, а картридж, так будет более подходить по смыслу. --- Конец цитаты --- Иконка геймпада символизирует игру, а картридж - ром. Игра более широкое понятие, чем ром, хотя в роме может быть не только игра. В принципе, патчить можно не только ром файлы, но образы дисков и вообще любых файлов. Так как вы позиционируете приложение для применения к файлам игр, то геймпад с заплаткой вполне подходит. Картридж с заплаткой тоже подходит, но будет ли он смотреться. Мой пример с заплаткой на кнопки органично вписывается (в Photoshop как раз заплатка с 4 точками). Для картриджа придётся выдумывать дополнительные детали, поэтому что спереди это просто прямоугольник с некоторыми углублениями. У https://www.marcrobledo.com/RomPatcher.js/ просто чип (или как это называется), что суть рома или дампа. Необязательно лепить заплатку, можно изобразить чип или картридж в котором один кусок заменяется другим (вырезан как от пирога), потому что патчи и есть замена части байтов другими. |
| Mashin:
--- Цитата: Sharpnull от 26 Февраль 2020, 14:23:31 ---xdelta3 для винды по умолчанию добавляет сжатие (secondary compression) lzma --- Конец цитаты --- Добавил сегодня поддержку lzma, появится в следующем обновлении приложения. Ещё раз спасибо за наводку. |
| Mashin:
Выпустил версию 0.17. Изменения: - встроенный файловый менеджер заменён на стандартный Storage Access Framework. Теперь можно работать с файлами на SD-карте и облачном хостинге (например Google Drive), но применение патчей требует больше времени и свободного места на диске. Временно удалены просмотр контрольных сумм файла и настройка директорий. - добавлена поддержка LZMA компрессии в патчах формата XDelta3 - удалена возможность добавления SMC заголовка к ROM'ам Snes (за эти годы мне ни разу не понадобилась эта функция) - поддержка Android 10 и 11 - исправлено исчезновение уведомлений - много мелких изменений в интерфейсе Скачать APK можно с офф.страницы https://github.com/btimofeev/UniPatcher/releases/tag/v0.17 В google play и f-droid обновится попозже. |
| Durakover900000:
Mashin, можете добавить в пожертвования яндекс кошелёк а то пей пал и биткоит не перевариваю |
| Mashin:
--- Цитата: Durakover900000 от 20 Сентябрь 2020, 08:14:09 ---Mashin, можете добавить в пожертвования яндекс кошелёк а то пей пал и биткоит не перевариваю --- Конец цитаты --- В приложение пока добавить не могу, так как страничка донатов создается внешней библиотекой (отдельно для свободного apk и для версии в Google play), а эта библиотека Яндекс деньги не поддерживает. Но если что, то вот мой номер Яндекс кошелька 41001531787062. |
| Grinmen:
Хотелось чтобы можно было делать по мимо патяиваеия, P. S хотелось бы чтобы можно было корректировать пропатченые файлы если они не запускаются в эмуляторе |
| Mashin:
--- Цитата: Grinmen от 02 Октябрь 2020, 21:19:01 ---хотелось бы чтобы можно было корректировать пропатченые файлы если они не запускаются в эмуляторе --- Конец цитаты --- В каком смысле корректировать? Для SMD есть исправление контрольной суммы для тех эмуляторов которые сами этого не умеют. Для остального существуют Hex-редакторы, тк другого универсального средства пока не придумали. |
| Photon9:
Для пк есть утилиткпа правящая это дело, пару раз с витой мне помогала когда вместо игры был красный экран |
| Навигация |
| Главная страница сообщений |
| Следующая страница |