Как делается перевод...
Необходимые программы: | |
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