 |
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Virtual_Killer

Зарегистрирован: 25.03.2004 Сообщения: 610 Откуда: Чекагинск
|
Добавлено: Вс Май 01, 2005 5:07 am Заголовок сообщения: IPS, PPF, а что ещё есть? |
|
|
Не знал куда написать, написал в пустопорожнюю болтовню.
Народ, подскажите, какие есть другие форматы патчей? Желательно с ссылками на спецификации форматов.
С форматами IPS, PPF 1.0, PPF 2.0 и PPF 3.0 я уже разобрался.
Хочу сделать прогу, которая бы "разбиралась" с большинством видов самых популярных патчей.
Также, я разрабатываю свой собственный формат, в чём его оригинальность - пока не скажу.
Буду пытаться пропихнуть эту прогу как курсовую.
Типа: "Универсальная программа для автоматизации создания обновлений файловых данных". О, как!  _________________ Не поймите меня правильно |
|
Вернуться к началу |
|
 |
gottax

Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Вс Май 01, 2005 5:47 am Заголовок сообщения: |
|
|
Ещё есть APS (Advanced Patching System) или xPS. Используется для пропатчивания одиночных файлов размером более 16 мб (мы его использовали для патчей к Зельдам на Нинтендо64). Спецификации поищи на www.dextrose.com.
И у Axel'я прога где-то была. PokePatcher, если не ошибаюсь Там свой формат патча:)
Вообще, универсаный инструмент вряд ли нужен (и даже вряд ли возможен), так как под разные случаи используются разные типы патчей (и никто не запрещает придумать свой формат). Хотя теоретически, сохраняется совместимость снизу-вверх, т. е. более продвинутый патчер может создавать патчи и для более мелких файлов. |
|
Вернуться к началу |
|
 |
Virtual_Killer

Зарегистрирован: 25.03.2004 Сообщения: 610 Откуда: Чекагинск
|
Добавлено: Пн Май 02, 2005 4:08 am Заголовок сообщения: |
|
|
Грэйт сэнкс.
{Позже:
Что-то я там ничего не нашёл. Но, ладно IPS и PPF - для начала достаточно. }
gottax писал(а): | ...и никто не запрещает придумать свой формат... |
Ладно, скажу, в своём формате я хочу реализовать следующие вещи:
1) Патчи будут обратимими (будут как патчит, так и депатчить), но весить они будут столько же, сколько весят необратимые (IPS, PPF1, PPF2).
2) Поддержка файлов размером в 256^256 байт. Причём, размер указателя будет варьироваться.
Я был крайне удивлён, когда узнал, что ни первое, ни второе ещё нигде не реализовано.
3) А в будущем планирую реализовать пропатчивание смещённых данных. То есть: если данные были смещены (например, если создаём патч пересобранного ISO образа), то прога будет искать, какие данные смещались и куда. Я уже примерно представляю алгоритм поиска смещённых данных. Но, боюсь, попарюсь я с ним (с алгоритмом).  _________________ Не поймите меня правильно |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вт Май 03, 2005 3:13 pm Заголовок сообщения: Re: IPS, PPF, а что ещё есть? |
|
|
Virtual_Killer писал(а): | Народ, подскажите, какие есть другие форматы патчей? |
PokePerevodPatch (версия 1.0)
Код: |
Байты(hex) Пояснение
-------- ---------------------
00-0E строка "Poke Patch v1.0" -заголовок (15 байт)
0F-12 Long - Смещение, после которого в файле патча только коментарии
(ссылка на "хвост" последнего чанка)
13-16 Long - адрес в ROM'е
17-1A Long - длинна чанка (длинна блока отличий)
1B-... сам блок отличий
...-... далее всё повторяется адрес_в_роме,длинна_блока,сам_блок
в конце файла (после смещения, указанного в 0F-12) комментарии,
в любом формате (в версии 1.0 только текст)
|
*) в версии формата 1.0 "long'и" лежат в little endian (Intel)
в версии формата 1.1 архитектура big endian (чтобы легче было смотреть в hex )
**) сжатие, типа RLE отсутствует, поскольку всё равно патчи зипуются  _________________ Всех их вместе переведём!
Последний раз редактировалось: Axel (Вт Май 03, 2005 3:29 pm), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вт Май 03, 2005 3:25 pm Заголовок сообщения: |
|
|
Virtual_Killer писал(а): | Патчи будут обратимими (будут как патчит, так и депатчить), но весить они будут столько же, сколько весят необратимые (IPS, PPF1, PPF2). |
весь вопрос лишь в том, ЧТО ты назовешь "оригинальным", а что "измененным" файлом ;)
Virtual_Killer писал(а): | А в будущем планирую реализовать пропатчивание смещённых данных. То есть: если данные были смещены (например, если создаём патч пересобранного ISO образа), то прога будет искать, какие данные смещались и куда. Я уже примерно представляю алгоритм поиска смещённых данных. |
А ты хорошо понимаешь, ЗАЧЕМ ты это будешь делать и что
получится...? т.е. я понимаю, что это имеет смысл для ISO (как впрочем и для ZIP ), но зачем всё ровнять под одну гребёнку... _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Май 03, 2005 4:56 pm Заголовок сообщения: |
|
|
Хех, помните, полтора года назад я хотел написать нечто подобное? Даже несмотря на то, что у меня тогда был гораздо более развёрнутый и масштабный план, я в итоге понял, что это нынче никому не нужно.
Ну не востребована эта утилита, смысл её писать? Разве что для курсовой, чтобы отделаться. А вот практической пользы от неё ноль.
Вообще, подходить к таким вещам нужно серьёзно. Создание нового формата - это гораздо более сложная деятельность, чем просто программирование. Тут документировать надо безустанно, да и сама идея должна быть революционная, а не эти мелочи... А без этого прога затеряется почти так же, как это случилось с *.PPP-патчами.
P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов. Молодец. Только анализом я бы её деятельность не назвал. |
|
Вернуться к началу |
|
 |
Virtual_Killer

Зарегистрирован: 25.03.2004 Сообщения: 610 Откуда: Чекагинск
|
Добавлено: Ср Май 04, 2005 6:35 am Заголовок сообщения: |
|
|
Axel писал(а): | весь вопрос лишь в том, ЧТО ты назовешь "оригинальным", а что "измененным" файлом  |
Для патча - разница будет (данные поменяются местами). Но для программы - разницы уже не будет.
Axel писал(а): | А ты хорошо понимаешь, ЗАЧЕМ ты это будешь делать... ...т.е. я понимаю, что это имеет смысл для ISO (как впрочем и для ZIP ) |
Верно.
Axel писал(а): | что получится...?  |
Получится такая штука:
Заголовок патча (Версия патча, вид патча, контрольные суммы и т.д.)
Потом будут зписаны координаты (как из оригинала, так и из изменённого файла) и длины одинаковых блоков. Что-то типа такого: [Количество одинаковых блоков], [Коорд. 1][Коорд. 2][Длина], [Коорд. 1][Коорд. 2][Длина]...
А далее - координаты, длины, и байты изменения "неодинаковых блоков".
[Коорд. 1][Коорд. 2][Длина 1][Длина 2][Алгоритм изменения], [Коорд. 1][Коорд. 2][Длина 1][Длина 2][Алгоритм изменения]...
А патч будет применяться так:
1) Прога вычисляет контрольную сумму и узнаёт, оригинал это или изменённый файл.
2) На основе существующего файла, собирается новый (копируются в нужные места одинаковые блоки и вставляются изменённые "неодинаковые" блоки).
Вообще, самая большая проблема - довольно сложный алгоритм программы.
Axel писал(а): | но зачем всё ровнять под одну гребёнку... |
Я пока ещё ничего не ровняю. Изначально, я планировал сделать 2 альтернативных способа создания патчей:
1) Простым сравнением.
2) С поиском перемещённых данных.
АнС писал(а): | P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов. |
Дык, она ж называется "Поганка", а не "Toadstool".
АнС писал(а): | Только анализом я бы её деятельность не назвал. |
Скажем так, она помогает анализировать.
Да и сама она кое-что анализирует.
Так, если рядом стоят 2 блока:
[-]0000-1FFF
[!]2000-3FFF
И "поганим" байты 1000-2FFF, и искомые данные "проявились", то:
1-й блок - не изменится, а 2-й изменится и станет 3-им:
[-]0000-1FFF
[+]2000-2FFF
[!]3000-3FFF
То есть: там, где данные - не проявлялись, они никогда и не проявятся. Что довольно логично.
Вообще, в проге приоритеты выстроены так:
[?]<[!]<[+]<[-]
На основе этого приоритета, программа и решает изменять блок, или нет.
Для тех, кто не видел мою прогу, и не знает обозначений:
[?] - Непроверенные блоки.
[!] - Блоки с данными, при изменении которых - происходит сбой.
[+] - Блоки с искомыми данными.
[-] - Блоки без искомых данных.
Я послал Djinn'у новую версию поганки, но пока он её не выложил, можете скачать отсюда. _________________ Не поймите меня правильно |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Ср Май 04, 2005 10:28 am Заголовок сообщения: |
|
|
Virtual_Killer писал(а): | Дык, она ж называется "Поганка", а не "Toadstool". |
По-английски - Toadstool.
Или на мировой рынок ты ее как Poganka продвигать будешь?  _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
Virtual_Killer

Зарегистрирован: 25.03.2004 Сообщения: 610 Откуда: Чекагинск
|
Добавлено: Чт Май 05, 2005 4:26 am Заголовок сообщения: |
|
|
SergeyK писал(а): | Или на мировой рынок ты ее как Poganka продвигать будешь?  |
Про мировой рынок я пока не думал. Хм... нужно будет сделать подключаемые библиотеки с текстом программы, чтобы было проще переводить. _________________ Не поймите меня правильно |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Чт Май 05, 2005 12:20 pm Заголовок сообщения: |
|
|
Virtual_Killer писал(а): | АнС писал(а): | P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов. |
Дык, она ж называется "Поганка", а не "Toadstool".
|
а я-то, грешным делом подумал, что название toads-tool - находка VK'а :)
P.S.
я вот в ПП, намеренно делаю так, чтобы пользоваться прогой
мог только человек знающий русский  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
Virtual_Killer

Зарегистрирован: 25.03.2004 Сообщения: 610 Откуда: Чекагинск
|
Добавлено: Пт Май 06, 2005 2:38 am Заголовок сообщения: |
|
|
Axel писал(а): | я вот в ПП, намеренно делаю так, чтобы пользоваться прогой
мог только человек знающий русский  |
А зачем? Для буржуев - жалко?  _________________ Не поймите меня правильно |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Сб Май 07, 2005 12:36 am Заголовок сообщения: |
|
|
Virtual_Killer писал(а): | А зачем? Для буржуев - жалко?  |
Зачем нужна программа перевода, если она будет использоваться для перевода не на русский ?  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
Alex! Гость
|
Добавлено: Вт Май 23, 2006 9:13 pm Заголовок сообщения: |
|
|
Я собираюсь сделать русификатор игры, но файл в котором хранятся тексты занимает 250мб. Можно ли каким либо патчером сделать патч который будет в английскую версию будет вшивать "русский блок"? |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Чт Май 25, 2006 12:34 am Заголовок сообщения: |
|
|
Ну PPF используй. |
|
Вернуться к началу |
|
 |
Alex! Гость
|
Добавлено: Чт Май 25, 2006 1:08 am Заголовок сообщения: |
|
|
А где его может достать, и сможет ли он из одного 250мб файла вычислить другой автоматически, или потребуется выискивать ресурсы и указывать ему что и куда вставлять |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|