Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

IPS, PPF, а что ещё есть?

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Пустопорожняя болтовня
Предыдущая тема :: Следующая тема  
Автор Сообщение
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Вс Май 01, 2005 5:07 am    Заголовок сообщения: IPS, PPF, а что ещё есть? Ответить с цитатой

Не знал куда написать, написал в пустопорожнюю болтовню.

Народ, подскажите, какие есть другие форматы патчей? Желательно с ссылками на спецификации форматов. Very Happy
С форматами IPS, PPF 1.0, PPF 2.0 и PPF 3.0 я уже разобрался.

Хочу сделать прогу, которая бы "разбиралась" с большинством видов самых популярных патчей.
Также, я разрабатываю свой собственный формат, в чём его оригинальность - пока не скажу. Very Happy
Буду пытаться пропихнуть эту прогу как курсовую. Very Happy
Типа: "Универсальная программа для автоматизации создания обновлений файловых данных". Shocked О, как! Very Happy
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
gottax



Зарегистрирован: 16.11.2003
Сообщения: 588
Откуда: Курск

СообщениеДобавлено: Вс Май 01, 2005 5:47 am    Заголовок сообщения: Ответить с цитатой

Ещё есть APS (Advanced Patching System) или xPS. Используется для пропатчивания одиночных файлов размером более 16 мб (мы его использовали для патчей к Зельдам на Нинтендо64). Спецификации поищи на www.dextrose.com.

И у Axel'я прога где-то была. PokePatcher, если не ошибаюсьSmile Там свой формат патча:)

Вообще, универсаный инструмент вряд ли нужен (и даже вряд ли возможен), так как под разные случаи используются разные типы патчей (и никто не запрещает придумать свой формат). Хотя теоретически, сохраняется совместимость снизу-вверх, т. е. более продвинутый патчер может создавать патчи и для более мелких файлов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Пн Май 02, 2005 4:08 am    Заголовок сообщения: Ответить с цитатой

gottax писал(а):
Спецификации поищи на www.dextrose.com.

Грэйт сэнкс.
{Позже:
Что-то я там ничего не нашёл. Но, ладно IPS и PPF - для начала достаточно. Very Happy }
gottax писал(а):
...и никто не запрещает придумать свой формат...

Ладно, скажу, в своём формате я хочу реализовать следующие вещи:

1) Патчи будут обратимими (будут как патчит, так и депатчить), но весить они будут столько же, сколько весят необратимые (IPS, PPF1, PPF2).
2) Поддержка файлов размером в 256^256 байт. Shocked Very Happy Причём, размер указателя будет варьироваться.
Я был крайне удивлён, когда узнал, что ни первое, ни второе ещё нигде не реализовано. Shocked
3) А в будущем планирую реализовать пропатчивание смещённых данных. То есть: если данные были смещены (например, если создаём патч пересобранного ISO образа), то прога будет искать, какие данные смещались и куда. Я уже примерно представляю алгоритм поиска смещённых данных. Но, боюсь, попарюсь я с ним (с алгоритмом). Sad
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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 Wink )

**) сжатие, типа RLE отсутствует, поскольку всё равно патчи зипуются Smile
_________________
Всех их вместе переведём!


Последний раз редактировалось: Axel (Вт Май 03, 2005 3:29 pm), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Вт Май 03, 2005 3:25 pm    Заголовок сообщения: Ответить с цитатой

Virtual_Killer писал(а):
Патчи будут обратимими (будут как патчит, так и депатчить), но весить они будут столько же, сколько весят необратимые (IPS, PPF1, PPF2).

весь вопрос лишь в том, ЧТО ты назовешь "оригинальным", а что "измененным" файлом ;)

Virtual_Killer писал(а):
А в будущем планирую реализовать пропатчивание смещённых данных. То есть: если данные были смещены (например, если создаём патч пересобранного ISO образа), то прога будет искать, какие данные смещались и куда. Я уже примерно представляю алгоритм поиска смещённых данных.

А ты хорошо понимаешь, ЗАЧЕМ ты это будешь делать и что
получится...? Wink т.е. я понимаю, что это имеет смысл для ISO (как впрочем и для ZIP Wink), но зачем всё ровнять под одну гребёнку...
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Май 03, 2005 4:56 pm    Заголовок сообщения: Ответить с цитатой

Хех, помните, полтора года назад я хотел написать нечто подобное? Даже несмотря на то, что у меня тогда был гораздо более развёрнутый и масштабный план, я в итоге понял, что это нынче никому не нужно.
Ну не востребована эта утилита, смысл её писать? Разве что для курсовой, чтобы отделаться. А вот практической пользы от неё ноль.

Вообще, подходить к таким вещам нужно серьёзно. Создание нового формата - это гораздо более сложная деятельность, чем просто программирование. Тут документировать надо безустанно, да и сама идея должна быть революционная, а не эти мелочи... А без этого прога затеряется почти так же, как это случилось с *.PPP-патчами.

P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов. Wink Молодец. Только анализом я бы её деятельность не назвал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Ср Май 04, 2005 6:35 am    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
весь вопрос лишь в том, ЧТО ты назовешь "оригинальным", а что "измененным" файлом Wink

Для патча - разница будет (данные поменяются местами). Но для программы - разницы уже не будет. Wink
Axel писал(а):
А ты хорошо понимаешь, ЗАЧЕМ ты это будешь делать... ...т.е. я понимаю, что это имеет смысл для ISO (как впрочем и для ZIP Wink)

Верно. Wink

Axel писал(а):
что получится...? Wink

Получится такая штука:
Заголовок патча (Версия патча, вид патча, контрольные суммы и т.д.)
Потом будут зписаны координаты (как из оригинала, так и из изменённого файла) и длины одинаковых блоков. Что-то типа такого: [Количество одинаковых блоков], [Коорд. 1][Коорд. 2][Длина], [Коорд. 1][Коорд. 2][Длина]...
А далее - координаты, длины, и байты изменения "неодинаковых блоков".
[Коорд. 1][Коорд. 2][Длина 1][Длина 2][Алгоритм изменения], [Коорд. 1][Коорд. 2][Длина 1][Длина 2][Алгоритм изменения]...
А патч будет применяться так:
1) Прога вычисляет контрольную сумму и узнаёт, оригинал это или изменённый файл.
2) На основе существующего файла, собирается новый (копируются в нужные места одинаковые блоки и вставляются изменённые "неодинаковые" блоки).

Вообще, самая большая проблема - довольно сложный алгоритм программы.

Axel писал(а):
но зачем всё ровнять под одну гребёнку...

Я пока ещё ничего не ровняю. Изначально, я планировал сделать 2 альтернативных способа создания патчей:
1) Простым сравнением.
2) С поиском перемещённых данных.

АнС писал(а):
P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов.

Дык, она ж называется "Поганка", а не "Toadstool". Shocked
АнС писал(а):
Только анализом я бы её деятельность не назвал.

Скажем так, она помогает анализировать. Wink
Да и сама она кое-что анализирует.
Так, если рядом стоят 2 блока:
[-]0000-1FFF
[!]2000-3FFF
И "поганим" байты 1000-2FFF, и искомые данные "проявились", то:
1-й блок - не изменится, а 2-й изменится и станет 3-им:
[-]0000-1FFF
[+]2000-2FFF
[!]3000-3FFF

То есть: там, где данные - не проявлялись, они никогда и не проявятся. Что довольно логично. Wink
Вообще, в проге приоритеты выстроены так:
[?]<[!]<[+]<[-]
На основе этого приоритета, программа и решает изменять блок, или нет.

Для тех, кто не видел мою прогу, и не знает обозначений:
[?] - Непроверенные блоки.
[!] - Блоки с данными, при изменении которых - происходит сбой.
[+] - Блоки с искомыми данными.
[-] - Блоки без искомых данных.

Я послал Djinn'у новую версию поганки, но пока он её не выложил, можете скачать отсюда.
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
SergeyK



Зарегистрирован: 02.12.2003
Сообщения: 1278

СообщениеДобавлено: Ср Май 04, 2005 10:28 am    Заголовок сообщения: Ответить с цитатой

Virtual_Killer писал(а):
Дык, она ж называется "Поганка", а не "Toadstool". Shocked


По-английски - Toadstool.

Или на мировой рынок ты ее как Poganka продвигать будешь? Smile
_________________
Всю ночь не ешь, весь день не спишь. Конечно, устаешь...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Чт Май 05, 2005 4:26 am    Заголовок сообщения: Ответить с цитатой

SergeyK писал(а):
Или на мировой рынок ты ее как Poganka продвигать будешь? Smile

Про мировой рынок я пока не думал. Хм... нужно будет сделать подключаемые библиотеки с текстом программы, чтобы было проще переводить.
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Чт Май 05, 2005 12:20 pm    Заголовок сообщения: Ответить с цитатой

Virtual_Killer писал(а):
АнС писал(а):
P.S. VK, твоя Toadstool пожалуй самая удобная прога среди всех коррупторов.

Дык, она ж называется "Поганка", а не "Toadstool". Shocked

а я-то, грешным делом подумал, что название toads-tool - находка VK'а :)

P.S.
я вот в ПП, намеренно делаю так, чтобы пользоваться прогой
мог только человек знающий русский Wink
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Пт Май 06, 2005 2:38 am    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
я вот в ПП, намеренно делаю так, чтобы пользоваться прогой
мог только человек знающий русский Wink

А зачем? Для буржуев - жалко? Very Happy
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Сб Май 07, 2005 12:36 am    Заголовок сообщения: Ответить с цитатой

Virtual_Killer писал(а):
А зачем? Для буржуев - жалко? Very Happy

Зачем нужна программа перевода, если она будет использоваться для перевода не на русский ? Smile
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex!
Гость





СообщениеДобавлено: Вт Май 23, 2006 9:13 pm    Заголовок сообщения: Ответить с цитатой

Я собираюсь сделать русификатор игры, но файл в котором хранятся тексты занимает 250мб. Можно ли каким либо патчером сделать патч который будет в английскую версию будет вшивать "русский блок"?
Вернуться к началу
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Май 25, 2006 12:34 am    Заголовок сообщения: Ответить с цитатой

Ну PPF используй.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Alex!
Гость





СообщениеДобавлено: Чт Май 25, 2006 1:08 am    Заголовок сообщения: Ответить с цитатой

А где его может достать, и сможет ли он из одного 250мб файла вычислить другой автоматически, или потребуется выискивать ресурсы и указывать ему что и куда вставлять
Вернуться к началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Пустопорожняя болтовня Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group