IDE

Материал из GTAModding.ru
Перейти к: навигация, поиск

Содержание

Введение

Файлы Item Definition обычно имеют расширение .ide и являются частью т.н. GTAGAME engine, поэтому присутствуют в GTA3, GTA VC, GTA SA и GTA4. В ide каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы Limit Adjuster), в GTA4 ID не используется (вместо них там хэши имен моделей и флаги). В свою очередь, к каждому идентификатору, прописанному в ide, присваивается уникальная модель, архив текстур, используйщийся моделью, дистанция и параметры рендеринга модели. Все идентификаторы разбиты на группы, исходя из спецификации модели: OBJectS - обычные объекты карты, TimeOBJects - временные объекты карты, ANIM - анимированные объекты карты, PEDS - педы, WEAPons - оружие, CARS - транспортные средства, HIER - загрузочные слоты для кат-сцен, 2DFX - специальный 2D-эффект для объекта (более подробно о секциях IDE читай ниже).

Item Definition хранятся в текстовом виде, может быть отредактирован как редакторами карты для GTA - MooMaper, MapEditor, так и любюм текстовым редактором типа блокнота.

В IDE можно встретить специальные символы - "#" или ";", после которых идёт закомментированный текст - это либо комментарии разработчиков, либо заккоментированные части ide, по определённым причинам убранные из загрузки игрой. Любой текст, записанный после знака коментария до конца строки, игнорируется GTAGAME engine.

Структура

Файлы .ide разделены на секции. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается с идентификатора секции и заканчивется ключевым словом end.

Пример:

objs
...
end

OBJS

Обычные объекты карты.

Формат GTA IV
  • ModelName, TextureName, DrawDistance, Flags1, Flags2, AABB.Min, AABB.Max, BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary
ModelName
string[24]
название модели (в большинстве случаев - имя соответсвующего .wdr- или .wft-файла (без расширения)).
TextureName
string[24]
название архива с текстурами (имя соответсвующего wtd-файла, (без разширения)).
DrawDistance
float
Дистанция прорисовки объекта на карте (для обычных объектов значение должно быть < 300).
Flags1
DWORD
Специальные параметры объекта, значение по умолчанию '0'.
Flags2
DWORD
Специальные параметры объекта, значение по умолчанию '0'.
AABB.Min
float[3]
Минимальная угловая точка Min AABB-коробки.
AABB.Max
float[3]
Максимальная угловая точка Max AABB-коробки.
BoundingSphereCenter
float[3]
Центр ограничивающей сферы.
BoundingSphereRadius
float
Радиус ограничивающей сферы.
ModelsDictionary
string[24]
Название архива моделей (wdd-файла) в котором находится модель. Если модель располагается в .wdr- или .wft-файле, то текущий параметр имеет значение 'null'.
Формат GTA III, VC и SA
ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
ID
Уникальний идентефикатор ID (целое)
ModelName
название .dff - файл модели, без разширения (строка)
TextureName
название .txd - файл текстур, без разширения (строка)
ObjectCount
количество под-объектов, т.е. разрушаемых частей, по умолчанию = 1, - используется в SA, обычно = 1
DrawDist
дистанция прорисовки в юнитах, по одному значению для каждого под-объекта (число с точкой)
Flags
флаги - специальные параметры объекта, по умолчанию 0 (целое)


Флаги Объектов

Флаги объектов в SA - UInt32-Значения (Впрочем как и все другие флаги). Чтобы лучше их понять нужно представить их в двоичном виде. Вы получите битовые маски флагов. 1 означает включет, 0 - выключен

Вот список известных флагов SA:

0000000000000000000000000000001 = 1 - Эффект мокрого покрытия (во время и после дождя)
0000000000000000000000000000010 = 2 - Time Object - Ночной Флаг
0000000000000000000000000000100 = 4 - АЛЬФА-прозрачность 1
0000000000000000000000000001000 = 8 - АЛЬФА-прозрачность 2 *
0000000000000000000000000010000 = 16 - Time Object - Дневной Флаг
0000000000000000000000000100000 = 32 - Объект Интерьера **
0000000000000000000000001000000 = 64 - Отключить Тени (?)
0000000000000000000000010000000 = 128 - Отключить Коллизию модели (?)
0000000000000000000000100000000 = 256 - Отключить дистанцию прорисовки (?)
0000000000000000000001000000000 = 512 - Разбиваемое стекло **
0000000000000000000010000000000 = 1024 - Разбиваемое стекло с трещинами (треском ?) **
0000000000000000000100000000000 = 2048 - Гаражные двери ** 
0000000000000000001000000000000 = 4096 - 2-Clump-Object ** (Switches from Clump 2 to 1 after Collision)
0000000000000000010000000000000 = 8192 - Малая растительность. Объект пошатывается при сильном ветре (?)
0000000000000000100000000000000 = 16384 - Стандартная растительность **  (Пальмы в Готелях, т.д.) (?)
0000000000000001000000000000000 = 32768 - Использовать timecycle PoleShadow флаг
0000000000000010000000000000000 = 65536 - Explosive-Flag **
0000000000000100000000000000000 = 131072 - Неизвестно (Seems to be an SCM Flag) (?)
0000000000001000000000000000000 = 262144 - Неизвестный (Возможно используется в одном из объектов в Jizzy Club) (?)
0000000000010000000000000000000 = 524288 - Неизвестно (?)
0000000000100000000000000000000 = 1048576 - Флаг Граффити 
0000000001000000000000000000000 = 2097152 - Полигоны видны с двух сторон.
0000000010000000000000000000000 = 4194304 - Неизвестно (Часть статуи в Atrium) (?) 
...
1000000000000000000000000000000 = 1073741824 - Неизвестно

* Если не в Интерьере, текстура позади объекта становится черной (= IPL | Interior-value)
** Объекты должны быть прописаны в Object.dat
(?) Не известный на 100%
! Все флаги = 2^n, n є Z

Чтобы использовать несколько флагов, нужно указать их сумму, например:

01 + 10 = 11
1  +  2 = 3

TOBJ

Временные Объекты Карты, используется для определения объектов карты, которые видны только в определенное время суток. Например свет от окон.

Формат GTA III, VC и SA:

ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
ID, ModelName, TextureName, ObjectCount, DrawDist, Flags
аналогично секции OBJS
TimeOn
время активации в часах (целое)
TimeOff
время деактивации в часах (целое)

Формат GTA 4:

  • ModelName, TextureName, DrawDist, Flag1, Flag2, AABB.Min, AABB.Max, BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary, NightFlag
ModelName, TextureName, DrawDist,Flag1,2, AABB.Min, AABB.Max, BSC, BSR, ModelsDictionary
Аналогично секции OBJS(формата gta 4)
NightFlag - Ночной флаг

ANIM

Анимированые Объекты Карты, используются для объектов, под-объекты которых анимированы.

Примечание: Модель повреждений в анимации не участвует.

Только для GTA SA:

ID, ModelName, TextureName, AnimName, DrawDist, Flags
ID, ModelName, TextureName, DrawDist, Flags
аналогично секции OBJS
AnimName
название .ifp-файла - архива анимаций, без раcширения (строка)

PEDS

Формат GTA III и VC:

ID, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex), animFile, radio1, radio2

WEAP

Формат GTA III и VC:

ID, ModelName, TextureName, Animation, unused, DrawDistance, unused
Animation
Значения берутся из файла ped.ifp, тип анимации при использовании оружия.

CARS

Формат GTA III и VC:

ID, ModelName, TextureName, Type, HandlingID, GXTEntry, PedDrivingAnimation, Class, Frequency, Level, 
SpecificType, WheelID, WheelSize
HandlingID
Значения берутся из handling.cfg
PedDrivingAnimation
из ped.ifp, тип анимации входа, выхода, вождения транспортного средства
WheelID
недоступны для типа boat(катера)
WheelSize
недоступны для типа boat(катера)

HIER

Формат GTA III и VC

ID, ModelName, TextureName

Формат SA

 ID, ModelName, TextureName, null, DrawDistance

TXDP

Texture Archive Parent

Только формат SA:

TextureName, TextureParentName

Оба параметра обозначают имена архивов текстур (.txd). Второй архив фактически расширяет первый. Практически игра ищет текстуры в основном архиве, но если их там нет и второй архив был назначен, она проверяет наличие текстур и во втором архиве. Таким образом могут быть созданы общие архивы с часто использоваными текстурами, без необходимости дублирования текстур или разбиения моделей.

2DFX

только GTA III и VC:

ID, X, Y, Z, R, G, B, U, Type, ...
ID
ID объекта к которому цепляется эффект (целое)
X, Y, Z
позиция эффекта относительно объекта (3 числа с точкой)
R, G, B
цвет эффекта, если доступно (3 integers, 0 - 255)(формат RGB)
U
Всегда 200 (целое).
Type
специфика типа эффекта.

Ссылки