Опрос на сайте
Что вы делаете с GTA?

Популярные новости

[CLEO]CarRec(plus ObjRec)

[CLEO]CarRec(plus ObjRec)
"CarRec" дает вам возможность записывать движения автомобиля в файл ".cr" для воспроизведения их позднее в ваших скриптах и

Magic - TXD Builder 0.9.1

Magic - TXD Builder 0.9.1
Полезная программа для сборки TXD файлов, которая важные параметры, такие как mip map, DXT сжатие... Кроме того, программа

Main Menu Scene

Main Menu Scene
"Main Menu Scene" дает вам возможность создавать собственные сцены в "Главном Меню" игры с кастомными картой и скриптом, при

Vertex Alpha в Vice City

Vertex Alpha в Vice City
То, что некогда было доступно лишь в GTA: San Andreas и выше: Vertex Alpha, а потенциально - и физический бленд текстур в

Rollerskates Mod

Rollerskates Mod
Модификация позволяет кататься на роликах, прямо как пляжные девушки.

04 ноябрь 2014

Начало реверсинга GTA Vice City


Как вы уже ранее обсуждали в этой статье, что программировать глобальные моды на gta vice city, действительно не возможно без исследования кода (реверсинга). В этой статье мы узнаем с чего лучше начать, изучение игрового кода, не много также рассмотрим инструмент IDA pro.

Настройка IDA Pro


Начать нужно с настроек, нашего основного инструмента, привести его как говорится в нужный вид, что-бы в дальнейшем не было проблем. Перейдите в меню Options и затем в General и поставьте галочки как на этом рисунке:

Начало реверсинга GTA Vice City


Таким образом у вас, появиться удобный байт код и зеленными цифрами глубина стека, что позволит в дальнейшем вам ориентироваться легче в коде. Пока вы можете подумать, что показывать глубину стека это бесполезная вещь, но в будущем мы об этом поговорим и вы все это лучше поймете.

Далее нам нужно настроить, подсветку кода в нашем инструменте для этого перейдем в Options и Colors…. Появиться такое окошко, тут вы настроите подсветку кода, на свой вкус, как вы захотите:

Начало реверсинга GTA Vice City


Согласитесь приятно читать код, когда он не одним сплошным цветом, а когда хорошо подсвечены регистры, команды, числа, вот это то, что делает восприятие более приятным. Далее мы будем все изучать более досконально, но по мере надобности и на практике.

Сейчас вы рассмотрим ниже, самый основной наш вопрос.

С чего начать изучение кода GTA Vice City



Начало изучения кода, начинают именно со сбора информации на эту игру. Какой был использован компилятор, т.е что-бы лучше потом распознавать, функции, код и прочее, что было как говориться “до”. Далее это же, на каком движке игра была сделана, затем собирают максимально больше информации об этом движке. К счастью движок игры это RWG и заголовочные файлы вы можете скачать тут. Но почти все хорошо, говорят что именно пакет RWG для GTA Vice City, так и в сети не был найден, ну да ладно, хоть что-то да есть. Далее узнаем про другие библиотеки например про Mss32.DLL, как мы ранее обсуждали, это библиотека служит исключительно только для звука в игре. Все что вы слышите в игре, музыку, выстрелы, звуки автомобилей все это выполняет библиотека mss32. Кроме того этот звуковой движок и загружает asi плагины, которые мы и начали использовать в качестве модов, в последнее время. Но скорее всего в будущем, многие кто программирует плагины, откажутся от такого метода загрузки модов, по скольку есть один не приятный минус:

Плагин загружается не до старта игры, подобно тому как это сделано было в GTA-SA.

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

Следующий шаг, это при реверсивной инженерии, находят все используемые стандартные C++ функции, именно их в GTA Vice City не малое количество. Вообще любая игра, всегда будет использовать стандартные функции для работы со строками, загрузкой файлов и прочее. Далее же, хватаются за ресурсы игры, и ищут где они были загружены, например gta3.img, main.scm и прочее. Таким образом начинают абстрактно уже давать имена тем функциям которые к этому обращаются. Если же получать оригинальные имена, то их нужно находить в лог-функциях, разработчики R* это использовали, таким образом при исследовании базы их начинали использовать. Например CWeaponSlot, CPed, CVehicle, CWorld и прочее. Но при исследование кода приходиться давать свои имена, и имя должно действительно соответствовать функции, полю, переменной все должно быть по смыслу.

Лучше всего что-бы наработать свою практику, лучше взять готовую базу для gta vice city, по скольку это действительно будет долгим занятием и требующим хороших навыков. Далее же мы займемся основными вещами в исследование кода, научимся восстанавливать свои функции, научимся находить, константы, глобальные переменные, массивы а также все это переписывать в исходный код. Так что дорогие читатели приятного вам моддинга и ждите новых статей на GTABuilder.

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добавить свой комментарий

Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищённой ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Другие материалы

Создание спидометра GTA

Создание спидометра GTA
Реализация спидометра это довольно хорошая идея, особенно если речь идет о создании спидометра для GTA Vice City. Например

Основы реверсивной инженерии в GTA Vice City

Основы реверсивной инженерии в GTA Vice City
Реверсивная инженерия это процесс исследования машинного кода игры gta vice city и приведения его в исходный код, в нашем

Вывод на экран GXT текста в GTA VC

Вывод на экран GXT текста в GTA VC
Настала пора поработать не много с текстами в GTA Vice City, а это значит что в этом уроке мы научимся выводить текст GXT,

Вызов функций и процедур в GTA Vice City

Вызов функций и процедур в GTA Vice City
Вся игра состоит на самом деле из функций и процедур а также методов различных классов, о которых мы поговорим позднее.
Ads

Группа GTA Builder
Наши партнеры

GTA FreeRunning Story