Вы здесь: Nintendoclub.ru Форум

Важная информация!

Если Вы видите это сообщение, значит Вы еще не зарегистрировались на форуме (или не вошли). Гости имеют несколько ограниченные возможности. Чтобы просмотреть права гостей, нажмите на кнопку ниже. Чтобы зарегистрироваться, нажмите сюда.

  • Гости не имеют права писать ответы.
  • Гости не имеют права создавать темы.
  • Гости не имеют права создавать опросы.
  • Гости не имеют права прикреплять файлы.
  • Гости не имеют права влиять на репутацию пользователей.
С уважением, администрация форума NintendoClub
Модератор форума: drugold  
Форум любителей Nintendo Wii, DS, DSi » Серая зона » [Wii] Homebrew, игровые моды и локализации » Технические аспекты русификации Super Paper Mario (Сбор информации, инструментария и прочее...)
Технические аспекты русификации Super Paper Mario
Аватар CityAceE
МегаАктиWiiст
Группа: Проверенные
Сообщений: 513
Репутация: 53
Замечания: 0%
Статус: Offline

Владивосток
Непосредственное обсуждение перевода
в теме:
Перевод текста Super Paper Mario
Здесь только техническая сторона!


Пролог

  • Уж так получилось, что в России дистрибуцией продукции Nintendo занялась не та компания... В результате, самая популярная консоль в мире вынуждена в нашей стране влачить жалкое существование, продаваясь в ничтожных количествах, без русского языка в меню, без поддержки в Интернет каналах, без русских игр, наконец! Так как консоль совершенно не популярна, то и пираты не обращают на неё никакого внимания. Иначе как объяснить полное отсутствие пиратских переводов на русский язык? Ну что ж, мы сами кузнецы своего счастья! От разговоров кое-кто перешёл к делу.


    Примеры

    [spoiler][tb]

    Подмена текста в игре (fork)

    [cl]
    Кириллическая подмена(1) (fork)

    [cl]
    Кириллическая подмена(2) (Фотошоп)

    [cl]
    Кириллическая подмена(3)

    [cl]
    Смешарики (Джамшут эдишн)

    [st]

    [cl]

    [cl]

    [cl]

    [cl]

    [st]
    Кириллица в меню игры (fork)

    [cl]
    /dev/null

    [cl]
    /dev/null

    [cl]
    /dev/null

    [cl]
    /dev/null

    [st]


    [cl]
    [bounce]Здесь могла быть ваша реклама :)[/bounce]

    [cl]
    [bounce]It could be your advertising :)[/bounce]

    [cl]
    [bounce]Hier könnte Ihre Werbung sein :)[/bounce]

    [cl]
    [bounce]また、広告が :)[/bounce]

    [/tb][/spoiler]


    Риторический вопрос

  • Ну что, поддержим доброе начинание?


    Шрифты

    [spoiler][tb]

    Оригинальный (в обработке CityAceE)

    [cl]
    Beta-First (fork)

    [cl]
    Beta-Second (fork)

    [cl]
    Релиз (fork)

    [st]

    [cl]

    [cl]

    [cl]

    [/tb][/spoiler]


    Таблица кодов символов (dnd1)

    [spoiler][tb]

    Латинский строчный

    [cl]
    Латинский заглавный

    [cl]
    Кириллистический строчный

    [cl]
    Кириллистический заглавный

    [st]
    61=a
    62=b
    63=c
    64=d
    65=e
    66=f
    67=g
    68=h
    69=i
    6A=j
    6B=k
    6C=l
    6D=m
    6E=n
    6F=o
    70=p
    71=q
    72=r
    73=s
    74=t
    75=u
    76=v
    77=w
    7 8=x
    79=y
    7A=z

    [cl]
    41=A
    42=B
    43=C
    44=D
    45=E
    46=F
    47=G
    48=H
    49=I
    4A=J
    4B=K
    4C=L
    4D=M
    4E=N
    4F=O
    50=P
    51=Q
    52=R
    53=S
    54=T
    55=U
    56= V
    57=W
    58=X
    59=Y
    5A=Z

    [cl]
    61=а
    E0=б
    E1=в
    E2=г
    67=д
    65=е
    EB=ё
    E4=ж
    E7=з
    75=и
    FA=й
    DC=к
    E8=л
    E9=м
    FC=н
    6F=о
    6E=п
    70=р
    63=с
    6D=т
    EA=у
    FB=ф
    78=х
    EC =ц
    ED=ч
    EE=ш
    EF=щ
    F1=ь
    F2=ы
    F3=ъ
    F4=э
    F6=ю
    F9=я

    [cl]
    41=А
    C0=Б
    42=В
    C1=Г
    C2=Д
    45=Е
    CB=Ё
    C4=Ж
    33=З
    C7=И
    C8=Й
    4b=К
    C9=Л
    4d=М
    48=Н
    4f=О
    CA=П
    50=Р
    43=С
    54=Т
    DB=У
    CC= Ф
    58=Х
    CD=Ц
    CE=Ч
    CF=Ш
    D1=Щ
    D2=Ь
    D3=Ы
    D4=Ъ
    D6=Э
    D9=Ю
    DA=Я

    [/tb]

    Таблица составлялась для расположения букв, указанных в финальном варианте шрифта fork'a[/spoiler]


    Инструкции

    [spoiler]

    Quote (fork)
  • Открыть программой Trucha Signer образ Super Paper Mario;
  • Найти во втором партишне файл ROOT/font/papermarioset_US.bfn (у кого европейская версия, или японская papermarioset_EU.bfn и papermarioset_JP.bfn соответственно) и извлечь его;
  • Открыть полученный файл в программе Tile Layer Pro;
  • Поменять формат отображения View/Format/Genesis;
  • Масштабировать изображение, нажав один раз иконку лупы со знаком "минус";
  • Растянуть окно с символами максимально вправо. Получится 64 колонки и вполне читаемый шрифт;
  • Теперь можно редактировать файл и сохранять, а потом заменять с помощью Trucha Signer оригинальный на него.
  • Тексты в SPM хранятся по адресу ROOT/msg/US/*.txt.
  • Quote (dnd1)
  • Открыть Trucha Signer или WII Scrubber
  • Открыть второй раздел - PATITION(R8PP01)
  • Заменить файлы на выложенные ниже(Заменять - Пр. клавиша->Replace):
  • ___Шрифт - \ROOT\font\papermarioset_EU.bfn - для европейской версии(PAL)
    .__________\ROOT\font\papermarioset_US.bfn - для американской версии(NTSC)
  • ___Текст первой главы - \ROOT\msg\UK\stg1.txt - для европейской версии(PAL)
    ._____________________\ROOT\msg\US\stg1.txt - для американской версии(NTSC)
  • После замены кликнуть по второму разделу(PATITION(R8PP01)) - Пр. клавиша->Trucha Sign It!

  • СКОМПИЛИРОВАННЫЙ ТЕКСТ ПЕВОЙ ГЛАВЫ
    ШРИФТ[/spoiler]


    Проблемы

  • К сожалению, шрифтовые файлы почти всех Wii-игр хранятся в формате *.brfnt и вышеуказанным образом не расшифровываются. Но это, я уверен, только пока...
  • Сообщение отредактировал drugold - Вторник, 26.05.2009, 15:46

    С уважением, Станислав.
    Аватар fork
    Known Messenger
    Группа: Проверенные
    Сообщений: 90
    Репутация: 8
    Замечания: 0%
    Статус: Offline

    темиртау
    Quote (dnd1)
    spmario.tpl в самом корне(ROOT) не он?

    нет, не он: там (у меня по крайней мере) год написан 2006, а в самой игре 2007, к тому же текст с копирайтом анимирован и должен, стало быть, отдельно от картинки быть.

    Quote (dnd1)
    сообщения о прохождении главы и получении чистого сердца

    а тут как быть: YOU GOT A PURE HEART печатается по одной букве, а надпись в виде текстуры. т.е. где-то в коде игры есть блок, управляющий выводом этой текстуры на экран частями. и на русском языке эту надпись хрен сделаешь. или я не прав?
    Сообщение отредактировал fork - Вторник, 28.04.2009, 01:01

    Cause I am a fork
    Аватар dnd1
    Known Messenger
    Группа: Проверенные
    Сообщений: 59
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Копейск
    Quote (fork)
    а тут как быть: YOU GOT A PURE HEART печатается по одной букве, а надпись в виде текстуры. т.е. где-то в коде игры есть блок, управляющий выводом этой текстуры на экран частями. и на русском языке эту надпись хрен сделаешь. или я не прав?

    Там 2 файла - один tpl(текстура), а другой - dat, и судя по тому, что этот файл меняется, в зависимости от языка(размер и содержание): скорее всего он и отвечает за анимацию выхода. Попробую полазить в нем - вдруг, что-нибуть из этого и выйдет :)
    Quote (fork)
    нет, не он: там (у меня по крайней мере) год написан 2006, а в самой игре 2007

    так ты про текст снизу... Я думал ты про эмблему SPM pleasure Снова пробигусь по образу, авось и найдется :)
    Если не секрет, каким образом ты редактируешь(конвертируешь) tpl-файлы? И еще: при помощи чего шрифт загонялся обратно в bfn?
    Game Boy
    Группа: Проверенные
    Сообщений: 116
    Репутация: 13
    Замечания: 0%
    Статус: Offline

    Киев
    Quote (dnd1)
    И еще: при помощи чего шрифт загонялся обратно в bfn?

    Тоже мечтаю узнать.

    Аватар fork
    Known Messenger
    Группа: Проверенные
    Сообщений: 90
    Репутация: 8
    Замечания: 0%
    Статус: Offline

    темиртау
    Quote (dnd1)
    при помощи чего шрифт загонялся обратно в bfn?

    Quote (Anton299)
    Тоже мечтаю узнать.

    к сожалению не знаю. я далёк в программировании. я всего лишь нашёл способ отобразить шрифт (с помощью TileLayerPro), а дальше работал CityAceE, он вытащил из bfn-файла bmp-текстуру, я её отредактировал, переслал ему, а он отправил мне готовый bfn-файл с интегрированным бмп-шником. всё.

    Quote (Anton299)
    Если не секрет, каким образом ты редактируешь(конвертируешь) tpl-файлы?

    tplx.exe распаковывает, а запаковывает TexConv.exe.
    тут правда при запаковке нужен будет конфиг файл, он составляется вручную (ну, по крайней мере, я так делаю). вот пример (конфиг-файл для 12 текстур):

    [spoiler]

    Quote
    file 0 = tex#00_14.tga
    file 1 = tex#01_14.tga
    file 2 = tex#02_14.tga
    file 3 = tex#03_14.tga
    file 4 = tex#04_00.tga
    file 5 = tex#05_00.tga
    file 6 = tex#06_00.tga
    file 7 = tex#07_00.tga
    file 8 = tex#08_00.tga
    file 9 = tex#09_00.tga
    file 10 = tex#10_00.tga
    file 11 = tex#11_00.tga
    file 12 = tex#12_05.tga
    image 0 = 0, 0, CMPR
    image 1 = 1, 1, CMPR
    image 2 = 2, 2, CMPR
    image 3 = 3, 3, CMPR
    image 4 = 4, x, I4
    image 5 = 5, x, I4
    image 6 = 6, x, I4
    image 7 = 7, x, I4
    image 8 = 8, x, I4
    image 9 = 9, x, I4
    image 10 = 10, x, I4
    image 11 = 11, x, I4
    image 12 = 12, 12, RGB5A3
    texture 0 = 0, x
    texture 1 = 1, x
    texture 2 = 2, x
    texture 3 = 3, x
    texture 4 = 4, x
    texture 5 = 5, x
    texture 6 = 6, x
    texture 7 = 7, x
    texture 8 = 8, x
    texture 9 = 9, x
    texture 10 = 10, x
    texture 11 = 11, x
    texture 12 = 12, x

    тут список этих 12-ти текстур:
    Quote
    tex#01_14.tga
    file 2 = tex#02_14.tga
    file 3 = tex#03_14.tga
    file 4 = tex#04_00.tga
    file 5 = tex#05_00.tga
    file 6 = tex#06_00.tga
    file 7 = tex#07_00.tga
    file 8 = tex#08_00.tga
    file 9 = tex#09_00.tga
    file 10 = tex#10_00.tga
    file 11 = tex#11_00.tga
    file 12 = tex#12_05.tga

    в блоке file список текстур по порядку.
    в блоке image для текстур с индексом 14 соответствует строка вида image 2 = 2, 2, CMPR, где первые три числа через запятую, это порядковый номер текстуры, а CMPR - это цветовая палитра.
    для текстур с индексом 00 соответствует строка вида image 4 = 4, x, I4 (первые два числа через запятую порядковый номер, х - не знаю что, но ставится, I4 - палитра)
    для индекса 05 - image 12 = 12, 12, RGB5A3. тут по аналогии с индексом 14.
    в блоке texture ничего сложного.

    вообще конфиг файл создаётся с помощью программы TCSmake.exe, но это работает только для TPL-файла с одной текстурой (как я понял).[/spoiler]

    Добавлено (28.04.2009, 14:06)
    ---------------------------------------------
    есть файл с текстурами, там их 436 штук. редактирование конфига меня убьёт...

    Добавлено (28.04.2009, 14:11)
    ---------------------------------------------

    Quote (dnd1)
    так ты про текст снизу... Я думал ты про эмблему SPM

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

    Добавлено (28.04.2009, 14:35)
    ---------------------------------------------
    всё, нашёл :

    Сообщение отредактировал fork - Вторник, 28.04.2009, 14:13

    Cause I am a fork
    Аватар dnd1
    Known Messenger
    Группа: Проверенные
    Сообщений: 59
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Копейск
    fork, спасибо за подробные разъяснения :)
    Quote (fork)
    есть файл с текстурами, там их 436 штук. редактирование конфига меня убьёт...

    Если по-подробнее объяснишь, по какому принципу ставятся выделенные части
    Quote
    image 3 = 3, 3, CMPR
    image 4 = 4, x, I4
    image 12 = 12, 12, RGB5A3

    смогу написать программку для автоматизированного создания этого конфига :)
    Сообщение отредактировал dnd1 - Вторник, 28.04.2009, 17:50
    Аватар fork
    Known Messenger
    Группа: Проверенные
    Сообщений: 90
    Репутация: 8
    Замечания: 0%
    Статус: Offline

    темиртау
    Quote (dnd1)
    Если по-подробнее объяснишь, по какому принципу ставятся выделенные части
    Цитата
    image 3 = 3, 3, CMPR
    image 4 = 4, x, I4
    image 12 = 12, 12, RGB5A3

    смогу написать программку для автоматизированного создания этого конфига


    14 - CMPR (file 3 = tex#03_14.tga это image 3 = 3, 3, CMPR)
    00 - x, I4 (file 4 = tex#04_00.tga это image 4 = 4, x, I4)
    05 - RGB5A3 (file 12 = tex#12_05.tga это image 12 = 12, 12, RGB5A3)
    нужно просто сравнить блок file и блок image, каждая строка из первого блока соответствует строке из второго блока с одинаковыми порядковыми номерами.

    Cause I am a fork
    Аватар dnd1
    Known Messenger
    Группа: Проверенные
    Сообщений: 59
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Копейск
    fork, Спасибо за разъяснение. Через 1-3 дня будет тебе готовая программка по генерации этого конфиг-файла.

    Добавлено (29.04.2009, 23:46)
    ---------------------------------------------
    Программа готова и прекрасно работает :) Завтра доведу до приличного вида интерфейс и выложу сюда :)
    fork, если есть еще какие-нибудь сложности - пиши

    Аватар CityAceE
    МегаАктиWiiст
    Группа: Проверенные
    Сообщений: 513
    Репутация: 53
    Замечания: 0%
    Статус: Offline

    Владивосток
    Приятно видеть, что всё не закончилось, как обычно, пустой болтовнёй и процесс локализации идёт полным ходом :)
    Сообщение отредактировал CityAceE - Четверг, 30.04.2009, 08:09

    С уважением, Станислав.
    Аватар FANg
    НоWiiчок
    Группа: Пользователи
    Сообщений: 1
    Репутация: 1
    Замечания: 0%
    Статус: Offline

    Донецк
    Поставил, посмотрел, глаз режет mooshroom castle, count black, принцесса peach, хотя в некоторых местах эти слова переводятся на русский.
    Вопрос - зачем оставлять имена и названия на потом, если они всегда и в первой и в последней главе будут иметь один и тот же перевод? Поймите, я не критикую, просто не хочется, чтобы потом выплыли где нибудь эти английские слова после выпуска уже конечного перевода [img]http://nintendoclub.ru/sm/sm15.gif[/img]
    Аватар dnd1
    Known Messenger
    Группа: Проверенные
    Сообщений: 59
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Копейск
    Quote (FANg)
    зачем оставлять имена и названия на потом

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

    CityAceE, при помощи чего шрифт загонялся обратно в bfn, если не секрет :) и какая палитра использовалась для этого шрифта?

    Добавлено (30.04.2009, 20:41)
    ---------------------------------------------
    Все-таки уложился в обещанные 3 дня :) (хотя все было написано уже в первый вечер. Остальное время - приводилось в порядок dry )
    Программа готова. Версия 1.0
    МиниИнструкция:
    1)Выбрать путь до папки с файлами
    2)Добавить их в список(Кнопка "Перенести в список")
    3)Создать конфиг файл :)
    (Кнопка "Перейти" позволяет быстро перейти по адресу, введенному слева от нее)

    Пользуйтесь на-здоровье. Если найдутся ошибки и замечания - пишите.

    Добавлено (02.05.2009, 22:32)
    ---------------------------------------------

    Quote (dnd1)
    CityAceE, при помощи чего шрифт загонялся обратно в bfn, если не секрет и какая палитра использовалась для этого шрифта?

    Вопрос отпал - разобрался сам :) Все оказалось совсем не сложно:)
    Сообщение отредактировал dnd1 - Суббота, 02.05.2009, 22:33
    Game Boy
    Группа: Проверенные
    Сообщений: 116
    Репутация: 13
    Замечания: 0%
    Статус: Offline

    Киев
    Quote (dnd1)
    опрос отпал - разобрался сам :) Все оказалось совсем не сложно:)

    Не отпал )
    Все-таки интересно узнать метод CityAceE.

    Known Messenger
    Группа: Проверенные
    Сообщений: 50
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Екатеринбург
    Quote (dnd1)
    2) Куда вставлять перенос, если строчка состоит из одного сплошного слова(без пробелов) Например :"Вафельный Утюг-переключатель/Гриль-печка-глубокая жаровня!". "Утюг-переключатель/Гриль-печка-глубокая" точно не влезет в одну строчку.

    Просто поставить переход на новую строку после последнего (или предпоследнего) дефиса, и в игре оставшаяся часть слова автоматически перейдёт на новую строку. Или можно искуственно ввести переносы - рассчитать место, где нужно сделать перенос, и на его месте поставить дефис и переход на новую строку. В игре будет выглядет как перенос (например, слово "глубокая" можно записать как "глу-*знак ана новую строку*бокая). Это также можно поробовать сделать для тех случаев, когда текст не влезает в пузырь.

    НоWiiчок
    Группа: Проверенные
    Сообщений: 13
    Репутация: 0
    Замечания: 0%
    Статус: Offline

    Красноярск
    А как делать, если tex#00_08+2 ?
    Аватар dnd1
    Known Messenger
    Группа: Проверенные
    Сообщений: 59
    Репутация: 5
    Замечания: 0%
    Статус: Offline

    Копейск
    Quote (Saros)
    А как делать, если tex#00_08+2 ?

    Это где такое, если не секрет?
    По-подробнее можно?
    НоWiiчок
    Группа: Проверенные
    Сообщений: 11
    Репутация: 0
    Замечания: 0%
    Статус: Offline

    Surgut
    Давно слежу за данной темой и понимаю, что она скорее всего зашла в тупик...:( Уж больно вялотекущий процесс, выложили бы хоть частично переведеную игру, что бы "подстегнуть" интерес...
    Есть предложение перевести игру Гарри поттер и орден феникса (как то так вроде называется) %) . На ПК есть эта игра в русском виде...можно вытащить перевод с версии для ПК и засунуть в версию для Вии. Если это возможно конечно...
    Таким образом можно русифицировать множество игр. Если кто нибудь обьяснит с помощью чего и как это сделать, готов сам попробовать... ;)
    .....

    Почитал про русификацию понял, что у игр разные способы хранения текста....так что сильно не пинайте с гарри поттером :D

    Сообщение отредактировал Cookis - Вторник, 26.05.2009, 12:05
    Форум любителей Nintendo Wii, DS, DSi » Серая зона » [Wii] Homebrew, игровые моды и локализации » Технические аспекты русификации Super Paper Mario (Сбор информации, инструментария и прочее...)
    Поиск: