Здравствуйте. Ищем человека способного вытащить текст и шрифт из образа игры для GameCube и перегонке их в формат, удобный для редактирования (и, соответственно, потом обратно). На данный момент образ разобран с помощью GameCube Rebuilder (GCR) v1.0, большую часть извлеченных файлов (они формата .fsys) дальше прогнали через gcfsysd и получили еще более мелкие составляющие. Ни мой уровень знаний, ни уровень знаний человека - инициализатора проекта перевода не позволяет получить доступ к ресурсам игры. Касаемо шрифтов также следующая информация имеется:
...
romster
нужен opening.bnr я их часто встречаю просто так открытыми чаще даже в корне то есть в ROOT
но чтоб его начать редактировать надо раза 2 или 3 распаковывать всяческие архивы
opening.bnr дает 3 файла с расширением bin
bin файлы нужно по возможности конвертнуть в arc причем обработав заголовок файла НЕХредактором иначе конвертнет не правильно
ну а тут уже стандартная процидура работы c arc файлами
Все бы ничего но проццес запаковки еще страшней
...
Знание английского и, надеюсь, русского у нас имеется, с кодированием - увы. Спасибо за внимание.
Pokemon Colosseum [PAL]
Сообщений 1 страница 20 из 179
Поделиться12013-07-13 00:54:05
Поделиться22013-07-15 00:43:46
Найден текст в файле boot.dol через WinHex. Загвоздка в том, что boot.dol в ходе распаковки в папке игры найден не был, но случайно сегодня был извлечен методом научного тыка в эмуляторе dolphin(навел на образ рома-свойства-извлеч DOL). Пока разбираюсь как и почему и где. Еще таким образом извлечен apploader. Еще надо найти шрифт, но главное не в этом. Необходимо иметь программу извлекающую текст в скрипт, плюс обратно вставлять, но уже с измененным кол-вом букв. Знающие люди, посмотрите хотя бы файлы, посоветуйте хоть для начала как это все решить и в какую сторону двигаться.
&&systemdata-папка из корня рома с файлами
и еще два файла dol и img извлечены Dolphinom,
http://yadi.sk/d/JRbEqt4P6pC0h
Там про Карту Памяти диалоги есть и команды какие-ещ, потом на алфавит похоже вообще. На всякий случай opening.bnr
Отредактировано Armorant (2013-07-15 00:54:04)
Поделиться32013-07-15 13:20:02
Для того, чтобы править текст, нужно разобраться с поинтерами, они, с огромной долей вероятности, лежат в том же boot.dol
Вполне возможно, что и шрифт там же хранится, хотя и не обязательно.
Сам бут.дол при разборке образа не нашли, т.к. он лежит в загрузочной области диска, его вынимать уже другим софтом нужно. По поводу прог, которыми лучше образ ковырять проконсультируйтесь с Антоном, он для куба Зельду переводил, поэтому должен помнить. Да и вообще, у него на сайте какие-то инструменты выложены были.
Отредактировано lupus (2013-07-15 13:24:12)
Поделиться42013-07-15 21:07:38
Спасибо lupus за совет. Вопрос уже ему задал. Пытаюсь освоить Круптар 7 версии. Хочу понять поинтеры. Есть закономерность. Перед началом нового сообщения всегда FF0700 есть, а 0000FF-в конце сообщения пишется, т.е. между сообщениями это выглядит примерно так:
00210000FFFF070000530061 (участок .!.......S.a.)
.P.O.W.E.R. .B.u.t.t.o.n.!.......S.a.v.i.n.g. .t.o. t.h.e.(ну и далее)
Так я правильно их нашел? Круптар 7 подойдет? А то она вроде для гба как. И таблицу как я понял и по этому Хексу составить можно или только по наглядному шрифту?
Поделиться52013-07-15 21:20:19
В теории круптар пойдёт, но иногда, если что-то экзотическое, то приходится писать свой софт или плагин к круптару. Я сам не программер, поэтому разбираю формат хранения текста и для меня пишут софт.
То, что ты нашёл - это не поинтеры. Это скорее всего указатели начала и конца строки, хотя вовсе не факт.
Ты бы сам дол выложил и пару скринов с текстом, желательно какой-то диалог, пару скринов подряд, чтобы понимать как выглядит разрыв строки и стоп-байт, если они кодятся спец. последовательностью.
Может чем и поможем...
Поделиться62013-07-15 22:07:34
Authorities have made a stunning announcement on the mysterious building that exploded in ECLO CANYON. It was TEAM SNAGEM's HIDEOUT.##
Власти сделали шокирующее заявление о взрыве на таинственном здании в каньоне ЭКЛО. Им оказалось УБЕЖИЩЕ КОМАНДЫ СНЭГИМ.##
TEAM SNAGEM is a gang of POKEMON abductors who have already been marked for arrest.##
КОМАНДА СНЭГИМ - банда похитителей покемонов, подлежащих скорейшему аресту.##
The HIDEOUT was discovered only as result of the explosion. By the time police arrived, the ruined building had already been abandoned.##
Укрытие было обнаружено только благодаря взрыву. На момент прибытия полиции здание уже было заброшено.##
The cause of the explosion is under investigation. It should become apparent eventually.##
Обстоятельства взрыва расследуются. Причина скоро станет известна.##
Header GameCube мне не известен, он для высчитывания поинтера нужен, судя по руководству с Шедевра.
Вырезка из предварительного перевода и ниже скриншот того места в Start.dol (строки немного кривые, извините) :
Отредактировано Armorant (2013-07-15 22:35:57)
Поделиться72013-07-16 10:45:23
Header GameCube мне не известен, он для высчитывания поинтера нужен, судя по руководству с Шедевра.
Не нужен он, скорей всего. Это для NES, SNES, GBA или еще чего-нить там он может и нужен.
А на кубе вряд ли.
Тут пойнтеры скорей всего лежат блоком перед текстом.
Адрес начала строки минус значение пойнтера = разница смещений.
Возможно, Адрес начала строки минус перевернутое значение пойнтера, но в зельдах было просто значение.
Судя по скрину выше, FFFF - это разрыв строки (перевод каретки).
А "03" похоже на стоп-байт (конец диалога).
нужен opening.bnr
зачем он нужен?
вряд ли в нем есть что-то, нужное для перевода.
00210000FFFF070000530061 (участок .!.......S.a.)
.P.O.W.E.R. .B.u.t.t.o.n.!.......S.a.v.i.n.g. .t.o. t.h.e.(ну и далее)
Похоже, что 0000 - конец выделения цветом, 0700 - начало выделения цветом, FFFF - перевод каретки. Проверь, так ли оно в игре.
Это все в таблицу надо повносить.
Отредактировано Anton299 (2013-07-16 11:44:52)
Поделиться82013-07-16 12:11:10
Ты файл приложи с этим текстом отдельно. Я посмотрю указатели. Возможно, даже получится проект сделать, но не обещаю.
Отредактировано Mefistotel (2013-07-16 12:11:34)
Поделиться92013-07-16 20:22:11
Антон299, сейчас еще посмотрю и сравню поинтеры указанные тобой. Цвета другого, кроме белого не было, также как и выделения, подчеркивания и тд. Единственное, сообщение про карту памяти и и такие меню как магазин и другие системные, имебт специальное диалоговое окно - штрихованное такое немного темнее стандартного, который под диалоги с НПС и тп.
Мефистотель, файлы те есть по ссылке выше, ссылка на яндекс которая. Кажется весь текст игры в 4мбайтном Start.dol.
Также вот ссылка на торрент с игрой
http://rutracker.org/forum/viewtopic.php?t=391659
Мы переводим версию Колизей, не ХД. Хотя с очень большой вероятностью устроены они идентично. Все тоже самое, но немного с другим наполнителем.
Отредактировано Armorant (2013-07-16 20:27:32)
Поделиться102013-07-16 22:37:48
Это не пойнтеры, это коды контроля текста.
Ну может эти коды отвечают за вид диалогового окна, а не за выделение цветом, запросто такое может быть.
0700 - говорит игре, что надо выводить определенное диалоговое окно, а 0000 обозначает, что закончили выводить это диалоговое окно.
Поищи последовательности байт, идущие по увеличению значений. Это очень похоже на пойнтеры. Проверь-ка вот это в start.dol:
Похоже, что начало блока пойнтеров находится по адресу 002C1B38, значение первого пойнтера: 00000065. Этот блок пойнтеров идет сразу перед текстом.
Пойнтеры 4-байтные, идут через интервал 4 байта
Первый пойнтер: 00000065 - интервал 4 байта - второй пойнтер: 00000066 - 4 байта - третий пойнтер: 00000067... и т.д
Адрес последнего пойнтера (адрес первого его байта): 002C30B8 (для круптара, когда будешь указывать диапазон блока пойнтеров, можешь указать или последний его байт (002C30BB), или первый (002C30B8) - не важно).
Короче, для круптара вот так пишешь адреса блока пойнтеров (обязательно пиши "h" перед цифрами, если указываешь HEX-значение, а не десятеричное):
начало: h002C1B38
конец: h002C30B8
Текст, кажется, начинается с кода FFFF0700, по адресу 002С30С0 (первый байт - FF).
Разница смещений: 002С30С0-65=2С305B (адрес начала текста минус значение первого пойнтера) (тут оно 00000065 - переворачивай, не переворачивай - все равно значение 65).
Отредактировано Anton299 (2013-07-16 23:04:52)
Поделиться112013-07-16 23:04:30
Многие диалоги, например, репортажи по ТВ начинаются с двух битов 3D. На скриншоте подсвечены курсором.
0079002EFFFF020000FFFF0700FFFF3D0054
0079 - буква y
002E - точка(конец данного предложения и данного диалога вообще, по игре знаю)
FFFF - каретка что ты упомянул, я понял как Enter или конец, подтверждение ввода что-ли
0700 - тип окна
03 - действительно мелькает в местах между сообщениями с требованием подтверждения. Т.е. прошел текст, конец сообщения обозначен треугольником, нажимаешь кнопку подтверждения и далее начинается выводиться новое сообщение на эту же тему. (между сообщениями также отсутствует что либо еще, кроме этого 03 и FFFF, ни 0700 ни еще чего либо.)
02 - что это? Поинтер? Всегда встречается на границе двух разных диалогов.
0000 - закончить окно
0054 - буква T ну и далее текст.
Этот кусок был взят на стыке между концом одного репортажа и другим репортажом по тв уже в другом городе.
Отредактировано Armorant (2013-07-16 23:08:07)
Поделиться122013-07-16 23:12:44
02 - что это? Поинтер? Всегда встречается на границе двух разных диалогов.
Код, наверное, какой-то. (Пойнтеров ВНУТРИ текста нет. Здесь, во всяком случае).
Внутри текста тут только управляющие байты ("спец-коды").
Если он всегда на границе разных диалогов, значит он и есть стоп-байт - 02 - ... не?
А 03 тогда, как ты говоришь, не заканчивает блок текста, а инициирует нажатие кнопки подтверждения, или че там оно у тебя.
Если это так, вбей его в таблицу как
03=[next] (ну или че-то придумай вместо next).
002E - точка(конец данного предложения и данного диалога вообще, по игре знаю)
FFFF - каретка что ты упомянул, я понял как Enter или конец, подтверждение ввода что-ли
по-идее точка (конец предложения), потом новая строка (FFFF), потом конец уже всего блока/диалога - стоп, короче: (02).
есть там пустая строка в игре перед окончанием диалога?
Отредактировано Anton299 (2013-07-16 23:16:15)
Поделиться132013-07-16 23:36:31
Спасибо, Антон. Путь один - разбираться и вникать во все это.
Фигня какая-то. Таблица символов правильная те 77=w как и в роме и все остальные символы тоже. А выдает вот что. Из всех 1377 строк, дай Бог хоть 10 с каракулями, в остальных в поле лист пишет el, Правильно может не настроил? Хотя , стой, ступил. Ищу дальше. Текст в эти адреса не входил я так понял. Понятно, от слова .M.e.s.s.a.g.e (первой точки) отням величину смещения и получил поинтер, относсящийся к Message. он равен 00011CA9?
Выставив от h002C305B до h02D3FB8 (начало немецкой локализации) получил опять каракули.
Отредактировано Armorant (2013-07-17 00:55:22)
Поделиться142013-07-17 10:38:32
Может псочитали не правильно? Поинтер 00000065 вроде как не к началу Message относится, а к отдельным буквам перед этим, к алфавиту. Или это не важно?
Поделиться152013-07-17 10:39:08
Не 77=w, а 0077=w. И везде так же. Но не везде нули могут быть. Для всяких умляутов может быть и 0135 (к примеру). но всегда два байта, а не один. Двухбайтовая кодировка же.
>Выставив от h002C305B до h02D3FB8 (начало немецкой локализации)
я к английской пример приводил, вообще-то.
там блок пойнтеров, если все правильно, h002C1B38 - h002C30B8.
Отредактировано Anton299 (2013-07-17 10:42:19)
Поделиться162013-07-17 10:40:21
Может псочитали не правильно? Поинтер 00000065 вроде как не к началу Message относится, а к отдельным буквам перед этим, к алфавиту. Или это не важно?
Текст, похоже, начинается не со слова, а с кода FFFF. Попробуй сделать как я написал.
Если не прокатит, тогда уже экспериментируй.
Поделиться172013-07-17 11:28:51
Наконец, результат!
Далее ведь надо перерисовать шрифт. Да и текста здесь куда меньше чем есть в winhex.
И вопросы. Код окончания строки 03 а разрыва строки 02 или наоборот? Также среди текста What would you like<END>/00to do? (FFFF-END) есть 00, это переход на новую строчку? И почему-то правая часть окна, как я понял того рома в который все вставляется не форматируется как левая. (одинаковые строки выделены, но правая длинее за счет 00 и <END> там нет, хотя он прописан.
Отредактировано Armorant (2013-07-17 12:02:58)
Поделиться182013-07-17 12:04:45
Сбрось английскую таблицу, я вечерком попробую посмотреть.
До результата тут еще далеко. )
Комбинации кодов поищи, позаноси в таблицу.
Поделиться192013-07-17 12:17:24
Антон. Вот что наработал. Таблица, проект, ром.
Отредактировано Armorant (2013-07-17 15:35:16)
Поделиться202013-07-17 12:28:59
Бывает такое в японских образах.
Но это, как правило, моноширный шрифт.
Коды вычисляй и записывай, что они делают. Это важно и позволит твой скрипт привести в нормальный вид.
P. S. Сильно на скрин внимания не обращай. Это я так, 5 минут почитал написанное в теме и попробовал проект сделать. Явно видно, что код нажатия кнопки иной.
Отредактировано Mefistotel (2013-07-17 12:35:27)