Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Локализация игр на дому - Часть 3

Автор: Spose
WEB-сайт: http://daddy.mirgames.ru

Medal Of Honor остался далеко позади и на нашем горизонте появляется незабываемая игра No One Lives Forever 2 с еще более незабываемой Катей Лучниковой (в далеком прошлом - Кейт Арчер) в главной роли. Monolith прекрасно справился со своей работой: движок на котором сделана игра, не только красиво рисует и передает погодные условия, но и, как обычно для движков Lith Tech, легко подвергается локализации. Но перед тем как приступить к столь творческому процессу, необходимо хорошо вымыть руки и перекусить, так как процесс может затянуться. И я думаю, не стоит объяснять, что прежде чем что-то изменить, надо сделать копию изменяемого файла, чтобы в случае возможной последующей неработоспособности игры вернуть ее к жизни без долгой переустановки.

Файловые архивы

Monolith не пытается каждый раз при разработке движка изобрести велосипед, поэтому формат файловых архивов (*.REZ), содержащих все нужные нам файлы, остался еще с игры Blood 2: the Chosen, для которой еще с 1998 года существует куча разнообразных утилит. Но нас интересует только одна: lithrez (качайте либо у нас либо c www.extractor.ru). Установка этой утилиты сводится к простому копированию ее в каталог с игрой. Хоть программа и работает только через командную строку, пользоваться ей просто: Lithrez x ИмяАрхива.rez ИмяАрхива (без ".rez") После этого программа распакует нужный вам архив в папку с таким же именем в каталоге игры. Чтобы вы не тратили время зря, скажу сразу, что аппетитными, с точки зрения локализатора, архивами являются: Game.rez и GameDll.rez. Рассмотрим содержание первого:

Из всей кучи подкаталогов, которыми забит архив, нас интересуют:

  • Chars\Snd - содержит озвучку разных действий персонажей (смерть, боль, падение и т.д.).
  • Fx\Debris\Snd - содержит звуки разбивающихся поверхностей (стекло, дерево, камень и т.д.).
  • Guns\Snd - содержит озвучку оружия, заменив ее на свою (можно даже из Counter-Strike взять), вы получите намного больше удовольствия играя в игру. Interface - содержит некоторые графические элементы меню (в формате PCX) и его озвучку.

Внимание!!! Не стирайте никакие папки и файлы, так как мы распакованные фалы будем паковать обратно! Оставим изменение звуков на вашей совести и перейдем к удалению элементов английского языка из элементов меню (благо таких элементов немного). Для этого в PhotoShop'e (или другом графическом редакторе) откроем файл "Pause.pcx", лежащий в корне папки Interface. Вы увидите примерно следующее:

Не буду объяснять, что нужно делать, тут и так все ясно. После 15 минут упорного труда, вы должны будете получить что-то вроде:


Скажите, вам еще не надоела картинка, появляющаяся при загрузке игры, где Катька стоит с пистолетом, а рядом с ней куча баннеров и копирайтсы (copyrights)? Если да, то смело заменяйте файл "Splash.pcx" в папке Interface\Menu\Art на свою любимую, только учтите что размер "любимой" должен совпадать с размером оригинала, то есть быть 1024x768 пикселей.

Опять шрифты…

Нет, нет, не бойтесь, они не кусаются… тьфу, они не графические, а обычные TrueType шрифты, используемые Windows. Это сильно облегчает задачу! Правда, в игре они, как и все буржуйские (читай заморские) шрифты, не поддерживают русской раскладки. Значит, будем менять на наши - родные! Зайдите в каталог, где у вас установлен Windows и найдите там папку Fonts. Поищите там подходящие по очертанию к "заморским" (например шрифт Courier New (cour.ttf) очень похож на шрифт Typist (Typist.ttf) из игры) и скопируйте в отдельный каталог, всего шрифтов - одиннадцать. Предупреждение!!! Не выбирайте слишком "тонкие" шрифты, иначе в игре их просто не будет видно! Далее переименуйте их в имена сходных "заморских" (например - cour.ttf в typist.ttf и т.д.). Но у шрифтов еще есть и внутреннее имя, его тоже необходимо будет заменить. Для этого, скачайте программу Softy (ссылка есть в первой части), запустите ее два раза (скоро поймете зачем), в одной запущенной копии загрузите оригинальный "буржуйский" шрифт, во вторую - отечественный, тот на который мы хотим заменять оригинал. В обеих копиях зайдите в Platform>Names, появится окно с полями (которые можно редактировать), необходимо информацию из всех полей отечественного шрифта, заменить на аналогичную информацию из полей "заморского". Сохраните изменения. Проделайте эту операцию со всеми 22 шрифтами (11 наших и 11 их). Все теперь смело заменяйте файлы шрифтов. На этом интересности первого архива заканчиваются.

Где же текст?

Вы наверно задали себе этот вопрос, обыскав папку GameDLL и просмотрев невооруженным взглядом в ней все файлы. Ответ вы найдете в первой статье из цикла (в февральском номере), он кроется в том, что игра хранит свои тексты в DLL файлах. Возможно, на нашем сайте в разделе Ресурсокопание лежыт программа ExeScope (если же нет, то вы сможете ее спокойно скачать по адресу http://www.vector.co.jp/authors/VA003525), с ее помощью вы сможете легко отредактировать эти файлы. Для этого, запустите программу, нажмите File>Open… зайдите в папку GameDLL (в каталоге игры), и выберите там файл под названием Cres.dll. Слева появится столбец из трех строк, кликните мышкой на плюсик рядом со строкой Resources. Появятся еще три строки. Кликните мышкой на плюсик рядом со строкой Strings. Появится огромное число строк. При нажатии на каждую из них, справа появятся другие строчки с текстом. Перед каждой строчкой стоит ее номер и запятая, их необходимо оставить, а вот что после запятой необходимо заменить! Делается это так:


После того как вы "обработали" правую часть, кликайте мышкой слева, на номер следующей строки. Должно появится окно:


Убедитесь, что галочки стоят как на рисунке, потом смело жмите кнопку ОК. Операцию по замене текста необходимо проделывать пока вы слева не закончите строку под номером 2100. Не волнуйтесь, там не 2100 строк, а намного меньше, просто нумерация неправильная. Внимание!!! Если у вас не достаточно времени, лучше не садитесь за перевод, в надежде закончить его в будущем. Дело в том, что незарегистрированная копия программы ExeScope, не позволяет изменять один и тот же файл дважды. Значит, второго раза может и не быть…

Пора вернуть все на место…

Опять берем программку LithRez и пишем в командной строке:
Lithrez c ИмяАрхива.rez ИмяАрхива (без ".rez")

Повторите эту процедуру, сначала заменив ИмяАрхива на GameDLL, а потом на Game. Программа запакует файлы обратно в архивы и, загрузив игру, вы насладитесь плодами своего творчества или безумия - зависит от вас.

Волшебная палочка

Заручившись помощью чего-то вроде Nolf (2) SDK, вы можете не только поменять все то, что мы только что поменяли, но и создать новые уровни, придумать новых персонажей, создавать новое оружие и модели для него. Но для этого вам понадобится знание языка программирования C++ или просто по внимательнее читать "Мастерскую", на предмет методички по созданию уровней/моделей для игр на движке LithTech.

В завершение

Как это не прискорбно, но игра была выпущена с глючком, у игры испорчен архив sound.rez. Из-за чего игра лишилась озвучки диалогов персонажей. Но если, вдруг вы нашли патч к игре, исправляющий эту ошибку. То не забудьте слазить в выше описанный архив и хорошенько над ним поработать! Шикарная озвучка игры Бивисом и его отмороженным другом, это очень оригинально, хотя и глупо. Ваши возможности ограничены лишь вашей фантазией… и не забывайте, что Matrix Has Got You…

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.