Разработка и ромхакинг > Ромхакинг и программирование
Русификация игр
<< < (15/231) > >>
Mefistotel:
Наконец-то, я с Bmpcorp-om закончили перевод замечательной игры Double dragon 3.Для себя я узнал много нового и интересного.
Скачать перевод  можно из подписи и по этой ссылке http://shedevr.org.ru/cgi-bin/gamez.cgi?n=137
Меня интересует мнение обычных  геймеров. Ведь, именно для них, мы с товарищем старались.
Напоследок хотел поблагодарить всех, кто помогал при создании данного перевода.
Отдельное спасибо Ансу и BHLady.
Под четким цензорством Анса было исправлено много недочетов. Анс, именно тот человек, которого надо слушать и запоминать, что он говорит.
Благодаря BHLady, я смог разобраться с Rle. Она вообще тот человек, чьи советы действительно помогают.
Может кому-нибудь пригодится методика борьбы с «местным» Rle.
Леди писала:

--- Цитата ---А теперь серьёзно. Таких мазохистов, как эти разрабы, я ещё не видела. С помощью хитроумной комбинации они кодируют два символа тремя! А внешне кажутся такими порядочными!
А теперь действительно механизм запаковки. Управляющие байты располагаются триплетами. Средний символ - тот, который печатается. Первый - сколько раз нужно напечатать второй символ. Третий символ, если из него вычесть 40h, определяет длину строки текста, которая располагается за управляющим триплетом и выводится на экран за вторым символом (повторённым указанное число раз).
Ну а напоследок самое интересное. После блока текста идёт ещё один триплет: [81] [х] [00]. Второй байт [х] определяет, сколько ещё нужно напечатать пробелов, чтобы экран окончательно заполнился. Т.е. длина напечатанного тобой текста (включая все служебные пробелы] + [х] = const. Если это равенство не будет выполняться, то произойдёт смещение цвета. Одним словом, перевести можно, но очень хороший геморрой.
--- Конец цитаты ---

 Все верно. Но к счастью,  разобраться оказалось не так трудно. Чтобы цвет не изменялся при переводе на русский язык, надо к байту (X) прибавить некоторое значение (Y). Оно находится так: это число, показывающее сколько раз мы отключили RLE.
Проще говоря, сколько раз вместо байта 02 поставили байт 01.Как говорила Леди, байт 02 означает, что букву надо повторить  два раза. Если поставить 01, 03,..04,….n,  то буква будет повторена 1,3, 4…n раз. Операция с повторением мне пригодилась лишь два раза,
когда писал имена Джимми и Билли. В остальных случаях я отключал повтор.
Вот пример контрольного триплета, который проверяет значение символов на экране.
[81] [B1] [45]. Он располагается в конце блока с текстом!Допустим, мы три раза заменили байт 02 на 01,т.е. Y=3. Теперь X[B1] + Y[03]=B4 или [81] [B4] [45]. Все, никакого искажения палитры нет.

В DD 2 : Revenge применяется такая же система, но сложнее.Весь текст  закодирован таким образом, даже надпись Double Dragon (тайловая карта) на титульном экране. У букв OU- общее основание и оно дублируется.
Одной из проблем является сдвиг строк. Объяснить мне это довольно трудно(из-за малого опыта), но чтобы все строки выводились ровно - необходимо манипулировать их координатами. Начало и конец каждой строки идет с триплета, например такого [2D] [00] [47]. При изменении количества повторяющихся символов (например, с 02 на 01), строка сдвигается либо влево либо вправо от остальных строк. Чтобы она «встала на место» надо прибавить(отнять) значение от байта [2D]. Манипулирую этими значениями возможно весь текст сделать ровным. Даже, когда в оригинале на строке одно слово по центру. Например, было так  (оригинал):                  Однажды
                     На город напали воины тени.
Стало(наш перевод): Однажды на город напали воины тени.
Проще говоря, в триплетах по центру всегда стоит байт пробела [00].
[2D] [00] [47], расстояние от конца строки до начало следующей, занимает 2D(45) пробелов. Поставив вместо 2D  01, пробел получается длиной в один байт и строки соединяются.Таким образом, количество символов было сокращено на 44. Это значение надо добавить  к байту X  в контрольном триплете, чтобы палитра стала нормальной.Но проблема в том, что максимум Х=FF. И если он был равен хотя бы E2, то 
 не прибавить к нему 2D... и палитра будет неправильной. Решение есть, но пока я его не нашел.Но надеюсь найду.
 В второй части игры, применение этого алгоритма бывает оправданно, например когда кодируют тремя символами четыре или повторяющиеся слоги. Пример, кодировка[04] [.] [2D] вывод ….(четыре точки), или так: кодировка [02] [AN] [00] [2D] вывод  an angel(5 символов). Ребята, если вам попадется подобная кодировка, то спрашивайте. Чем смогу, помогу.
Вторая часть оказалась сложнее, чем я думал.В основном из-за того, что в игре очень короткие строки.По одному - два слова, плюс в строке находятся не только текст, но и часть рисунка..
Начата работа над переводом Double Dragon 2:Revenge.
Перевод скрипта – Rex O, графика – Bmpcorp, хакинг – я. Перевод: в стадии тестирования.
BlueHairLady:
:lol: Здравствуйте. :lol: Создала несколько переводов, в течение года немного покрутилась в среде ромхакеров - и вот уже меня считают профессионалом. :lol: :lol: Я действительно разбираюсь в основах, но не нужно думать, что я знаю много.

А что касается написанного мною на скорую руку, то это частный случай, не самый удобный для изучения. Тем более, HoRRoR затем немного уточнил меня. А по алгоритмам сжатия лучше читайте http://shedevr.org.ru/forum/viewtopic.php?t=3590
Mefistotel:
 А я тебе не считаю проффесионалом.  ;) Но  не надо так скромничать.  :) Когда ты что-то подсказываешь, то это довольно просто понять практически любому. По моему мнению, ты много чего знаешь в ромхакинге, но тщательно это скрываешь. :lol:
А вот когда совет дают профессионалы, то зачастую, без "поллитра" не разобраться. А твои инфа мне действительно помогла.
BlueHairLady:

--- Цитата: Mefistotel от 03 Май 2008, 01:40:43 ---А вот когда совет дают профессионалы, то зачастую, без "поллитра" не разобраться.
--- Конец цитаты ---

Хотя и не пью :lol:, но здесь согласна. :lol: Когда пытаюсь что-либо объяснить, то задаюсь вопросом: "А смогла ли бы я сама это понять полтора года назад?"
vovan:
  Кто подскажет ? После того как нашел в ХЕКС-РЕДАКТОРЕ весь текст каждая восьмая буква текста отображается как FF . Как убрать это незнаю. Переводить конечно можно но немного мешает.
Rumata:

--- Цитата: vovan ---Как убрать это незнаю
--- Конец цитаты ---
А надо? Может, эти FF имеют некий смысл? Как это на экране отображается?
И вообще, вопросы так не задают. Какая игра, какая платформа? Адреса текста в дампе?
vovan:
Игра Emerald Dragon на SNES .
На экране отображается примерно так :

   One day. a wrec
     k.ed ship .washe
     d u.p on the. Dr
     aguri.an shore.
 
Ну и так далее по тексту.Каждая точка соответствует FF .Конкретно адрес этого места: 00221940 .

То что эти FF нужны то это понятно , но только что они дают ? В тексте на этих местах все нормально.
 
lupus:
это скорее всего сжатие...
Rumata:

--- Цитата: vovan ---адрес этого места: 00221940
--- Конец цитаты ---
Это в какой системе? Файл всего 2 Мбайта, и максимальный адрес - 001FFFFF. Да и вообще игра на японском  :?
И это не сжатие, если ты видишь текст просто в HEX.
BlueHairLady:
В ROM не заглядывала, но периодическое мелькание [FF] среди нормального текста наводит на мысль о LZ77. Читай http://shedevr.org.ru/forum/viewtopic.php?t=3590 .
vovan:

--- Цитата: Rumata от 11 Май 2008, 01:23:36 ---Это в какой системе? Файл всего 2 Мбайта, и максимальный адрес - 001FFFFF. Да и вообще игра на японском  :?
И это не сжатие, если ты видишь текст просто в HEX.

--- Конец цитаты ---
Пару месяцев назад вышел патч с английским фан-переводом (кстати скачал я его с этого сайта, он был в новостях ).После пропатчивания размер рома стал 3 Мб.Прости что не написял об этом сразу .

BlueHairLady благодарю за наводку , но только с наскока ничего не понял .Пошел читать поподробней .

PS.Вообще если честно переводить можно, но очень геморойно отсчитывать эти восем символов.А если просчитался то все полный швах -текста нет.Так все пошел разбиратся что там HoRRoR написал.
 
PPS. Да точно -это LZ77 .Но я примерно до такого и сам уже додумался(только не знал что эти FF отсылают еще дальше ).А вот как при извлечении текста избавится от всего лишнего , а при вставке обратно чтоб эти ссылки вернулись на место . Да тут уже не просто перевод ... тут надо програмирование изучить предварительно.
HoRRoR:
LZ - 100%. Причём автору перевода было явно влом писать пакер.


--- Цитата: Rumata от 11 Май 2008, 01:23:36 ---И это не сжатие, если ты видишь текст просто в HEX.

--- Конец цитаты ---
Это всё-таки "сжатие", а вернее - "антисжатие" :)
BlueHairLady:

--- Цитата: vovan от 11 Май 2008, 07:51:51 ---Да тут уже не просто перевод ... тут надо програмирование изучить предварительно.
--- Конец цитаты ---

Соболезную. Выбор у тебя, конечно, небольшой: или писать свою программу, или осваивать что-либо наподобие Круптара (как им пользоваться - не представляю), или ручками. Сумеешь сделать третьим способом - заслужишь памятник. Нерукотворный. С поминальной табличкой. :)
HoRRoR:

--- Цитата ---Выбор у тебя, конечно, небольшой: или писать свою программу, или осваивать что-либо наподобие Круптара (как им пользоваться - не представляю)
--- Конец цитаты ---
Лично я предпочитаю комбинировать :)
Пишу плаг для 7-го Круптара и усё.
vovan:
Ага, я как раз сегодня и пытался разобраться с этим  Круптаром. Но там куча окошек , которые выскакивают друг за другом (кошмар какой-то). Но в принципе он вроде повторяющиеся символы сортирует. Короче если силы духа хватит то разберусь с ним, ну а не хватит то что ж не судьба.
HoRRoR:
Ну если ты с такой простой прогой разобраться не можешь, то, извиняюсь, куда тебе в ромхакинг?
vovan:
 Да разобраться я вроде-бы и разобрался.Но только в моем случае необходимо писать плагин.Сам Круптар с таким сжатием не работает.А для меня это уже высший пилотаж... :)
BlueHairLady:

--- Цитата: HoRRoR от 14 Май 2008, 09:08:41 ---Ну если ты с такой простой прогой разобраться не можешь...
--- Конец цитаты ---
Но при этом, почему-то, некоторые люди сомневаются, владеет ли Круптаром Djinn (автор Круптара)? :lol:
HoRRoR:

--- Цитата: BlueHairLady от 15 Май 2008, 10:48:22 ---Но при этом, почему-то, некоторые люди сомневаются, владеет ли Круптаром Djinn (автор Круптара)? :lol:

--- Конец цитаты ---
Владеть можно 3D-максом, а Круптаром надо просто брать и пользоваться. Естественно, необходимы базовые познания в ромхакинге. При них разобраться в проге можно за 5 минут.
Thon:
Даже не знаю сюда ли это) Ибо хочу найти хотя бы англ перевод игры Surging Aura на SMD)) Просто русские переводы не оч люблю ДАЖЕ если они сделаны оч хорошо, к примеру группой Шедевр) :D Может ктонит подсказать?)
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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