IDE
Материал из GTAModding.ru
Версия от 05:03, 17 сентября 2011; Solom (обсуждение | вклад)
Содержание |
Введение
Файл Item Definition имеет расширение .ide и является частью GTAGAME engine(Render Ware), поэтому файл присутствует в GTA3, GTA VC, GTA SA и GTA4. В ide каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы Limit Adjuster), в GTA4 ID не используется (вместо них там указано имя модели, текстуры, параметры Bound и флаги). В свою очередь, к каждому идентификатору, прописанному в ide, присваивается уникальная модель, архив текстур, используйщийся моделью, дистанция и параметры рендеринга модели. Все идентификаторы разбиты на группы, исходя из спецификации модели: OBJectS - обычные объекты карты, TimeOBJects - временные объекты карты, ANIM - анимированные объекты карты, PEDS - педы, WEAPons - оружие, CARS - транспортные средства, HIER - загрузочные слоты для кат-сцен, 2DFX - специальный 2D-эффект для объекта (более подробно о секциях IDE читайте ниже).
Item Definition хранится в текстовом виде, может быть изменён как редакторами карты для GTA - MooMaper, MapEditor, так и любюм текстовым редактором типа блокнота.
В IDE можно встретить специальные символы - "#" или ";", после которых идёт закомментированный текст - это либо комментарии разработчиков, либо закомментированные части ide, по определённым причинам убранные из загрузки игры. Любой текст, записанный после знака коментария до конца строки, игнорируется GTAGAME engine. Знак # используется для того, чтобы игра не загружала определенный IDE, в котором вы поставили этот знак. Иногда используется и для комментариях. Знак ; использовали в основном R* для комментариев.
Структура
Файлы .ide разделены на секции. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается с идентификатора секции и заканчивется ключевым словом end. Строка секции разделяется запятыми, между которыми записаны значения каждой ячейки строки. Каждая ячейка может содержать либо целое или дробное число, либо одно слово. Значениями "0", "0.0" и "null" маркеруются пустые ячейки.
Пример:
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ширения (строка)
формат GTA 4:
ModelName, TextureName, AnimName, DrawDist, Flags1, Flags2, AABB.Min, AABB.Max, BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary
- !Подробно эти параметы информированы в секции OBJS.
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
- специфика типа эффекта.
Ссылки
- Описание IDE в GTA VC – топик ODIE на форуме GTAForums.соm, детали IDE-файлов в GTA VC.
- Документация GTA3/VC – топик Opius на форуме GTAForums.соm, описание IDE- и прочих файлов III/VC.