Перейти на сайт Zelda64rus Суббота, 25.01.2020
Новые сообщения · Участники · Правила форума · Поиск · RSS

Форум » The Legend of Zelda — основные игры » Phantom Hourglass » Перевод - нужна помощь
Перевод - нужна помощь
EviLKaregДата: Воскресенье, 03.05.2009, 14:08 | Сообщение # 101
Кокири
Группа: Пользователи
Сообщений: 51
Статус: Оффлайн
Просто ищется в этом bin-архиве заголовок RLCN (начало файла с палитрой, заканчивается этот файл заголовком следующего - RECN). 512 байт с конца файла - это и есть палитра.
Адрес в Тайл Молестере записывается в десятичной системе.
 
dnd1Дата: Воскресенье, 03.05.2009, 15:09 | Сообщение # 102
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
EviLKareg, Спасибо.
И еще, сочетание RLCN и RECN характерно для всех нинтендовских графических файлов или только для этой игры?


Сообщение отредактировал dnd1 - Воскресенье, 03.05.2009, 15:09
 
EviLKaregДата: Воскресенье, 03.05.2009, 15:26 | Сообщение # 103
Кокири
Группа: Пользователи
Сообщений: 51
Статус: Оффлайн
Ну, в DS играх графика обычно хранится в них. Только непонятно почему так заголовок задом-наперед написан smile
NCLR - палитра
NCGR - изображение
NCER - вроде бы расположение тайлов
NANR - анимация
 
dnd1Дата: Воскресенье, 03.05.2009, 20:36 | Сообщение # 104
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (EviLKareg)
NCLR - палитра NCGR - изображение NCER - вроде бы расположение тайлов NANR - анимация

Спасибо. очень полезные данные. Просто подумываю написать программку для автопоиска адреса палитры в файле. Вот только есть ли смысл? Понадобится ли она? Искать вручную, конечно не сложно, но порой может и добить smile
 
djramsДата: Понедельник, 04.05.2009, 00:38 | Сообщение # 105
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
dnd1, Очень хорошо получилось. Если есть желание написать программку, думаю она лишней не будет:)))

EviLKareg, Отлично подобрана палитра, опиши процесс по подробней!

 
dnd1Дата: Понедельник, 04.05.2009, 14:03 | Сообщение # 106
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (djrams)
Отлично подобрана палитра, опиши процесс по подробней!

Если не против, отпишусь я. Как ты знаешь, в любом графическом файле уже имеется его палитра(Чтоб она корректно отображалась в игре). Нужно только найти ее адрес и представлять количество используемых там цветов.
При просмотре в HEX редакторе...
Quote (EviLKareg)
в DS играх графика обычно хранится:
NCLR - палитра
NCGR - изображение
NCER - вроде бы расположение тайлов
NANR - анимация

Только в этой игре заголовки почему-то зеркальны: RLCN - палитра(возможно эффект декомпрессии) smile
Т.е. для того, чтобы найти адрес начала палитры надо в HEX редакторе ищется...
Quote (EviLKareg)
заголовок RLCN (начало файла с палитрой, заканчивается этот файл заголовком следующего - RECN). 512 байт с конца файла - это и есть палитра...

, адрес ее начала. Его мы запоминаем и вбиваем в TileMolester
Quote (EviLKareg)

Palette-->Import from-->This file
Offset: "наш адрес", Size: "Размер палитры(количество цветов)"
. В DS играх чаше всего используется восьмибитовая палитра(2^8=256 цветов).
Пролистать палитру можно при помощи стрелок(слева и справа от палитры).
Вроде все. EviLKareg,если есть что-то еще - дополни smile .


Сообщение отредактировал dnd1 - Понедельник, 04.05.2009, 14:05
 
djramsДата: Вторник, 05.05.2009, 09:26 | Сообщение # 107
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton, Получилось победить шрифт основного текста. Теперь есть и русский и английский алфавит)))
А вот со шрифтом ввода имени проблема, не получается его с генерировать (
 
AntonДата: Вторник, 05.05.2009, 09:43 | Сообщение # 108
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Покажи хоть пару скринов, интересно как игра показывает.
 
djramsДата: Вторник, 05.05.2009, 09:51 | Сообщение # 109
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton, Дальше этого надо с поинтерами разбираться!
Внешний вид шрифта можно изменить)
Прикрепления: 2742509.jpg(40.8 Kb)
 
AntonДата: Вторник, 05.05.2009, 10:21 | Сообщение # 110
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
так ты пока другой шрифт вставил )

с пойнтерами это не ко мне....
у меня с твайлайт тоже там пойнтеры... EviLKareg, обещал вот помочь, правда..

 
EviLKaregДата: Вторник, 05.05.2009, 19:36 | Сообщение # 111
Кокири
Группа: Пользователи
Сообщений: 51
Статус: Оффлайн
Получается что-то в этом духе smile

С текстом пока та же проблема, что и с Twilight Princess.

Прикрепления: 4282295.jpg(43.2 Kb)
 
AntonДата: Вторник, 05.05.2009, 19:43 | Сообщение # 112
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
А не так уж и плохо, в общем-то... (я о шрифте).
Пару букв можно поправить...
 
djramsДата: Среда, 06.05.2009, 01:04 | Сообщение # 113
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Шрифт поправил)
А с поинтерами проблема
Прикрепления: 6476167.jpg(65.1 Kb)


Сообщение отредактировал djrams - Среда, 06.05.2009, 01:06
 
AntonДата: Среда, 06.05.2009, 07:21 | Сообщение # 114
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Quote (djrams)
Шрифт поправил

По-моему - новый нарисовал вооще, а не "поправил" )
 
djramsДата: Среда, 06.05.2009, 07:27 | Сообщение # 115
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton, Я нашёл способ как это делать очень быстро.
Но вот со шрифтом ввода имени пока проблемы.
 
AntonДата: Среда, 06.05.2009, 08:40 | Сообщение # 116
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Как быстро?

ПС. уже ошибку нашел biggrin

После "мальчика" - запятая )

 
djramsДата: Среда, 06.05.2009, 08:56 | Сообщение # 117
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton,

Quote (Anton)
После "мальчика" - запятая )

Это так был пробный вариант smile
А шрифт делается просто! CrystalTile2 последняя версия Tools ->Ntfr Editor
Выбираешь свою таблицу, потом выбираешь шрифт (Тип шрифта, жирный, курсив, полужирный курсив)
Убираем галочку с Antialias( иначе будет размытым)
Выбираем файл оригинального шрифта ( наверное нужно для структуры)
Кнопка Build...
И всё готово!)))

P.S. Программа NFTRedit при просмотре такого шрифт выдаёт ошибку. Но в игре всё отлично работает.

 
AntonДата: Среда, 06.05.2009, 09:19 | Сообщение # 118
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Хитро...
 
djramsДата: Четверг, 07.05.2009, 09:37 | Сообщение # 119
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton,
Найти бы ещё хитрость, как текст в bmg файлах по нормальному править...
 
AntonДата: Четверг, 07.05.2009, 09:45 | Сообщение # 120
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
А в чем проблема?
 
djramsДата: Четверг, 07.05.2009, 09:48 | Сообщение # 121
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
Anton,
В увеличении длинны строки...
В поинтерах...
 
AntonДата: Четверг, 07.05.2009, 09:52 | Сообщение # 122
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
А вписаться в диалог можно?
Т.е. там как обычно - диалог из нескольких строк?
И диалог заканчивается каким-то спец символом? - не трогай их пока, вписывайся в длину оригинального диалога.
А символы переноса строки можно всегда было двигать влево-вправо..
 
dnd1Дата: Четверг, 07.05.2009, 11:32 | Сообщение # 123
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (Anton)
А символы переноса строки

Тут он как обычно {0А},
{00}{1A}{00}{08}{01}{0A}{00} Это код ожидания(задержка текста). Следующее за ней значение - время задержки.
Дальше пока разбираюсь sad
 
AntonДата: Четверг, 07.05.2009, 11:58 | Сообщение # 124
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
в ТП тож нашел похожие задержки.
1A07000007002D
1A07000007003C

я их просто не трогаю и все.
а если не будет влазить русский текст, можно их вообще удалить, будет текст выводиться без задержки.
(но это если задержка в текущем диалоге на экране).

 
insiderДата: Четверг, 07.05.2009, 13:47 | Сообщение # 125
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Не-не, так переводы не делаются.
Надо написать утилиту для экспорта текста, которая эти самые теги будет приводить в читабельный и понятный для переводчика вид.
Ну и парная утилита импорта, которая преобразует теги обратно в байты и "скомпилирует" новый .bmg файл, с учетом новых длин строк. Чем я, собственно, сейчас и занят.
 
AntonДата: Четверг, 07.05.2009, 14:03 | Сообщение # 126
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Так а Pokeperevod или Kruptar это не делают?
Может в них что-то добавить лучше?
 
insiderДата: Четверг, 07.05.2009, 14:08 | Сообщение # 127
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Не пользовался, не знаю. А если и могут -- то к чему вот эти "а если не будет влазить русский текст"?
 
dnd1Дата: Четверг, 07.05.2009, 14:17 | Сообщение # 128
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (insider)
Чем я, собственно, сейчас и занят.

На каком языке пишешь? Что планируешь сделать?
Если нужно, могу чем-либо помочь для ускорения процесса(С++, Delphi, 1C(Тут совсем не в тему, но вдруг biggrin ), VisualBasic).
 
insiderДата: Четверг, 07.05.2009, 14:26 | Сообщение # 129
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Ruby
2 скрипта
первый ищет в папке .bmg и делает из них .txt
второй -- наоборот
 
dnd1Дата: Четверг, 07.05.2009, 14:28 | Сообщение # 130
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (insider)
"а если не будет влазить русский текст"

Pokeperevod или Kruptar вытаскивают, вроде, только текст однобайтовой кодировки. Тут же 2хбайтовая sad
Кроме того они(Pokeperevod и Kruptar) вытаскивают текст по таблице символов и не позволяют вылезать да пределы длины англ текста, т. е. вместо "Tell me..." "Скажи мне..." уже не вставишь(Строчка длиннее на 2 символа - собьются поитенры или произойдет наслоение строк на системные символы(теги))
 
insiderДата: Четверг, 07.05.2009, 14:36 | Сообщение # 131
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Вот поэтому и пишу, чтобы фантазия переводчика не ограничивалась длиной строки
 
AntonДата: Четверг, 07.05.2009, 14:37 | Сообщение # 132
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Quote (dnd1)
"Tell me..." "Скажи мне..." уже не вставишь

Это и неудобно, т.к. разбивает по строкам, а не по фразам.
А реально там 0A вправо подвинуть, и вторую строку начинать можно.
 
dnd1Дата: Четверг, 07.05.2009, 15:10 | Сообщение # 133
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (insider)
чтобы фантазия переводчика не ограничивалась длиной строки

Там проблемка еще и с поинтерами(системными ссылками на начало строки) - с изменением длины строки надо менять и поинтеры всех последующих строк(т.к. сдвигаются), но в этом я пока не силен sad
Quote (insider)
Ruby

никогда раньше в нем не работал sad , но язык заинтересовал - надо посмотреть его по-подробнее smile
Quote (Anton)
А реально там 0A вправо подвинуть, и вторую строку начинать можно.

Если правильно понял вопрос, то да, но только в руками в HEX-редакторе
 
insiderДата: Четверг, 07.05.2009, 15:22 | Сообщение # 134
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Quote (dnd1)
Там проблемка еще и с поинтерами(системными ссылками на начало строки) - с изменением длины строки надо менять и поинтеры всех последующих строк(т.к. сдвигаются), но в этом я пока не силен
Т.е. ты считаешь, что кто-нибудь взялся бы за написание утилиты/скрипта, не зная таких элементарных истин? smile
 
EviLKaregДата: Четверг, 07.05.2009, 16:16 | Сообщение # 135
Кокири
Группа: Пользователи
Сообщений: 51
Статус: Оффлайн
Если кто-нибудь на Delphi сможет написать плагин к Круптару, то текст легко можно вынуть и вставить по поинтерам (про проблемку в Круптаре можно прочитать тут: http://magicteam.net/forum/index.php?topic=21.15 )
 
AntonДата: Четверг, 07.05.2009, 16:23 | Сообщение # 136
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Quote (dnd1)
Если правильно понял вопрос

правильно понял )

 
EviLKaregДата: Четверг, 07.05.2009, 16:34 | Сообщение # 137
Кокири
Группа: Пользователи
Сообщений: 51
Статус: Оффлайн
Вот кстати нарисованный Антоном шрифт smile Все-таки он ближе к оригиналу, чем сгенерированный автоматом Arial.
Прикрепления: zeldaDS_15.nftr(23.5 Kb) · PH.tbl(1.3 Kb)
 
AntonДата: Четверг, 07.05.2009, 16:42 | Сообщение # 138
Triforce keeper
Группа: Администраторы
Сообщений: 8705
Статус: Оффлайн
Он на основе оригинала и рисовался, только там возможно надо подправить пару букв... (проверить в nftr edit, как показывает. И там же подправить. Там пару пикселей закрасить на Д и Л... (сделать левую ногу буквы тоньше) (если я сам их не закрасил... не помню ) )
 
insiderДата: Четверг, 07.05.2009, 17:18 | Сообщение # 139
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Следующая последовательность байт отображает значок
Code
0x1A 0x00 0x08 0x01 0x15 0x00 0x-- 0x--

В последних двух байтах встречаются разные значения. Что от них зависит -- не могу сообразить, посему прошу помощи.

Кто еще что-либо накопал по последовательностям -- просьба высказаться.

Цвет текста:

Code
0x1A 0x00 0x08 0xFF 0x00 0x00 0x--

На месте прочерков одно из значений:
0х00 -- чёрный
0х01 -- красный
0х02 -- зелёный
0х03 -- синий
0х04 -- белый
Прикрепления: 6135495.png(0.3 Kb)


Сообщение отредактировал insider - Четверг, 07.05.2009, 18:43
 
dnd1Дата: Четверг, 07.05.2009, 18:38 | Сообщение # 140
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (insider)
Т.е. ты считаешь, что кто-нибудь взялся бы за написание утилиты/скрипта, не зная таких элементарных истин?

Ни коем образом не хотел оскорбить или обидеть shy
Quote (insider)
Кто еще что-либо накопал по последовательностям -- просьба высказаться.

Если не увидел: smile
Quote (dnd1)
{00}{1A}{00}{08}{01}{0A}{00} Это код ожидания(задержка текста). Следующее за ней значение - время задержки.

Quote (insider)
отображает значок

Тут эти теги не работают(надо прикрепить это изображение и вставить соттветствующий ему символ)
Quote (EviLKareg)
Если кто-нибудь на Delphi сможет написать плагин к Круптару, то текст легко можно вынуть и вставить по поинтерам

Посмотрю. Спасибо за ссылку smile . Может чем и смогу помочь


Сообщение отредактировал dnd1 - Четверг, 07.05.2009, 20:27
 
insiderДата: Четверг, 07.05.2009, 22:00 | Сообщение # 141
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Quote (dnd1)
Ни коем образом не хотел оскорбить или обидеть
Я и не обиделся smile

Поглядел еще немного на команды:

Code
0x1A 0x00 AA BB BB BB CC{2,10}

AA -- размер команды в байтах
BB -- код команды
CC -- аргументы, от 2ух до 10ти байт, в зависимости от размера

И еще подумал тут, зачем распознавать какая команда что делает? Можно же просто преобразовать их к виду:

Code
[cmd=BBBBBB]CC{2,10}[/cmd]
 
insiderДата: Четверг, 07.05.2009, 22:44 | Сообщение # 142
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Вроде вытащил текст. Теперь можно переводить, не задумываясь о длине или таблицах символов. А когда надо будет вставить -- я вставлю.
Не надо только трогать всё, что между [] и {}
Прикрепления: data.rar(300.3 Kb)
 
djramsДата: Пятница, 08.05.2009, 01:27 | Сообщение # 143
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
insider, Спасибо буду пробовать smile
А текст можно в Word скопировать?
 
djramsДата: Пятница, 08.05.2009, 02:11 | Сообщение # 144
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
EviLKareg, Шрифт Антона бесспорно лучше smile
Что касается таблицы, кодировка используемая в играх для этой платформы utf-8 или utf-16.
У английских букв коды совпадают с ASCII у кириллицы в utf-16 добавляется код 0x04 (причем таблица должна быть в оригинальной последовательности байт. )
2100=!
2200="
2300=#
2400=$
2500=%
......
1004=А
1104=Б
1204=В
1304=Г
Прикрепления: 2719276.tbl(1.7 Kb)


Сообщение отредактировал djrams - Пятница, 08.05.2009, 02:11
 
insiderДата: Пятница, 08.05.2009, 03:37 | Сообщение # 145
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Quote (djrams)
А текст можно в Word скопировать?
Вот уж чего не надо -- того не надо.

В utf-8 английские символы однобайтны. Для кириллицы совсем не обязательно использовать именно эти коды. И вообще, все зависит от расположения кир. символов в шрифте.

Сообщение отредактировал insider - Пятница, 08.05.2009, 03:39
 
djramsДата: Пятница, 08.05.2009, 03:56 | Сообщение # 146
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
insider,
Quote (insider)
Вот уж чего не надо -- того не надо

А в BREAD 3.0.3U
Можно?
 
insiderДата: Пятница, 08.05.2009, 04:36 | Сообщение # 147
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Да запросто
 
djramsДата: Пятница, 08.05.2009, 09:00 | Сообщение # 148
Горон
Группа: Пользователи
Сообщений: 112
Статус: Оффлайн
insider, А саму утилиту для вставки текста, можешь залить?
Хочу попробовать вступление просмотреть:)
 
insiderДата: Пятница, 08.05.2009, 12:54 | Сообщение # 149
Деку
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Она еще в разработке
 
dnd1Дата: Пятница, 08.05.2009, 22:34 | Сообщение # 150
Зора
Группа: Пользователи
Сообщений: 366
Статус: Оффлайн
Quote (insider)
Вроде вытащил текст. Теперь можно переводить

Поздравляю с успешным написанием скрипта smile
Нескромный вопрос: можно ли будет потом посмотреть на код(или исходник) этого скрипта? Очень любопытно как это реализовано. smile
 
Форум » The Legend of Zelda — основные игры » Phantom Hourglass » Перевод - нужна помощь
Поиск: