Разработка и ромхакинг > Переводы игр
Обсуждение русификаций игр
<< < (8/283) > >>
Stars:
Я уже давно прочитал много статей по переводу игр и решил серьёзно этим заняться. На примере игр типа Chip and Dale научился работать. Когда взялся за перевод Tokkyuu_Shirei_-_Solbrain_(J)_[T+Eng1.01_AGTP] (NES), так наткнулся на некоторые трудности. Таблицу создал и приступил к переводу. Зачастую английские слова меньше по количеству букв по сравнению с русскими, которые я хочу вставить. Как сделать так, чтобы мои слова умещались при переводе?

PS
Есть ли ещё сайты, кроме SHEDEVR'а, на которых размещают переведённые игры или патчи к ним? Мне не хотелось бы повторяться при переводе.
Аким:
Stars, учи что такое поинтеры...

http://magicteam.emu-land.net/
http://www.chief-net.org/
Stars:
Аким, благодарю за подсказку с поитерами. В теории понял, остаётся попробывать на практике. У меня есть ещё вопросы. Согласно статье Soniq'а работаю с программой Hexpose. Через неё я делал таблицу. Если при замене английских слов на русские "начинать набирать коды русских букв" (как написано в статье Soniq'а), то на это уйдёт много времени. Но у программы есть такие опции, как DUMP и INSERT. Первая вынимает текст из игры, а вторая вставляет уже переведённый текст. Кто нибудь ими пользовалься? Я когда вытаскиваю текст и вставляю его обратно (НЕ МЕНЯЯ СОДЕРЖАНИЯ), так визуально видно как код игры меняется и РОМ не работает. Кто может скачать что-нибудь по этому поводу? Может есть ещё какие-нибудь способы быстрее заменять английские слова на русские, кроме как набирать коды русских букв?
Аким:
Есть...допустим с помощью проги PokePerevod от Axel'a...
Stars:
Про PokePerevod я знаю, но как в нём работать с поинтерами?
Lin:
Ещё можно (хотя и медленно тоже) набирать не КОДЫ русских букв, а САМИ русские быквы в правом столбце хекс редактора. Коды таким образом меняются сами, соответственно набранной букве. Очень хорошо для этого подходит программа Hexecute-3.0-RC7.
P.S. Там тоже есть Dump и Insert скрипта.
Stars:
Hexecute-3.0-RC7 тоже хороша, как HEX редактор, толко она у меня через раз вылетает. Я обратно вернулся к Hexpose. Возникли проблемы с поинтерами. Не могу найти таблицу поинтеров в Tokkyuu Shirei - Solbrain (J) [o1][T+Eng1.01_AGTP].nes. Может я их не так подсчитываю? В одной из статей я прочитал что нужно вычесть из номера адреса 10 хэдеров (NES). Затем взять четыре последних цифры, разделить на две пары, поменять местами. Данная комбинация и есть поинтер. Всё так и сделал, но таблицу выше сообщения никак найти не могу. Скажите, может я где ошибся? Заранее спасибо.
gottaX:
Во-первых, не "10 хедеров":), а 10h (16), т. е. размер заголовка. "h" после числа указывает на то, что оно в шестнадцатеричной системе счисления. Во-вторых, данная комбинация вовсе не обязательно является указателем, совпадать будет только старший байт поинтера. Если адрес строки в роме, например, 812Ah, то указатель будет таким 1Axx или 1Ax1, где x - неизвестное число (тетрада), 1Ah=2Ah-10h, а младшая тетрада в младшем байте указателя обычно совпадает с младшей тетерадой старшего байта адреса. В-третьих, не советую переводить овердампы, используй для перевода нормальный ром.
P.S.Если это тебя успокоит, то в английском переводе от AGTP длина строк не менялась по отношению к оригинальной японской версии, это я знаю точно. Так что не факт, что указатели там используются (хотя я не смотрел - лениво:))
Stars:
Извини, я не всё понял из того, что ты написал выше. Может посоветуешь какую-нибудь ценную литературу на эту тему? Просто я очень хочу заняться переводом игр, а поинтеры зпаводят меня в тупик.
gottaX:
Среди русскоязычных доков я бы не посоветовал ничего. Пожалуй, единственная толковая дока - дока CaH4e3a "NES изнутри" http://cah4e3.shedevr.org.ru/nes_inside.html, хотя она вообще-то не для новичков. И в ней рассматривается только NES. Англоязычные доки по тематике поинтеров я не читал. Смотри сам, может найдёшь что-нибудь полезное - http://www.romhacking.net/?Category=6&Console=0&Game=0&Author=0&Recm=0&Level=&docsearch=++Go++&title=&dsearch=&page=docs&action=doclist.
 
Здесь главное понять суть. Грубо говоря, на каждый ресурс в игре (будем считать, что это текстовая строка) что-то указывает. Это "что-то" - адрес или проще, число. Это число "говорит", откуда нужно считывать эту строку, это и есть поинтер или указатель. В простейшем случае адрес строки и будет являться указателем на её, т. е. это число равно адресу строки (строка хранится по адресу 01A23Dh, и поинтер имеет значение 01A23Dh (или 3DA201h - об этом ниже)).
При этом очень часто поинтеры объединяются в таблицы, в которых идут друг за другом (иногда закономерность в таблицах другая, но для простоты пока не надо принимать это во внимание).
Однако существует такая хитрая вещь как адресация, "способ указания на ресурс". Например, строка имеет адрес в роме 01A23Dh, а поинтер имеет значение 573Dh или 0801A23Dh. В первом случае разница между адресом строки и значением указателя "равна" 14B00h, во втором - 08000000h. В некоторых случаях эта разница известна заранее, но чаще всего - нет. Самое главное то, что в пределах одной таблицы поинтеров она одинакова. А так как они идут друг за другом в таблице, то таблицу эту относительно легко найти по повторяющимся байтам (типичный пример для таблицы указателей игры на NES: 0082 0582 7B82 FE82 1283 4A83 5183 и т. д.)
Ещё один фактор, сбивающий с толку начинающих - это как этот поинтер будет считываться: справа налево, т. е. от младшего байта к страшему (для примера выше 00 - младший байт, 82 - старший байт в адресе) или наоборот, слева направо (для примера выше 57 - страший, 3D - младший байт). Это зависит только от системы (например, для NES это первый тип, для Сеги - второй).
И наконец, хедер, он же заголовок. Так уж было принято, к ромам для некоторых систем прибавляют заголовок. Причём он может и отcутствовать. Для NES его размер составляет 10h, для SNES - 200h, у сеговских ромов его нет. Поэтому работая с ромами, у которых есть заголовок, его всегда надо учитывать и отнимать от адреса ресурса.
Ну вот, вроде все подводные камни новичков при работе с поинтерами описал.
 
Имхо, лучший способ разобраться - это учиться на готовых примерах. Возьми игру, в которой известно расположение строк и поинтеров к ним, смотри, изучай закономерности. Общего способа нахождения указателей не существует. Более того, большая разница бывает даже среди игр одной платформы. Так что постигать это надо опытным путём.
 
P.S. Для тех, кто "в теме": прошу меня ногами не пинать за вольные трактования и упущения:) Все это сделано намеренно. Главное, чтобы человек понял суть, а с тонкостями он разберётся сам, если ему действительно будет это нужно.
Stars:
Спасибо, буду изучать.
Photon9:
Подскажите что за фигня у меня вышла. Скачал я значит русификатор для игры а там в архиве только файл ips ну я скачал snestl13 пропатчил игру и теперь этот самый snestl13 немогу удалить пишет програма занята другим приложением , перезагрузка не помагает.
cari:
может быть файл используется другой программой?
Photon9:

--- Цитата: cari ---может быть файл используется другой программой?
--- Конец цитаты ---


Я же и пишу что перезагружал комп но по прежнему не у даляеться
cari:
возможно прога которая использует этот фаил загружается автоматичиски. попробуй зайти в безопасном режими или скачай специальную прогу что бы удалять неудаляемые файлы
Smoke:

--- Цитата: Photon9 ---Подскажите что за фигня у меня вышла. Скачал я значит русификатор для игры а там в архиве только файл ips ну я скачал snestl13 пропатчил игру и теперь этот самый snestl13 немогу удалить пишет програма занята другим приложением , перезагрузка не помагает.
--- Конец цитаты ---

Скачай прогу Unlocker - она хорошо процессы снимает.
Crash Nicker:
Я лично пробовал перевести TANK YS 1990 & 1994. Текста запредельно мало, но зато хоть перевёл. Причём нормально допереводил. Просто єто мой первый d; ).
Varyag_Ericsson:
Кто знает, какими прогами рыться в ИСОхах к ЗЫч и ЗЫч2?... конкретно - меня не устраивает Phantasy Star Generation 1, 2 на жопанском.... надобно хоть попробовать исправить ситуэйшен...
Crash Nicker:

--- Цитата: Bruce ---Кто знает, какими прогами рыться в ИСОхах к ЗЫч и ЗЫч2?... конкретно - меня не устраивает Phantasy Star Generation 1, 2 на жопанском.... надобно хоть попробовать исправить ситуэйшен...
--- Конец цитаты ---


О! Я теж! Хочу первым делом локализировать (хоть я это не сильно умею) бандикутов на плейстейшен. Только незнамо, как...
sva:
А есть какой нибудь faq по переводу игр для psx?

Добавлено через 43 минуты
У меня такой вопрос,как вскрыть игру для PSX,что бы нужные мне слова на японском оттуда вытащить и перевести с помощью переводчика?
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии