|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Кокой вариант перевода слова "Instructor"("Sensei" в яп. версии) лучше?. |
Преподаватель |
|
32% |
[ 21 ] |
Инструктор |
|
67% |
[ 43 ] |
|
Всего проголосовало : 64 |
|
Автор |
Сообщение |
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Дек 08, 2006 4:03 pm Заголовок сообщения: Final Fantasy VIII [PSX] |
|
|
Вот решил я рискнуть здоровьем и попробовать ломануть FF8(найти текст и все необходимые для перевода ресурсы). Сразу хочу спросить: её кто-нибудь переводил(ит)? А то если так, то зачем зря силы тратить.
Собственно, у меня вопрос к знатокам по сжатию текста.
Похоже, что текст в игре пожат. Алгоритм вроде не сложный, но я его не знаю.
Вот скрин. Если что, то кусок с этим текстом и неполная таблица лежат тут.
Я заметил, что после каждого FF байта идёт 8 символов, но как только попадается другой байт, то текст идёт сжатым.
Текст должен быть такой:
[Текст]
Dr. Kadowaki
"How are you feeling?"
(Ok, I guess)
(My forehead hurts)\
"......Ok."\
Dr. Kadowaki
"Take is easy next time, you hear?"
[/Текст]
и т.д.
Последний раз редактировалось: HoRRoR (Сб Дек 16, 2006 10:48 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
gottax
Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Пт Дек 08, 2006 4:24 pm Заголовок сообщения: |
|
|
Лемпель-Зив (LZ). Но может быть и LZH, тогда *опа. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Дек 08, 2006 5:18 pm Заголовок сообщения: |
|
|
Кто-нибудь может объяснить принцип его действия? А то я только с LZ77 и RLE знаком.
gottax писал(а): | Но может быть и LZH, тогда *опа. |
Почему? |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пт Дек 08, 2006 7:27 pm Заголовок сообщения: |
|
|
По тому, что ты показал, невозможно определить, какой это тип LZ, но если тебе знаком LZ77, то что осталось ещё объяснить? Тогда ты сам понимаешь суть любого LZ, осталось только определить, как именно происходит отсылка к предыдущим данным.
Кстати, если у тебя полно места для хранения скрипта, можно вообще не ужимать его (переведённый), а написать прогу, которая проставляет через каждый 8 байтов ключи FF. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Дек 08, 2006 10:34 pm Заголовок сообщения: |
|
|
АнС писал(а): | По тому, что ты показал, невозможно определить, какой это тип LZ, но если тебе знаком LZ77, то что осталось ещё объяснить? Тогда ты сам понимаешь суть любого LZ, осталось только определить, как именно происходит отсылка к предыдущим данным. |
В принципе, почти разобрался. Осталось только определить управляющие биты.
АнС писал(а): | Кстати, если у тебя полно места для хранения скрипта, можно вообще не ужимать его (переведённый), а написать прогу, которая проставляет через каждый 8 байтов ключи FF. |
У меня тоже такая мысля была Я в Pac-Man 2 так и делал, хотя, пакер написать для тренировки тоже не мешало бы... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Дек 08, 2006 10:50 pm Заголовок сообщения: |
|
|
Кстати, в каком виде может храниться игровой шрифт? В тимах вроде нет(только дополнительные), а смотреть весь файл в тайловом редакторе просто нереально(как для меня, так и для редактора). |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 12:21 am Заголовок сообщения: |
|
|
Шрифт уже нашёл |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Сб Дек 09, 2006 12:26 am Заголовок сообщения: |
|
|
HoRRoR писал(а): | Шрифт уже нашёл |
Ты сразу пиши, где и как нашёл. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 12:40 am Заголовок сообщения: |
|
|
АнС писал(а): | Ты сразу пиши, где и как нашёл. |
Сначала в WinHex'е методом исключения нашёл место с шрифтом(забивал участки нулями, редактировал образ целиком, т.к. практически без разницы - редактировать образ или файл в образе с размером на 2 МБ меньше, да и сохраняется быстрее и без глюков), затем в Tile Molester'е подобрал режим: 4bpp linear, reverse order; Mode 2-Dimensional, 32 тайла по горизонтали(правда есть полоски, но завтра добьюсь чистой картинки). |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 11:35 am Заголовок сообщения: |
|
|
Мля, всё никак не могу разобраться...
Управляющий байт разбирается по битам справа налево - если 1, то добавить, если 0 - то читать 2 других управляющих байта, в которых инфа о кол-ве повторений и отступе назад. Но в них чё-то не стыкуется, а при изменении игра виснет...
Я выявил следующие закономерности:
8b42 10001011 01000010 - кол-во повторений: 5, ссылка на ~1 назад(".[8b42]Ok.")
5942 01011001 01000010 - кол-во повторений: 5, ссылка на ~100 назад(next time,[5942][7e40])
7e40 01111110 01000000 - кол-во повторений: 3, ссылка на ~67(см. выше) |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 12:04 pm Заголовок сообщения: |
|
|
Оказывается шрифт тоже в tim'е хранится! Только сканеры его почему-то не заметили... |
|
Вернуться к началу |
|
|
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Сб Дек 09, 2006 1:36 pm Заголовок сообщения: |
|
|
Чтобы редактировать ТИМы, ищи прогу DeBabelizerPro5. Если не найдешь - я пришлю.
Фотошоп при сохранении портит палитру и заголовок большинства тимов.
Чтобы проверить это, открой файл в фотошопе, что-нибудь в нем измени и сохрани. Размер файла НЕ ДОЛЖЕН измениться.
В противном случае поступаешь так: перерисовываешь в фотошопе, но НЕ СОХРАНЯЕШЬ В НЕМ, а Ctrl+A, Ctrl+C. Открываешь копию в беберайзере, тоже весь файл выделяешь и вставляешь туда скопированный кусок. И вот там уже сохраняешь корректный тим. _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 2:00 pm Заголовок сообщения: |
|
|
SergeyK писал(а): | Чтобы редактировать ТИМы, ищи прогу DeBabelizerPro5. Если не найдешь - я пришлю.
Фотошоп при сохранении портит палитру и заголовок большинства тимов. |
Находил какой-то DeBabelizerPro, но не стал качать, т.к. много ссылок на разных беберайзеров(фиг поймёшь, где нужный), да и времени не хватало, с учётом того, что файл где-то 20 МБ весил(точно не помню). Тут не он случайно?
В фото*опе ессно не сохраняю, конвертирую в БМП, а потом обратно в TIM(всё в TIMViewer'е). Можно ещё в Tile Molestere редактировать, но это уже в крайних случаях.
З.Ы. Как получилось?
|
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 2:49 pm Заголовок сообщения: |
|
|
Кстати, как можно нормально сохранить образ? Пробовал CDmage, UltraISO - после сохранения не запускается в эмуляторе, а образ целиком редактировать не стоит, т.к. там данные идут не в стандартном порядке(поэтому я в шрифте полосы видел).
А поинтеры на PSX бывают? И если есть, то абсолютные или относительные? |
|
Вернуться к началу |
|
|
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Сб Дек 09, 2006 2:55 pm Заголовок сообщения: |
|
|
Нормуль _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
|
Гость
|
Добавлено: Сб Дек 09, 2006 4:10 pm Заголовок сообщения: |
|
|
С версией FFVIII для PSX есть одно НО.
Дело в том, что в комплекте с игрой шло небольшое устройство, что-то типа тамагочи. Мини-игра про чокобо. Так вот, эта мини-игра связана с FFVIII следующим образом: когда вы впервые ловите чокобо в лесу вы можете дать ему имя и впоследствии импортировать данные из мини-игры. В основном импортируются предметы. Это, конечно, ерунда, НО... Дело в том, что некоторых стражей можно получить только путем импорта из мини-игры. Т.е. FFVIII без нее не будет полноценной. Не секрет, что ни у кого из нас нет лицензионной версии игры для PSX.
В версии же для PC мини-игра была реализована в виде отдельного приложения, поставляющегося на дисках с FFVIII. Перенос FFVIII на PC в отличие от переноса FFVII выполняла сама Square.
Не подумайте, что я кому-то что-то навязываю, но возможно стоит выполнить перевод FFVIII для PC-версии вместо PSX |
|
Вернуться к началу |
|
|
FlexibleMind
Зарегистрирован: 09.12.2006 Сообщения: 2 Откуда: Владивосток
|
Добавлено: Сб Дек 09, 2006 4:15 pm Заголовок сообщения: |
|
|
Извините, забыл войти) Предыдущий пост мой.
Еще одна вещь, то что перенос выполняла Square говорит о том, что он весьма качественный. _________________ Чувство такта - это умение не говорить того, что думают все. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 4:42 pm Заголовок сообщения: |
|
|
Мля... Это не есть хорошо...
А каким образом импортируются данные? И сколько предметов и стражей будет потеряно?
FlexibleMind писал(а): | Не подумайте, что я кому-то что-то навязываю, но возможно стоит выполнить перевод FFVIII для PC-версии вместо PSX |
Я боюсь, что на PC версии потеряна некоторая оригинальность.
Я писал(а): | Пробовал CDmage, UltraISO - после сохранения не запускается в эмуляторе |
Теперь всё нормально. Наверное это из-за атрибутов файла было...
З.Ы. Я так понимаю - это та игра.
|
|
Вернуться к началу |
|
|
FlexibleMind
Зарегистрирован: 09.12.2006 Сообщения: 2 Откуда: Владивосток
|
Добавлено: Сб Дек 09, 2006 5:01 pm Заголовок сообщения: |
|
|
Насколько я понял, вещи передаются через карту памяти. Но помимо передачи вещей, мини-игра нужна для повышения уровня чокобо. Кстати, я вспомнил, что вещи вроде весьма неплохие попадались. Старжи, кстати, тоже передаюся как предметы. Насколько я знаю это стражи Moomba и MiniMog.
Цитата: | Я боюсь, что на PC версии потеряна некоторая оригинальность. |
Неее, там все кул. Я ж говорю, Square сама переносила.
В общем тамагоча называется Pocket Station, вот тебе ссылка http://ff8club.ru/ff8/pocketstation.html. _________________ Чувство такта - это умение не говорить того, что думают все. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 6:05 pm Заголовок сообщения: |
|
|
Скачал отсюда нерабочий эмуль PocketStation и отсюда Chocobo World для PC-версии. Возможно получится написать конвертов сохранений Chocobo World в формат карты памяти... |
|
Вернуться к началу |
|
|
Nick
Зарегистрирован: 19.11.2005 Сообщения: 445
|
Добавлено: Сб Дек 09, 2006 6:15 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Мля... Это не есть хорошо...
А каким образом импортируются данные? И сколько предметов и стражей будет потеряно?
|
Всего двое: МиниМог и Мумба, ну и возможность увеличить силу Чокобо. Хотя эти стражи ничего особенного из себя не предстваляют и используются с помощью предметов (МиниМог с помощью команды МиниМог, вроде так). Предметов то же вроде немного, опять таки вызвать этих же стражей и вроде бы Лента. _________________ "With great power comes great responsibility..." |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 8:30 pm Заголовок сообщения: |
|
|
Так, ладно, со стражами разберёмся. На крайний случай и сейв можно найти.
Насчёт текста, в LZ указатели походу абсолютные. Т.е. если переместить указатель в другое место, текст будет тот же. Сейчас пытаюсь разобраться... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 9:56 pm Заголовок сообщения: |
|
|
Блин, всё никак не могу понять, как хранится количество повторений...
Первый байт указывает абсолютную(или относительную, но не от количества уже распакованных байт, а, может, например, от множителя, который увеличивается на 1, когда очередной блок байт переваливает за 256, но я ещё не уверен) позицию начала повторения, а во втором хранится количество и, скорей всего, ещё что-нибудь. Я думаю это может быть количество взятых символов и количество повторений. Например, "взять 2 символа и повторить 3 раза" с со строкой "абвг|деж", где "|" - позиция, куда указывает указатель, будет выглядить так: "дедеде". Но это тоже только догадки. Изменение второго байта не даёт ничего, кроме зависания, ошибок и пустого места вместо текста. Если же взять откуда-нибудь сразу два байта - указатель и кол-во повторений, то либо будет текст, который должен быть в месте взятия, либо произойдёт то же, что и в первом случае.
По крайне мере есть над чем подумать:
42 (0100 0010) - 5 символов
40 (0100 0000) - 3 символа
4c (0100 1100) - 14 символов
77 (0111 0111) - 15 символов |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Дек 09, 2006 11:15 pm Заголовок сообщения: |
|
|
Есть!
Алгоритм разгадан
При изменении кол-ва повторений висло из-за того, что я менял только один байт, т.е. изменял длину блока/текста в общем. Если же изменить сразу два разных байта так, чтобы они друг друга компенсировали, то всё работет!
Итак, вот весь алгоритм алгоритм:
Насчёт начального байта не знаю, у меня вроде не начало текста.
1. Читается байт, разлагается по битам справа налево.
1-1. Если бит=1, тогда просто добавляем байт.
1-2. Если бит=0, тогда читаем два байта
. 1-2-1. Берём первый байт, умножаем значение первых четырёх бит второго байта, на 256,
. прибавляем к первому байту, получаем абсолютный адрес.
. 1-2-2. Берём последние четыре бита второго байта, прибавляем три, получаем кол-во повторений.
. 1-2-3. Читаем из памяти байт, записываем в конец памяти. Повторяем согласно кол-ву повторений.
2. Читаем следующий байт(GoTo 1).
Последний раз редактировалось: HoRRoR (Вс Дек 10, 2006 12:22 pm), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вс Дек 10, 2006 1:37 am Заголовок сообщения: |
|
|
HoRRoR писал(а): | . 1-2-1. Берём первый байт, умножаем его на значение первых четырёх бит второго байта,
. получаем абсолютный адрес. |
Хммм, а может так: первые 4 бита умножаем на 256 и прибавляем первый байт (8b42 = вставить 5 байт из адреса 0x48B от начала буфера данных). Перепроверь.
Это же и есть LZ77, только ссылка не относительная, а абсолютная (поинтер из полтора байта). А три прибавляется потому, что нет смысла вставлять менее трёх байт (тогда уж проще скопировать их без вскиого сжатия).
Именно такой алгоритм использовался в RRR и многих других Сеговских игрушках, переведённых в 2001-2003 году (потом как-то пошли более сложные вещи). |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|