GTA Builder Форум

GTA Vice City => Программирование => Тема начата: DK от Октябрь 23, 2016, 07:21:39 pm

Название: Создание класса в Plugin-SDK
Отправлено: DK от Октябрь 23, 2016, 07:21:39 pm
Plugin-SDK - открытый проект, внести свой вклад в проект может каждый.
Однако, для того, чтобы вносить изменения надо обладать кое-какими навыками.

Обсуждать, как загружать свой коммит в репозиторий мы здесь не будем - по этому уже есть статья на нашей вики (https://github.com/DK22Pac/plugin-sdk/wiki/Настройка-plugin-sdk-(подробная-инструкция)).

Поговорим о том, как добавить класс игры (т.е. класс, который существует в коде GTA) в Plugin-SDK.
Весь процесс "добавления" можно представить такими этапами:
1. Собираем информацию о классе (структуры, переменные и функции) и разбираем его в IDA.
2. При помощи утилиты sdk_funcs_gen, генерируем код объявлений и определений функций.
3. Создаём файлы в sdk (хедеры, исходники) и заполняем их.
Самым сложным является первый этап.

Что нам нужно:
1. База данных. Для VC - я использую базу, основанную на базе maxorator'а.
2. База Android для VC.
3. Утилита sdk_funcs_gen. Получить её можно в ЛС.

Для примера мы возьмем класс CGeneral.

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

https://www.youtube.com/watch?v=90qA3yDZSRs (https://www.youtube.com/watch?v=90qA3yDZSRs)

При просмотре включить субтитры.
Название: Re: Создание класса в Plugin-SDK
Отправлено: Shagg_E от Октябрь 23, 2016, 10:57:09 pm
Круто, я думаю пора уже и спецтему на форуме сделать, куда вынести всё по Plugin SDK. Т.е., сгруппировать все линки на соответствующую тематику. Типа этой темы (http://forum.gtabuilder.ru/index.php?topic=7.0).