История о том, как я патчил Total Immersion Racing aka Жажда Скорости

Как вы помните, каждый из вас может отправлять нам свои новости в предложку, которые превращаются в блоги. Один из наших подписчиков решил поделиться историей того, как ему удалось адаптировать достаточно старую игру под современные реалии.

Logo

Доброго времени суток. Решил я как-то вспомнить детство и поиграть в игрушку родом из 2002-го года – Total Immersion Racing (Акелла локализовала игру как Жажда Скорости; ага, отсылка на NFS). Достал диск из коробки, заклеенной скотчем, сдул пыль, вставил в DVD-привод, поставил, запускаю. Оно запускается и работает идеально, но вот беда – разрешение 4:3 (Зак Снайдер бы одобрил – прим. редакции). Так играть вообще не дело желания. Было принято волевое решение найти, как пропатчить игру для разрешения моего экрана.

 

Решение было найдено, но вот беда – не для exe’шника от Акеллы. “Идеально”, – подумал я с сарказмом. Потом через время я нашел европейский и американский патчи для игры. Установив один из них… А тут уже начинается самое интересное! Файл exe’шника по видео-инструкции успешно пропатчен, как вы поняли. Игра запустилась уже в родном 16:9 разрешении, что не могло не радовать (если в CONFIG/syscfg.ini выставить разрешение 1920 на 1080, то картинка будет растянутой без патча). Но вот досада – язык не русский. В итоге не найдя ничего толкового в интернетах, было принято еще одно волевое решение – пропатчить exe’шник самому! Первой идеей было определить расположение файлов русской локализации. В корне игры есть папка LANGUAGE, идем туда. Вы видите русский язык? И я не вижу, а он есть.


Окей, есть файлы с префиксом _EN и _US. Я смог определить каким-то образом, что загружается локализация US. В US нормальная английская локализация, а в EN локализации непонятные закорючки. Окей, пробуем что-нибудь написать на русском в US файле. Игра крашится. Я перерыскал все файлы, grep’нул всю игру, ну нету русской локализации, хотя оригинальный акелловский exe’шник подсказывал обратное. Я вскрыл exe’шник через HxD (HEX-редактор, полезная штука, рекомендую), прошелся по нему, русского тоже нет, либо он спрятан в закорючках. “Вот ведь миссия невыполнима”, – подумал я. Потом я решил закорючку из EN локализации закинуть в US локализацию. Я увидел русскую надпись. Я начал рвать на себе волосы от досады. Локализаторы из Акеллы придумали гениальный костыль – поместить русскую локализацию в EN файлы. Зачет!
Хорошо, а почему так закорючки? Предположительно из-за кодировки файла (UCS-2 LE BOM). Я сильно не разбирался.

Я быстренько в HEX поменял местами вторую и первую локализацию (US и EN), в итоге у меня игра в разрешении 16:9, с русским языком и с озвучкой Петра Гланца (вроде как, у него специфический голос и второго такого я не слышал). Ура!
Хотя у меня есть подозрение, что в файле CONFIG/syscfg.ini пару чисел и было бы норм. Ну да ладно, главное, что работает.

Дальше поговорим про анализ файлов игры, так как хотелось прокачать немного графику (спойлер: ничего путного).
Игра хранит некоторые файлы в чистом виде, некоторые в непонятных для меня форматах. К примеру, музыка и звуки хранятся в формате wav, что дает возможность их заменять на более качественные (ну или прикрутить что-то вроде Pepega Mod для звуков и музыки). Некоторые картинки хранятся в PSD и в паре dxg-PSD форматах.

Разобрать их у меня не вышло. Видео хранятся в формате WMV, соответственно их тоже можно сменить. Видео используются только в меню и нигде более (папка GRAPHICS/ANIMS).
В папке 3DDATA уже интереснее. В подпапке TRACKS/CONFIGS лежат конфиги трасс. Там в принципе все описано, я не вдавался в их изучение. Вернемся в папку TRACKS. Откроем любую трассу и нас встретит набор файлов:

  • 3DOBJDB.BIN
  • 3DOBJS.XBX
  • 3DOBJSP.XBX
  • BININFO.BIN
  • TEXTURES.DXT

В первую очередь я попробовал вскрыть DXT, чтобы получить текстуры. Увы и ах, у меня это не вышло. И так в принципе с любой 3D-моделью – один и тот же набор файлов.
Вернемся в корень. Файлы из папки FONTS тоже не поддались вскрытию.

Еще в игре можно встретить различные конфигурационные файлы в виде текста, но я не разбирался за что они отвечают.
В принципе, по анализу все. Игра слабо поддается моддингу исходя из моих скудных знаний. Можно хотя бы вытянуть весь OST и слушать его. И из моего разбора exe и dll я пришел к выводу, что игра написана на языке C, хотя я могу ошибаться.

Если вы знаете как что-то вскрыть и изменить, то пишите в комментах, буду рад попробовать. Файлы также могу скинуть без проблем.
Спасибо, что прочитали статью! Ваш горе модер, Дима aka Roker2.

Следите за нами в сети:

Поделиться записью
Комментарии 0

Комментарии