СЛЕЙТЕР | Дата: Воскресенье, 18 Ноя 2012, 02:59 | Сообщение # 1 |
Уважаемый
Группа: Проверенные
Сообщений: 372
Награды: 38
Репутация: 56
Замечания: 0%
Статус: Offline
| Автор этой статьи постарается обьяснить как можно русифицировать РОМ на примере игры Chip And Dale (NES). Что для этого нужно? Во-первых сам РОМ, программы и... много терпения.
Инструменты:
1. Эмулятор игровой консоли. 2. Title Layer Pro (редактор графики). 3. Hexpose (HEX редактор).
Программы:
Title Layer Pro: Эта программа предназначена для редактирования графики в игре (персонажи, шрифты, рисунки и т.д.). Запускаем Title Layer Pro и открываем наш РОМ. Появится окошко с рисунками (графика из игры). Нам нужно найти здесь шрифт. Крутите ползунок вниз, пока не увидите вот это: P.S. Если вы не обнаружили шрифт, то попробуйте сменить формат на 1BPP. Если и после этого вы не обнаружили его, то на переводе этой игры придётся поставить крест. Шрифт, вероятно, запакован и тут уже надо будет прибегать к знанием Ассемблера, но это очень муторно.
Замете что после английских букв идут японские знаки. В игре они явно не используются, так что я решил заменить их на русские буквы (просто перерисуйте их). Вот так: P.S. Так же бывает, что все знаки используются, и тут нам приходиться ухищряться, рисовать поверх английских букв (не забывайте использовать одинаковые буквы, например: H, M, P, T, A, C, O, E и т. д. а так же незабывайте сохранять оригинальный ром, чтобы просматривать в нём текст). В таких случаях у каждого своя тактика.
HEXpouse: Эта программа предназначена для редактирования текста в игре (самое сложное) .
Запустим программу: Далее найдём наш РОМ: (Я переименовал Chip And Dale.nes в CD.nes для удобства). Откроем РОМ и увидим это:
Так, а теперь я в теории расскажу, что это такое. Вы видите 3 окошка, первое я не знаю для чего (оно в принципе и ненужно) а вот второе и третье нам очень пригодятся. Во втором окошке, коды шестнадцатеричной системы счисления (в этой системе счисления присутствуют 16 знаков): 00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F
10,11,12,13…1A,1B,1C и так далее…
Каждая клеточка с рисунком (будь то буква или кусок персонажа) имеет свой номер.
В третьем окне будет отображаться текст.
И так наша задача найти эти буквы и узнать их номера.
Для этого открываем игру и ищем там какой-нибудь текст. Я выбрал слово little: Далее возвращаемся в HEXpose и жмём на F6, и в открывшемся окне вводим наше слово: Жмём Enter, и он предлагает создать таблицу: Смело давите на "Y", и вот оно чудо: Драгоценный текст из игры
Давите на F9 (сохранение таблицы) и вводите имя вашей таблице (желательно, чтобы название рома и таблицы совпадали, то есть CD.nes – CD.tbl.
Открывайте таблицу, она лежит в той же папке где и ром: (Как видно, в данной игре используются только маленькие буквы).
P.S. Некоторые игры использую 2 шрифта: Заглавный и не заглавный. Вычислить коды заглавных букв очень просто. Например: мы видим слово .arry, в игре оно отображается как Harry, то есть та точка и есть буква H. Посмотрите её код в среднем окошке и допишите коды заглавных букв. Например: C1=H ну и по логике C2=I и т.д.
Нам придется доделать эту таблицу.
Откройте HEXpose, и найдите там место пробела в тексте (т.к. по умолчанию пробела в таблице нет, и в программе он может отображаться точкой, например: hello.garry, где точка является пробелом). В этом случае код пробела A4, занесём его в таблицу:
A4=
Не забудте поставить пробел.
Так же нам нужно узнать код переноса текста (посмотрите в игре где текст переносится на другую строчку, и узнайте его код. В этом случае его код FE, запишем его таким образом:
*=FE
Есть ещё код окончания вывода текста. Желательно и его вычислить, чтобы знать наверняка, где заканчивается один диалог/реплика и начинается новый. Обозначается он знаком "/". В нашем случае его код FF и как вы уже наверно догадались надо записать его так:
/=FF
Далее нужно внести в таблицу остальные знаки.
Для этого вернёмся в Title Layer Pro и снова найдём наш шрифт: После буквы "Z" идёт пробел, точка, тире т.д.
Чтобы внести их в табицу надо просто продолжить её:
A1=x A2=y A3=z A4= (пробел) A5=. A6=- A7== A8=? A9=!
И так далее до наших букв, их мы не вносим т.к. HEXpose их просто не увидит, ведь он работает в DOS кодировке, а БЛОКНОТ в Windows. Следовательно, надо доделать таблицу в DOS кодировке (я использовал FAR): Таблица доделана и готова к использованию.
Перезапустите HEXpose и на этот раз нажмите F3 и введите наше слово "little". Появились запятые и прочие знаки, теперь гораздо удобнее работать.
Давайте введём в текст пару русских букв. Для этого просто выберите любое слово и начинайте набирать коды русских букв: Жмите на F5 (сохранение изменений) и открывайте наш ром в эмуляторе, вот что вы должны увидеть:
Если кто-то ещё не понял как же собственно осуществляется перевод игры, то я объясню. Вся суть в том, что вы должны вместо английских слов вводить коды русских букв (ну конечно по смыслу) а не просто, так как я. Надеюсь, что доступно разъяснил принцип работы всего этого.
"Если не можешь играть честно, играй хоть как-нибудь". Слейтер ©
|
|
| |
Anter | Дата: Вторник, 29 Янв 2013, 22:13 | Сообщение # 2 |
БОГ форума
Группа: Проверенные
Сообщений: 1849
Награды: 76
Репутация: 144
Замечания: 0%
Статус: Offline
| Ни разу не русифицировал игры, но с помощью Title Layer Pro часто менял графику.
|
|
| |