Как делается перевод...
|
Необходимые программы: | |
| N64Gfx v2.0 (by EAR_CLOCK, CesarB & Hyllian) - DOS. | |
Утилита для экспотра графики из рома, а также импорта ее обратно в ром.
Работает только с файлами *.png (output / input).
Используется также с файлами *.dat (см. Zelda Extractor), для редактирования сжатой графики в игре. | |
| Sprite Viewer v1.65 (by Peekin) - DOS | |
Программка для просмотра и поиска графики в роме.
(А также другой информации (оффсет, режим, размер) для использования с n64gfx).
Для ромов N64 используйте режимы linear4, linear8, n64high, n64true
Показывает только не сжатую графику в ромах N64.
Можно также использовать для поиска графики в ромах других консолей (Nes, Snes, Sega, Gameboy и.т.д)
Более подробную информацию можно найти в readme. | |
| Macromedia Fireworks v4.0.1 - Windows | |
Графический редактор.
Необходим для работы с файлами *.png, используемыми N64Gfx.
Можно также использовать Adobe Photoshop, (лучше версии 6.0). | |
| Hexposure v0.44b (by SnowBro) - DOS | |
Хекс-редактор.
Используется непосредственно для перевода диалогов.
В Zelda весь текст хранится в кодировке ASCII, так что таблиц делать не надо.
Перевод можно делать прямо в роме. | |
| Zelda Extractor (by _Demo_) - DOS | |
Программка для распаковки сжатой графики в Zelda: Ocarina of Time и в Zelda: Majora's Mask.
После распаковки создается 1456 файлов *.dat (для Majora's Mask - 2033).
Каждый файл содержит найденную в игре графику (сжатую и нет). Просматривать - в Sprite Viewer.
Имя *.dat файла - это адрес, по которому хранится найденная графика в роме.
Но именно сжатая доступна теперь для просмотра в Sprite Viewer. | |
| Yaz0 Kit (by PSA) - DOS | |
Две программки для распаковки и обратной компрессии сжатой графики в обеих Zelda.
Распаковка работает точно также, как и Zelda Extractor, только вместо *.dat файлов,
(с адресом в качестве имени), создается такое же количество *.unp файлов.
Имя файла здесь - просто номер по порядку.
Поэтому гораздо удобнее использовать ZeldaExtractor в качестве распаковщика.
Запаковщик работает только с файлами "unp" (без расширения). Просто unp.
Для компрессии необходимо просто переименовать конкретный *.dat в unp. | |
| Romput v1.0 (by Icarus) - DOS | |
Программка, вставляющая любые данные в ром N64 по заданному адресу.
Нужна для вставки отредактированных (и снова запакованных) данных обратно в ром. | |
|
Редактирование графики (не сжатой): | |
(На примере надписей на кнопке "Action Icon") | |
| Поиск графики: |
Sprite Viewer |
Берем ром Zelda64 (ром должен быть не byteswapped). Открываем его в Sprite Viewer и ищем графику.
Для быстроты поиска понажимайте ], и клавишей PageDown (или стрелками) доберитесь до адреса 0x8C4D71.
Теперь перейдите в режим Linear 4 (клавиша 4), выберете палитру Gray (клавишей P).
Теперь понажимайте [, чтобы ширина изображения получилась 48 пикселей.
На экране должно получится примерно следующее:
| |
| Экспорт графики из рома: |
N64Gfx |
Запоминаем оффсет, размер и режим. Закрываем Sprite Viewer, запускаем n64gfx (frontend).
На вкладку Palmatch не обращаем внимания.
(Ром и n64gfx должны лежать в одной директории)
Заполняем поля в n64gfx следующим образом:
| |
| Перерисовка по-русски: |
Photoshop (или Fireworks) |
Рисовать можно как в фотошопе, так и в файрворксе.
Photoshop (v5.0, v5.5, v6.0)
Теперь перерисовываем графику, с сохранением палитры.
Чтобы использовать оригинальную палитру, в фотошопе открываем action-icon.png,
(он экспортируется из рома в режиме Indexed Color). идем в меню Image,
выбираем Mode -> Color Table, жмем Save. Называем файл, скажем, Action.act.
Пересохраняем файл action-icon.png как action-rus.png (или любой другой формат, лучше *.psd).
Рисуем русские надписи, примерно как на рис. 2.
| |
| Импорт графики в ром: |
N64Gfx |
Теперь загружаем n64gfx frontend, (action-rus.png, N64Gfx и ром дожны лежать в одной папке).
заполняем все точно так же, как и при экспорте, только в поле Operation вместо export ставим import
и в поле Image name *.png пишем название нашего нового перерисованного файла - action-rus.png (или action-r.png).
Все заполнили - жмем Run N64gfx. Все. Готово. Теперь надписи на Action Icon должны быть по-русски.
На всякий случай, можно открыть ром в Sprite Viewer, и по знакомому адресу посмотреть изменения.
Должно получится следующее:
| |
| Шрифты: |
Sprite Viewer / N64Gfx / Photoshop (Fireworks) |
Самое главное - перерисовка шрифтов - делается по такому же принципу, как и надписи на Action Icon.
Редактирование осложнается тем, что шрифт слегка размыт, в отличие от Action Icon.
В n64gfx только можно в поле Type выбрать Block, для удобства редактирования,
но тогда прийдется оба значения Image Size подбирать опытным путем. Значения должны быть кратны.
В игре используется два шрифта. Один - выбор имени в начале игры и надпись PRESS START.
Второй - собственно в диалогах.
В идеале вытянутый из рома шрифт (второй, для диалогов), выглядит так: *
| |
Буквы перерисовываются так, как кому удобно. Мы их располагали примерно так, как они расположены на клавиатуре.
Т.е., на месте английской "A" рисуем русскую "Ф" и т.д.
Важно нарисовать буквы так, чтобы ширина новой русской буквы
соответствовала ширине английской, на месте которой она рисуется.
Иначе в игре одни буквы будут налазить друг на друга, а между другими будут большие пробелы.
Теоретически эту проблему можно решить, найдя в роме таблицу ширины букв, и изменив ее.
Но как это сделать - пока никто не додумался. | |
| Перевод: |
Hexposure |
После того, как перерисован и вставлен в ром шрифт, можно приступать непосредственно к переводу.
Открываем Hexposure *, открываем ром и ищем текст. Выглядит все это так:
| |
|
Редактирование графики (сжатой):
| |
| Распаковка графики: |
Zelda Extractor |
К сожалению, большая часть необходимой для перевода графики в игре сжата. Процесс распаковки делается самой игрой.
Редактированию обычным способом она не поддается, но выход есть.
Берем наш оригинальный ром Zelda64. Копируем его и Zelda Extractor в одну папку.
В командной строке пишем: Zextract.exe Zelda64.rom (или перетаскиваем ром на Zextract.exe в explorer-e).
После некоторых раздумий программки, в нашей папке создается немеренное количество файлов *.dat (1456 штук).
Эти файлики - все графические данные, найденные в игре. Как сжатые, так и нет.
Имя файла - адрес, по которому данные лежат в роме.
Но сжатые данные теперь стали доступны для просмотра в Sprite Viewer, а значит - и для перерисовки.
Распаковали - переходим ко второму, самому нудному шагу: поиску нужной графики во всей этой куче. | |
| Поиск графики : |
Sprite Viewer |
Все точно также, как и поиск в роме, только вместо рома в Sprite Viewer нужно просмотреть
все эти 1456 *.dat файлов. Чтоб долго не искать, для начала можно, к примеру, взять файлы размером по 6,75 кб -
- в них находятся названия мест в игре, которые появляются в середине экрана, когда заходишь в это место/местность.
(Kokiri Forest, Hyrule field, Water Temple и т.п. Короче - все названия. Я нашел 57 штук). В Sprite Viewer это выглядит так:
| |
| Экспорт данных из *.dat файла: |
N64Gfx |
Точно так же, как и из рома, только вместо рома в поле Rom name with (ext) в N64Gfx пишем имя нужного *.dat-а
Так же заполняем все поля, по информации, найденной в Sprite Viewer. | |
| Редактирование: |
Photoshop (Fireworks) |
Опять точно так же, как и не сжатую. Те же *.png файлы. Фотошоп или файрворкс.
Есть пару моментов:
- размер измененного *.png может быть немного больше, чем оригинал
- обязательно нужно сохранять оригинальную палитру
- редактировать нужно очень аккуратно, стараясь достичь такого же качества, как оригинальный *.png
- обязательно нужно добиться того, чтобы количество пикселей в новой картинке
было меньше или равно оригиналу. Иначе могут быть зависания в игре.
Нарисовали русскую надпись. Следующий шаг - импорт обратно в *.dat. | |
| Импорт данных в *.dat файл: |
N64Gfx |
Тот же N64Gfx. Вместо Export выбираем Import *.
* имя импортируемого *.png файла - желательно максимум 8 символов. А-ля DOS.
| |
| Компрессия данных : |
Yaz0 Kit |
Самое ответственное. Разворачиваем архив Yaz0kit.zip. Там 4 файла:
- Распаковщик Yaz0unp.exe (можно не использовать. Работает по тому же принципу, что и Zelda Extractor,
только имена создаваемых файлов - просто порядковый номер. Расширение - *.unp)
- Запаковщик Yaz0comp.exe (самое оно).
- Файлик unp (пример распакованных данных. Просто один из 1456 файлов. Можно удалить).
- Файлик !out.org (пример запакованных данных. Запакованный файлик unp. Можно удалить).
Берем нужный и измененный *.dat. Проверяем в Sprite Viewer, чтобы не было никаких глюков.
Кидаем в одну папку с Yaz0 kit.
Переименовываем наш отредактированный *.dat в файл с простым названием unp. Без расширения.
Запускаем Yaz0comp.exe. Создается файл !out.
Этот !out - как раз то, как хранится данная графика в роме. В двух словах - просто кусок рома.
Но уже отредактированный *.
* Важный момент:
размер !out файла должен быть меньше или равен оригинальному. Желательно меньше.
(оригинальный можно получить, запаковав оригинальный, не отредактированный *.dat).
Все. Можно приступать к последнему шагу - вставке в ром. | |
| Вставка в ром: |
Romput |
Берем программку Romput 1.0.
Помещаем ее, ром, и файл !out (полученный из измененного *.dat) в одну папку.
Записываем где нибудь оффсет, по которому будем вставлять (имя *.dat файла).
Запускаем Romput. Внешне ничего сложного. Единственное - не надо заполнять поля в ручную, а надо
пользоваться кнопками (Load ROM, Load BIN). Иначе программка выругается и ничего не сделает.
Выглядит это так:
ROM - имя рома
BIN - файл "!out"
ADR - оффсет в роме (имя *.dat файла)
Заполнили поля - жмем кнопку Attach!
Готово!
Открываем ром в эмуляторе и смотрим изменения.
Если повезет, и ничего не зависнет, получится примерно так, как в разделе Screenshots.
| |
В общем - все. Если появится желание покопаться в ромах N64, поддающихся переводу, вроде Zelda: Majora's Mask, в которой все почти то же самое, что и в Ocarina of Time - пишите, мы постараемся ответить на все вопросы. | |
Tutorial - (с) Anton