Admin | Дата: Неділя, 14.02.2016, 18:40 | Повідомлення # 1 |
Майор
Група: Адміністратори
Повідомлень: 93
Статус: Offline
| Ссылки на программы и скриншоты в конце статьи. Начнём с самого начала. И так в этой статье я постараюсь обьяснить как можно русифицировать РОМ на примере игры Chip And Dale (NES). Что же для этого нужно? Ну, во-первых сам РОМ, программы и много терпения. Инструменты: 1) Эмулятор игровой консоли. 2) Title Layer Pro (редактор графики). 3) Hexpose (HEX редактор). Программы (Использование): *Title Layer Pro: Эта программа предназначена для редактирования графики в игре (персонажи, шрифты, рисунки и т.д.). Запустим Title Layer Pro и откроем наш РОМ. Появится окошко с рисунками (графика из игры). Нам нужно найти здесь шрифт. Крутите ползунок вниз, пока не увидите вот это: рис.1 P.S. Если вы не обнаружили шрифт, то попробуйте сменить формат на 1BPP. Если и после этого вы не обнаружили его, то на переводеэтой игры придется поставить крест. Шрифт, вероятно, запакован и тут уже надо будет прибегать к знанием Ассемблера, но это большаяморока. Замете что после английских букв идут японские (или китайские, я не особо понимаю) знаки. В игре они явно не используются, так что я решил заменить их на русские буквы (просто перерисуйте их). Вот так:рис.2 P.S. Так же бывает, что все знаки используются, и тут нам приходиться ухищряться, рисовать по верх английских букв (не забывайте использовать одинаковые буквы, например: H, M, P, T, A, C, O, E и т. д. а так же незабывайте сохранять оригинальный ром, чтобы просматривать в нём текст). В таких случаях у каждого своя тактика. *HEXpouse: Эта программа предназначена для редактирования текста в игре (пожалуй, самое сложное ). Запустим программу:рис.3 Далее найдём наш РОМ:рис.4 (Я переименовал Chip And Dale.nes в CD.nes для удобства). Откроем РОМ и увидим это:рис.5 Так, а теперь я в теории расскажу, что это такое и с чем его едят. Вы видите 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 :рис.6 Далее возвращаемся в HEXpose и жмём на F6, и в открывшемся окне вводим наше слово:рис.7 Жмём Enter, и он предлагает создать таблицу:рис.8 Смело давите на “Y :), и вот оно чудо-чудное, диво-дивное:рис.9 Драгоценный текст из игры :))) Давите на F9 (сохранение таблицы) и вводите имя вашей таблице (желательно, чтобы название рома и таблице совпадали, тоесть CD.nes CD.tbl). Открывайте таблицу, она лежит в той же папке где и ром:рис.10 (Как вы видите, в данной игре используются только маленькие буквы). 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 (сохранение изменений) и открывайте наш ром в эмуляторе, вот что вы должны увидеть:
источник: http://spaces.ru/forums/?r=13325379&sid=&tp=1
|
|
| |