Опрос на сайте
Какая серия GTA вам больше всего нравиться?

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

Magic - TXD Builder 0.9.1

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

Vertex Alpha в Vice City

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

Main Menu Scene

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

Rollerskates Mod

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

RwD3D9 - Расширение от The Hero

RwD3D9 - Расширение от The Hero
В данном материале мы рассмотрим, один замечательный плагин RwD3D9, который позволяет перенести серию игр GTA на DirectX 9,

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