IDE — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
м (16px GTA Vice City)
 
(не показаны 75 промежуточных версий 6 участников)
Строка 1: Строка 1:
 
==Введение==
 
==Введение==
  
Файлы 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 читай ниже).
+
Файлы <b>I</b>tem <b>DE</b>finition имеют расширение '''.ide''' и являются частью игрового движка серии GTA, поэтому присутствуют в [[GTA 3]], [[GTA VC]], [[GTA SA]], [[GTA LCS]] (iOS/Android), [[GTA VCS]] (iOS/Android) и GTA4 в текстовом виде, в PS2/PSP-версиях GTA LCS и GTA VCS в бинарном. В <code>[[IDE|*.ide]]</code>, к каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы [[Limit Adjuster]]). В GTA 4 - ID не используются (вместо них напрямую используется имена объектов, которые хэшируются в игровой памяти).
  
Item Definition хранится в текстовом виде, может быть отредактирован как редакторами карты для GTA - [[MooMaper]], [[MapEditor]], так и любюм текстовым редактором типа блокнота.
+
В свою очередь, к каждому идентификатору, прописанному в ide, присваивается уникальная модель (<code>[[DFF|*.dff]]</code>), архив текстур (<code>[[TXD|*.txd]]</code>), использующийся моделью, дистанция и параметры рендеринга модели.
  
В IDE можно встретить специальные символы - "#" или ";", после которых идёт закомментированный текст - это либо комментарии разработчиков, либо заккоментированные части ide, по определённым причинам убранные из загрузки игры. Любой текст, записанный после знака коментария до конца строки, игнорируется GTAGAME engine.
+
 
 +
Все записи в <code>[[IDE|*.ide]]</code> объединены в специальные секции, каждая из которых отвечает за определенный параметр. Примеры секций:
 +
 +
<b>OBJ</b>ect<b>S</b> - обычные объекты карты, <b>T</b>ime<b>OBJ</b>ects - временные объекты карты, <b>ANIM</b> - анимированные объекты карты, <b>PEDS</b> - пешеходы, <b>WEAP</b>ons - оружие, <b>CARS</b> - транспортные средства, <b>HIER</b> - загрузочные слоты для кат-сцен, <b>2DFX</b> - специальный 2D-эффект для объекта (более подробно о секциях IDE читай ниже).
 +
 
 +
 
 +
Item Definition хранится в текстовом виде, может быть изменён как редакторами карты для GTA - [[MooMaper]], [[MapEditor]], так и любым текстовым редактором типа блокнота.
 +
 
 +
В IDE можно встретить специальные символы - "#" или ";", после которых идёт закомментированный текст - это либо комментарии разработчиков, либо закомментированные части ide, по определённым причинам убранные из загрузки игры. Любой текст, записанный после знака комментария до конца строки, игнорируется игровым движком GTA.  
  
 
==Структура==
 
==Структура==
  
Файлы .ide разделены на секции. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается с идентификатора секции и заканчивется ключевым словом end.
+
Файлы .ide разделены на секции. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается с идентификатора секции и заканчивется ключевым словом end. Строка секции разделяется запятыми, между которыми записаны значения каждой ячейки строки. Каждая ячейка может содержать либо целое или дробное число, либо одно слово.  
  
 
Пример:
 
Пример:
Строка 19: Строка 27:
 
'''Обычные объекты карты'''.
 
'''Обычные объекты карты'''.
  
=====Формат GTA IV=====
+
{| {{Таблица}}
* ModelName, TextureName, DrawDistance, Flags1, Flags2, AABB.Min, AABB.Max, BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary
+
|+ OBJS
 +
|-
 +
! Версия GTA !! Код строки
 +
|-
 +
| [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] (Bully)|| ModelId, ModelName, TexDictName, ObjectCount, DrawDist [,DrawDist2, ... ], Flags (, 0, 1, 0, 255, 0, 0, 0)
 +
|-
 +
| [[Изображение:Sa.png|16px]] || ModelId, ModelName, TexDictName, DrawDist, Flags
 +
|-
 +
| PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] || (ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4], parametrs[16]
 +
|-
 +
| [[Изображение:GTAIV.png|16px]] || ModelName, TexDictName, DrawDist, Flags ['', FlagsAdd, AABB.Min.X, AABB.Min.Y, AABB.Min.Z, AABB.Max.X, AABB.Max.Y, AABB.Max.Z, BoundSphereCenter.X, BoundSphereCenter.Y, BoundSphereCenter.Z, BoundSphereRadius, WddName'']
 +
|}
  
;ModelName
+
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] ModelId
 +
:''<tt>DWORD</tt>''
 +
:''Уникальный идентификатор модели - целое число. Для PS2/PSP-версии сториесов значение вычисляется.''
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] [[Изображение:GTAIV.png|16px]] ModelName
 
:''<tt>string[24]</tt>''  
 
:''<tt>string[24]</tt>''  
:''название модели (в большинстве случаев - имя соответсвующего .[[WDR|wdr]]- или .[[WFT|wft]]-файла (без расширения)).''
+
:''Название модели (в большинстве случаев - имя соответствующего .[[WDR|wdr]]- или .[[WFT|wft]]-файла для GTA4, [[DFF|dff]]-файла для GTA3, GTA VC, GTA SA, GTA LCS, GTA VCS (без расширения)).''
;TextureName
+
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] [[Изображение:GTAIV.png|16px]] TexDictName
 
:''<tt>string[24]</tt>''
 
:''<tt>string[24]</tt>''
:''название архива с текстурами (имя соответсвующего [[WTD|wtd]]-файла, (без разширения)).''
+
:''Название архива с текстурами (имя соответствующего [[WTD|wtd]]-файла для GTA4, [[TXD|txd]]-файла для GTA3, GTA VC, GTA SA, GTA LCS, GTA VCS (без разширения), NULL в случае отсутствия текстур на модели), generic в случае использования generic-текстур (находятся вне .IMG архива).''
;DrawDistance
+
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] ObjectCount
 +
:''<tt>DWORD</tt>''
 +
:''Количество объектов в dff, отображающихся отдельно друг от друга''
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] [[Изображение:GTAIV.png|16px]] DrawDist
 
:''<tt>float</tt>''
 
:''<tt>float</tt>''
:''Дистанция прорисовки объекта на карте (для обычных объектов значение должно быть < 300).''
+
:''Дистанция прорисовки объекта на карте относительно координат экрана.''
;Flags1
+
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] [[Изображение:GTAIV.png|16px]] Flags
 
:''<tt>DWORD</tt>''
 
:''<tt>DWORD</tt>''
:''Специальные параметры объекта, значение по умолчанию '0'.''
+
:''Специальные параметры отображения объекта, значение по умолчанию '0'. См. раздел "Флаги Объектов".''
;Flags2
+
; [[Изображение:GTAIV.png|16px]] FlagsAdd
 
:''<tt>DWORD</tt>''
 
:''<tt>DWORD</tt>''
:''Специальные параметры объекта, значение по умолчанию '0'.''
+
:''Дополнительные параметры объекта, значение по умолчанию '0'.''
;AABB.Min
+
; [[Изображение:GTAIV.png|16px]] AABB.Min.X, AABB.Min.Y, AABB.Min.Z
 
:''<tt>float[3]</tt>''
 
:''<tt>float[3]</tt>''
 
:''Минимальная угловая точка <tt>Min</tt> [http://www.gamedev.ru/terms/AABB AABB-коробки].''
 
:''Минимальная угловая точка <tt>Min</tt> [http://www.gamedev.ru/terms/AABB AABB-коробки].''
;AABB.Max
+
; [[Изображение:GTAIV.png|16px]] AABB.Max.X, AABB.Max.Y, AABB.Max.Z
 
:''<tt>float[3]</tt>''
 
:''<tt>float[3]</tt>''
 
:''Максимальная угловая точка <tt>Max</tt> [http://www.gamedev.ru/terms/AABB AABB-коробки].''
 
:''Максимальная угловая точка <tt>Max</tt> [http://www.gamedev.ru/terms/AABB AABB-коробки].''
;BoundingSphereCenter
+
; [[Изображение:GTAIV.png|16px]] BoundSphereCenter.X, BoundSphereCenter.Y, BoundSphereCenter.Z
 
:''<tt>float[3]</tt>''
 
:''<tt>float[3]</tt>''
 
:''Центр [http://ru.wikipedia.org/wiki/Ограничивающая_сфера ограничивающей сферы].''
 
:''Центр [http://ru.wikipedia.org/wiki/Ограничивающая_сфера ограничивающей сферы].''
;BoundingSphereRadius
+
; [[Изображение:GTAIV.png|16px]] BoundingSphereRadius
 
:''<tt>float</tt>''
 
:''<tt>float</tt>''
 
:''Радиус [http://ru.wikipedia.org/wiki/Ограничивающая_сфера ограничивающей сферы].''
 
:''Радиус [http://ru.wikipedia.org/wiki/Ограничивающая_сфера ограничивающей сферы].''
;ModelsDictionary
+
; [[Изображение:GTAIV.png|16px]] WddName
 
:''<tt>string[24]</tt>''
 
:''<tt>string[24]</tt>''
 
:''Название архива моделей ([[WDD|wdd]]-файла) в котором находится модель. Если модель располагается в  .[[WDR|wdr]]- или .[[WFT|wft]]-файле, то текущий параметр имеет значение <tt>'null'</tt>.''
 
:''Название архива моделей ([[WDD|wdd]]-файла) в котором находится модель. Если модель располагается в  .[[WDR|wdr]]- или .[[WFT|wft]]-файле, то текущий параметр имеет значение <tt>'null'</tt>.''
 
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] hashname
=====Формат GTA III, VC и SA=====
+
:''<tt>hex[4]</tt>''
ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
+
:''Хешированное имя игрового объекта по CRC-алгоритму.''
;ID: Уникальний идентефикатор ID (целое)
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] TextureID
;ModelName: название .dff - [[файл модели]], без разширения (строка)
+
:''<tt>DWORD</tt>''
;TextureName: название .txd - [[файл текстур]], без разширения (строка)
+
:''Уникальный идентификатор текстуры - целое число.''
;ObjectCount: количество под-объектов, т.е. разрушаемых частей, по умолчанию = 1, - '''''используется в SA, обычно = 1'''''
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] SectionType
;DrawDist: [[дистанция прорисовки]] в [[юнит]]ах, по одному значению для каждого под-объекта (число с точкой)
+
:''<tt>BYTE</tt>''
;Flags: флаги - специальные параметры объекта, по умолчанию 0 (целое)
+
:''Тип секции загруженного объекта - cars, peds, weap, objs, hier и т.д.''
 
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] 2dfxcount
 
+
:''<tt>BYTE</tt>''
=====Флаги Объектов=====
+
:''Количество строк из секции 2dfx, используемые для объекта.''
Флаги объектов в SA  - UInt32-Значения (Впрочем как и все другие флаги).
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] Co11.offset
Чтобы лучше их понять нужно представить их в двоичном виде. Вы получите битовые маски флагов.
+
:''<tt>WORD</tt>''
1 означает включет, 0 - выключен
+
:''Переход на [[Модель коллизии|модель столкновений]] объекта.''
 
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] 2dfxID
Вот список известных флагов SA:
+
:''<tt>WORD</tt>''
 
+
:''ID строки секции 2dfx, с которой начинается чтение эффектов для объекта.''
0000000000000000000000000000001 = 1 - Эффект мокрого покрытия (во время и после дождя)
+
; PS2/PSP [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] hashsecID
0000000000000000000000000000010 = 2 - Time Object - Ночной Флаг
+
:''<tt>DWORD</tt>''
0000000000000000000000000000100 = 4 - АЛЬФА-прозрачность 1
+
:''Хэшированное имя секции по CRC-алгоритму (назначение неизвестно).''
0000000000000000000000000001000 = 8 - АЛЬФА-прозрачность 2 *
+
; Bully: 0, 1, 0, 255, 0, 0, 0
0000000000000000000000000010000 = 16 - Time Object - Дневной Флаг
+
:''<tt>DWORD[7]</tt>''
0000000000000000000000000100000 = 32 - Объект Интерьера **
+
:''Дополнительная часть строки OBJ и TOBJ''
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===
 
===TOBJ===
 
'''Временные Объекты Карты''', используется для определения объектов карты, которые видны только в определенное время суток. Например свет от окон.
 
'''Временные Объекты Карты''', используется для определения объектов карты, которые видны только в определенное время суток. Например свет от окон.
  
''Формат GTA III, VC и SA:''
+
====Формат GTA III, VC, SA, LCS, VCS====
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
+
  ModelId, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
;ID, ModelName, TextureName, ObjectCount, DrawDist, Flags: аналогично секции OBJS
+
;ModelId, ModelName, TextureName, ObjectCount, DrawDist, Flags: аналогично секции OBJS
 
;TimeOn: время активации в часах (целое)
 
;TimeOn: время активации в часах (целое)
 
;TimeOff: время деактивации в часах (целое)
 
;TimeOff: время деактивации в часах (целое)
  
''Формат GTA 4:''
+
====Формат PS2/PSP-версий GTA LCS и VCS====
 +
 
 +
В консольных сториесах секция TOBJ перенесена в LevelZLib и применяется непосредственно для объектов внутри уровня (подробнее читай статью [[LVZ]]).
 +
 
 +
====Формат GTA 4====
 
* ModelName, TextureName, DrawDist, Flag1, Flag2, AABB.Min, AABB.Max, BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary, NightFlag
 
* 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)
 
;ModelName, TextureName, DrawDist,Flag1,2, AABB.Min, AABB.Max, BSC, BSR, ModelsDictionary: Аналогично секции OBJS(формата gta 4)
;NightFlag - Ночной флаг
+
;NightFlag: Ночной флаг
  
 
===ANIM===
 
===ANIM===
Строка 125: Строка 125:
 
Примечание: Модель повреждений в анимации не участвует.
 
Примечание: Модель повреждений в анимации не участвует.
  
''Только для GTA SA:''
+
====формат GTA SA====
  ID, ModelName, TextureName, AnimName, DrawDist, Flags
+
  ModelId, ModelName, TextureName, AnimName, DrawDist, Flags
;ID, ModelName, TextureName, DrawDist, Flags: аналогично секции OBJS
+
;ModelId, ModelName, TextureName, DrawDist, Flags: аналогично секции OBJS
 
;AnimName: название .ifp-файла - архива анимаций, без раcширения (строка)
 
;AnimName: название .ifp-файла - архива анимаций, без раcширения (строка)
 +
 +
====формат GTA 4====
 +
ModelName, TextureName, AnimName, DrawDist, Flags1, Flags2, AABB.Min, AABB.Max,
 +
BoundingSphereCenter, BoundingSphereRadius, ModelsDictionary
 +
;!Эти параметры информированы в секции OBJS.
  
 
===PEDS===
 
===PEDS===
''Формат GTA III и VC:''
+
'''Пешеходы''' - модели людей, используемые в городском трафике, а так же в скриптах. В GTA VCS туда записаны и специальные актёры (почему-то разработчики не стали экономить память ПСП и использовать для них слоты специальных актёров).
  ID, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex), animFile, radio1, radio2
+
 
 +
====Формат GTA III====
 +
ModelId, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex)
 +
;
 +
 
 +
====Формат GTA VC, GTA LCS, GTA VCS====
 +
  ModelId, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex), animFile,  
 +
radio1, radio2
 +
;
 +
 
 +
====Формат GTA SA====
 +
ModelId, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex), animFile,
 +
radio1, radio2, VoiceArchive, Voice1, Voice2
 +
;
 +
 
 +
====Формат PS2/PSP-версий GTA LCS и VCS====
 +
(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4],
 +
2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4],
 +
animgroupID[4], pedtypeID[4], pedstatID[4], pedflags[4], 0[4], unknowflags[4], [block_co1...]
 +
;
  
 
===WEAP===
 
===WEAP===
''Формат GTA III и VC:''
+
'''Оружие''' - модели оружия, включая зарезервированный ID на кулаки.
  ID, ModelName, TextureName, Animation, unused, DrawDistance, unused
+
 
 +
====Формат GTA III, GTA VC, GTA SA, GTA LCS, GTA VCS====
 +
  ModelId, ModelName, TextureName, Animation, unused, DrawDistance, unused
 
;Animation: Значения берутся из файла ped.ifp, тип анимации при использовании оружия.
 
;Animation: Значения берутся из файла ped.ifp, тип анимации при использовании оружия.
 +
 +
====Формат PS2/PSP-версий GTA LCS и VCS====
 +
(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4],
 +
2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4], 0[8],
 +
65281[4], weaponslotID[4], weapontype[4]
 +
;
  
 
===CARS===
 
===CARS===
''Формат GTA III и VC:''
+
'''Авто''' - модели транспорта - автомобили, лодки, вертолёты, мотоциклы и т.д.
  ID, ModelName, TextureName, Type, HandlingID, GXTEntry, PedDrivingAnimation, Class, Frequency, Level,  
+
 
  SpecificType, WheelID, WheelSize
+
====Формат GTA III====
 +
ModelId, ModelName, TextureName, Type, HandlingID, GameName,
 +
Class, Frequency, Level, Comprules, WheelModelId, WheelScale
 +
 
 +
====Формат GTA VC====
 +
  ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup,  
 +
Class, Frequency, Level, Comprules, WheelModelId, WheelScale
 +
 
 +
====Формат GTA SA====
 +
  ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup,
 +
Class, Frequency, Level, Comprules, WheelModelId, WheelScale_Front, WheelScale_Rear, WheelUpgradeClass
 +
 
 +
====Формат GTA LCS, GTA VCS====
 +
ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup,
 +
Class, Frequency, Level, Comprules, WheelModelId, WheelScale, AmountNormals
 +
 
 +
 
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] ModelId, ModelName, TextureName: аналогично секции OBJS
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] Type: тип транспорта - car, boat, train, heli, plane, bike, trailer, bmx, quad, mtruck. Загрузка этих данных в игре реализована с помощью "hardcoded functions" (что по-нашему через _опу) и может быть изменена только через редактирование [[Gta3.exe]]
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] HandlingID: Имена настроек физической модели транспорта. Значения берутся из [[Handling.dat|handling.cfg]]
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] GameName: Игровое имя транспортного средства из [[GXT_(GTA_3)|.gxt]] файла. Чувствительно к регистру и должно иметь семь символов или меньше.
 +
; [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] AnimGroup: имя группы анимаций, определяющих анимации входа, выхода, вождения транспортного средства из [[IFP]]
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] Class: определяет классность транспорта
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] Frequency: частота появления транспорта в городском трафике
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] Level: ?
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] Comprules: флаг, определяющий особенности авто
 +
 
 +
{| class="wikitable" width="100%"
 +
! HEX-значение
 +
! Эффект значения
 +
! Транспорт, на котором используется
 +
|-
 +
| 0 || у авто нет особенностей ||
 +
|-
 +
| 0x1f10 || На авто в игре всегда присутствует одна из двух экстра-деталей || Taxi, Cabbie, Hoods Rumpo XL, Borgnine, Zebra Cab, Kaufman Cab
 +
|-
 +
| 0x2ff0 || На авто в дождливую погоду всегда присутствует одна экстра-деталь || Stinger, Stallion, Sabre, Sabre Turbo, Comet, Deluxo
 +
|-
 +
| 0x4fff ||  || Flatbed, Hotring A, Hotring B, Bloodring Banger A, Bloodring Banger B
 +
|-
 +
| 0x30123345 ||  || Caddy
 +
|}
 +
 
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] WheelModelId: Идентификатор колеса. Недоступен для типов boat и train. Для типа plane - идентификатор LOD-а модели. В GTA SA заменён на указатель масштабирования модели (-1 - колесо не масштабируется, 0 - масштабируется, коллизия колеса масштабируется всегда).
 +
; [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] WheelScale: Множитель масштаба колеса. Недоступен для типов boat, train и plane. Для GTA SA состоит из двух множителей - для передних и задних колёс
 +
; [[Изображение:Sa.png|16px]] WheelUpgradeClass: идентификаторы из [[carmods.dat]]
 +
 
 +
====Формат PS2/PSP-версии GTA LCS====
 +
(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4],
 +
2dfxID or F***[2], F***[2], 0[2], TextureID[2], hashsecID[4], 0[4], DrawDist[4], 0[2], gamename[14],
 +
wheelsize[4], wheelID[2], handlingID[2], dorsCount[1], ClassID[1], Level[1], 0[1], Frequency[1], 0[7],
 +
block_XYIrarXYI[5x16], 0[4], 999.(9)[4], block_unknow[200], block_co1[8], co1_total[1], unknow[15]
 +
;
 +
 
 +
====Формат PS2/PSP-версии GTA VCS====
 +
(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4],
 +
2dfxID or F***[2], F***[2], 0[2], TextureID[2], 65535[4], hashsecID[4], 0[4], DrawDist[4], ...
 +
;
 +
 
 +
===PATH===
 +
{{Заготовка}}
 +
 
 +
В GTA III и GTA LCS система путей используется только в IDE файлах. Пути расположены по центру объекта. Точки дают направление пешеходам и автомобилям.
 +
 
 +
Лимит количества строк в одном блоке - 12. Если добавить 13, то игра зависнет.
 +
 
 +
''Формат GTA III - первая секция:''
 +
Path Type, ID, Object Name
 +
 +
*Path Type - Тип пути для первой секций. Всего существует два типа - ped и car.
 +
*ID - Идентификатор объекта
 +
*ObjectName - Имя объекта, которому присвоен ID. Не используется.
 +
<source lang="cpp">// CFileLoader::LoadObjectTypes - загрузка обьекта PATH
 +
case OBJECT_PATH:
 +
    if(number == -1) // чтение первой секции
 +
    {
 +
        objId = LoadPathInfo(lineBuf, pathType);
 +
        if(!strncmp(pathType, "ped", 4)
 +
            pathTypeId = PATH_TYPE_PED;
 +
        else if(!strncmp(pathType, "car", 4)
 +
            pathTypeId = PATH_TYPE_CAR;
 +
        number = 0;
 +
    }
 +
    else // чтение второй секции
 +
    {
 +
        if(pathTypeId == PATH_TYPE_PED)
 +
            SetupPedPath(lineBuf, objId, number);
 +
        else if(pathTypeId == PATH_TYPE_CAR)
 +
            SetupCarPath(lineBuf, objId, number);
 +
        ++number;
 +
        if(number == 12)
 +
            number = -1;
 +
    }
 +
    break;</source>
 +
<source lang="cpp">// LoadPathInfo
 +
int LoadPathInfo(const char *line, char *type)
 +
{
 +
    char objName[96];
 +
    int objId;
 +
    sscanf(line, "%s %d %s", type, &objId, objName);
 +
    return objId;
 +
}</source>
 +
''Формат GTA III - вторая секция:''
 +
Node Type, Link To, Unkn1, X, Y, Z, Unkn2, Lanes1, Lanes2
  
;HandlingID: Значения берутся из handling.cfg
+
*Node Type - Типы точки. Всего 3 типа - None, Middle и End.
;PedDrivingAnimation: из ped.ifp, тип анимации входа, выхода, вождения транспортного средства
+
*Joins to Next Node -
;WheelID: недоступны для типа boat(катера)
+
*Unkn1 -
;WheelSize: недоступны для типа boat(катера)
+
*Unkn2 -
 +
*Lanes1 -
 +
*Lanes2 -
  
 
===HIER===
 
===HIER===
''Формат GTA III и VC''
+
''Формат GTA III, GTA VC, GTA LCS, GTA VCS''
 
  ID, ModelName, TextureName
 
  ID, ModelName, TextureName
 
''Формат SA''
 
''Формат SA''
Строка 156: Строка 293:
  
 
===TXDP===
 
===TXDP===
;Texture Archive Parent
+
 
''Только формат SA:''
+
'''TXDP'''(Texture Archive Parent) - Одна из секции в IDE файле. Она используется для указания имя текстуры вне архива, где хранятся часто используемые текстуры на карте.
TextureName, TextureParentName
+
 
Оба параметра обозначают имена архивов текстур (.txd). Второй архив фактически расширяет первый. Практически игра ищет текстуры в основном архиве, но если их там нет и второй архив был назначен, она проверяет наличие текстур и во втором архиве. Таким образом могут быть созданы общие архивы с часто использоваными текстурами, без необходимости дублирования текстур или разбиения моделей.
+
''Структура''
 +
{|{{Таблица}}
 +
! width="36px"| {{Icon|SA}} {{Icon|4}}
 +
! width="150px"| <center>Имя</center>
 +
! width="100px"| <center>Тип</center>
 +
! <center>Описание</center>
 +
|-
 +
| <center>A</center> || <center>TextureName</center> || string || Имя <code>.txd/.wtd</code> child текстуры.
 +
|-
 +
| <center>B</center> || <center>TextureParentName</center> || string || Имя <code>.txd/.wtd</code> родителя текстуры.
 +
|}
 +
 
 +
Пример использования данной секции:
 +
 
 +
txdp
 +
my_child_texture,my_parent_texture
 +
end
  
 
===2DFX===
 
===2DFX===
  
''только GTA III и VC:''
+
'''2DFX''' используется для расстановки 2D эффектов (например: свет) и поведение педов на объектах. Если игра загружает слишком много эффектов в этой секции, то возможны некоторые артефакты, а точнее некоторые эффекты могут не появиться вообще или долго будут загружаться.
ID, X, Y, Z, R, G, B, U, Type, ...
+
 
;ID: ID объекта к которому цепляется эффект (целое)
+
В PS2/PSP-версиях GTA LCS и VCS данная секция хранится в двоичном виде и ничем не отличается от текстового, описанного ниже.
;X, Y, Z: позиция эффекта относительно объекта (3 числа с точкой)
+
 
;R, G, B: цвет эффекта, если доступно (3 integers, 0 - 255)(формат RGB)
+
=====Формат GTA III, GTA VC, GTA LCS, GTA VCS=====
;U: Всегда 200 (целое).
+
======Type 0: Lights======
;Type: специфика типа эффекта.
+
Создаёт источник света на объект.
 +
{|{{Таблица}} width="100%"
 +
! width="36px"| {{Icon|3}} {{Icon|VC}}
 +
! width="150px"| Идентификатор
 +
! width="100px"| Тип
 +
! Описание
 +
|-
 +
| <center>A</center> || <center>ID</center> || integer || ID объекта в секций ''OBJS'' или ''TOBJ''
 +
|-
 +
| <center>B,C,D</center> || <center>X, Y, Z</center> || float || Центр света по координатам X, Y, Z
 +
|-
 +
| <center>E,F,G,H</center> || <center>R, G, B, A</center> || integer || Цвет света + значение альфа-канала
 +
|-
 +
| <center>I</center> || <center>2DFX Type</center> || integer || Тип 2DFX. Для "Lights" всегда равен нулю
 +
|-
 +
| <center>J</center> || <center>Corona</center> || string || Текстура короны. Все текстуры короны расположены в файле <code>particle.txd</code>
 +
|-
 +
| <center>K</center> || <center>Shadow</center> || string || Текстура для отбрасывания тени от света. Текстуры хранятся в файле <code>particle.txd</code>. Чаще всего используется "shad_exp"
 +
|-
 +
| <center>L</center> || <center>Distance</center> || float || Дальность света (максимальное расстояние, на котором виден этот источник света)
 +
|-
 +
| <center>M</center> || <center>Outer range</center> || float || Диапазон света, который падает на динамические объекты, пешеходов и автомобили
 +
|-
 +
| <center>N</center> || <center>Size</center> || Integer/float || Размер короны. Тип значения может быть целым числом или числом с точкой. Если значение будет 0, то корона будет незаметна, но эффект освещения всё равно можно заметить
 +
|-
 +
| <center>O</center> || <center>Inner range</center> || float || Размер тени (проекция на земле)
 +
|-
 +
| <center>P</center> || <center>Shadow intensity</center> || integer || Интенсивность тени (проекции на земле), значение от 0 до 255. Обычно используется 40
 +
|-
 +
| <center>Q</center> || <center>Flash</center> || integer || Тип вспышки
 +
|-
 +
| <center>R</center> || <center>Wet</center> || integer || sets the particle to be "reflective" on wet grounds, will only work if the ground around the light is set to wet when raining<br>0 - not reflective when wet, 1 - reflective when wet
 +
|-
 +
| <center>S</center> || <center>Flare</center> || integer || Устанавливает эффект бликов на экране. <br>0 - отсутствие бликов, 1 - желтые блики, 2 - белые блики
 +
|-
 +
| <center>T</center> || <center>Flags</center> || integer || Флаги источника света. Бит 0 - отключить Z-тест для короны, биты 1-2 - тип "пыли", которая создается под источником света.
 +
|}
 +
 
 +
'''Типы вспышек'''
 +
{| {{Таблица}}
 +
| 0
 +
| Горит всё время
 +
|-
 +
| 1
 +
| Горит всю ночь
 +
|-
 +
| 2
 +
| Мерцает всё время
 +
|-
 +
| 3
 +
| Мерцает всю ночь
 +
|-
 +
| 4
 +
| Вспышка за одну секунду
 +
|-
 +
| 5
 +
| Вспышка за одну секунду (только ночью)
 +
|-
 +
| 6
 +
| Вспышка за две секунды
 +
|-
 +
| 7
 +
| Вспышка за две секунды (только ночью)
 +
|-
 +
| 8
 +
| Вспышка за три секунды
 +
|-
 +
| 9
 +
| Вспышка за три секунды (только ночью)
 +
|-
 +
| 10
 +
| Случайные мерцания
 +
|-
 +
| 11
 +
| Случайные мерцания ночью
 +
|-
 +
| 12
 +
| Параметры светофора
 +
|}
 +
 
 +
Светофор без 12 типа в 2DFX может привести игру к вылету.
 +
 
 +
======Type 1: Particles======
 +
Этим типом 2dfx можно создать эффект частиц на модели.
 +
 
 +
{|{{Таблица}} width="100%"
 +
! width="36px"| {{Icon|3}} {{Icon|VC}}
 +
! width="150px"| Идентификатор
 +
! width="100px"| Тип
 +
! Описание
 +
|-
 +
| <center>A</center> || <center>ID</center> || integer || ID объекта в секций ''OBJS'' или ''TOBJ''
 +
|-
 +
| <center>B,C,D</center> || <center>X, Y, Z</center> || float[3] || Позиция эффекта
 +
|-
 +
| <center>E,F,G,H</center> || <center>R, G, B</center> || integer[3] || Цвет эффекта + значение альфа-канала
 +
|-
 +
| <center>I</center> || <center>2DFX type</center> || integer || Тип 2DFX. Для "Particles" всегда равен единице
 +
|-
 +
| <center>J</center> || <center>Particle</center> || integer || Типы частиц ([[IDE#Типы частиц|см. ниже]])
 +
|-
 +
| <center>K,L,M</center> || <center>X2, Y2, Z2</center> || float[3] || Направление (вектор) движения эффекта
 +
|-
 +
| <center>N</center> || <center>Size</center> || float || Размер частицы
 +
|}
 +
 
 +
====Типы частиц====
 +
 
 +
{| {{таблица}}
 +
! {{Icon|3}} || {{Icon|VC}}
 +
|-
 +
| colspan="2" | <center>0</center> || Небольшой белый дым
 +
|-
 +
| colspan="2" | <center>1</center> || Небольшой белый дым
 +
|-
 +
| colspan="2" | <center>2</center> || Большой белый дым
 +
|-
 +
| colspan="2" | <center>3</center> || Огонь
 +
|-
 +
| colspan="2" | <center>4</center> || Чёрный дым
 +
|-
 +
| <center>-</center> || <center>5</center> || Фонтан
 +
|-
 +
| <center>-</center> || <center>6</center> || Брызги воды
 +
|}
 +
 
 +
=====Type 2: Unknown=====
 +
Для чего используется этот тип - неизвестно. Используется в GTA III, но возможно работает и для GTA VC. Нажмите [[Медиа:2dfxType2.jpg|сюда]], чтобы посмотреть расположения объектов этого типа на карте GTA III.
 +
 
 +
{|{{Таблица}} width="100%"
 +
! width="36px"| {{Icon|3}} {{Icon|VC}}
 +
! width="150px"| Идентификатор
 +
! width="100px"| Тип
 +
! Описание
 +
|-
 +
| <center>A</center> || <center>ID</center> || integer ||
 +
|-
 +
| <center>B,C,D</center> || <center>X, Y, Z</center> || float[3] ||
 +
|-
 +
| <center>E,F,G</center> || <center>R, G, B</center> || integer[3] ||
 +
|-
 +
| <center>H</center> || <center>''unknown''</center> || integer || Обычно 63 или 200
 +
|-
 +
| <center>I</center> || <center>2DFX type</center> || integer || Всегда 2
 +
|-
 +
| <center>J</center> || <center>''unknown''</center> || integer ||
 +
|-
 +
| <center>K,L,M</center> || <center>''unknown''</center> || float[3] ||
 +
|-
 +
| <center>N</center> || <center>''unknown''</center> || integer ||
 +
|}
 +
 
 +
======Type 3: Peds======
 +
Тип назначает некоторые действия педу на заданном объекте.
 +
 
 +
{|{{Таблица}} width="100%"
 +
! width="36px"| {{Icon|VC}}
 +
! width="150px"| Идентификация
 +
! width="100px"| Тип
 +
! Описание
 +
|-
 +
| <center>A</center> || <center>ID</center> || integer || ID объекта в секций ''OBJS'' или ''TOBJ''
 +
|-
 +
| <center>B,C,D</center> || <center>X, Y, Z</center> || float[3] || X, Y, и Z координаты, центр расположения объекта
 +
|-
 +
| <center>E,F,G</center> || <center>R, G, B</center> || integer[3] || Цвета
 +
|-
 +
| <center>H</center> || <center>''unknown''</center> || integer || Неизвестно, всегда 0 или 200
 +
|-
 +
| <center>I</center> || <center>2DFX type</center> || integer || всегда 3 для PEDS
 +
|-
 +
| <center>J</center> || <center>Behavior</center> || integer || Тип поведения ([[IDE#Типы поведения|см. ниже]])
 +
|-
 +
| <center>K,L,M</center> || <center>unk1, unk2, unk3</center> || float[3] || Неизвестно (игнорируются?)
 +
|-
 +
| <center>N,O,P</center> || <center>RotX, RotY, RotZ</center> || float[3] || Поворот педа во время проигрывания его анимации
 +
|}
 +
 
 +
====Типы поведения====
 +
{| {{Таблица}}
 +
| 0
 +
| Пользование банкоматом
 +
|-
 +
| 1
 +
| Сесть на некоторое время, отойти в сторону и уйти
 +
|-
 +
| 2
 +
| Ожидание автобуса; дополнительные пешеходы будут выстраиваться друг за другом
 +
|-
 +
| 3
 +
| Постоять некоторое время и уйти (например - поведение в магазине)
 +
|-
 +
| 4
 +
| Неизвестно
 +
|}
 +
 
 +
=====Формат GTA SA=====
 +
В данной серий игры, 2dfx используется внутри [[DFF]] модели.
 +
Подробнее об этом написано в статье - [[2DFX (Секция RW)]]
 +
 
 +
=====Формат GTA 4=====
 +
В данной серий игры, 2dfx используется внутри [[WDR]] модели.
 +
 
 +
==Флаги Объектов==
 +
Флаги объектов в GTA3, GTA VC, GTA SA и GTA4  - UInt32-Значения (Впрочем как и все другие флаги). Чтобы лучше их понять нужно представить их в двоичном виде. Вы получите битовые маски флагов. 1 означает, что параметр используется для данной модели, 0 - игнорируется.
 +
 
 +
Чтобы использовать несколько флагов, нужно указать их сумму, например:
 +
 
 +
01 + 10 = 11
 +
1  +  2 = 3
 +
 
 +
===[[Изображение:Gta3.png|16px]] GTA 3===
 +
{| class="wikitable"
 +
! Биты !! Dec !! Hex !! Имя !! Описание !! Примеры моделей
 +
|-
 +
| 0 || 1 || 0x1 || - || Не рендерить модель, если игрок не смотрит в её сторону? Читается, но не используется (игнорируется). || Заборы
 +
|-
 +
| 1 || 2 || 0x2 || DO_NOT_FADE || Обьект появляется и пропадает мгновенно, а не плавно. || Некоторые фонари
 +
|-
 +
| 2 || 4 || 0x4 || DRAW_LAST || Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. || Деревья
 +
|-
 +
| 3 || 8 || 0x8 || ADDITIVE || Рендерить модель с additive (цвета суммируются) альфа-смешиванием (возможно, этот эффект наблюдается только при появлении/исчезновении обьекта). Предыдущий флаг также должен быть включен. ||
 +
|-
 +
| 4 || 16 || 0x10 || IS_SUBWAY || Модель - туннель. Этот флаг работает только на статических моделях. || Туннели, некоторые динамические обьекты
 +
|-
 +
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Модель освещается динамически (а не статически). || Некоторые фонари, светофоры
 +
|-
 +
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || На момент рендера такой модели отключается запись в буфер глубины. || Тени
 +
|}
 +
 
 +
===[[Изображение:Vc.png|16px]] GTA Vice City===
 +
{| class="wikitable"
 +
! Биты !! Dec !! Hex !! Имя !! Описание !! Примеры моделей
 +
|-
 +
| 0 || 1 || 0x1 || IS_ROAD || Модель - дорога. На таких обьектах можно увидеть отражения от света. || Дороги
 +
|-
 +
| 1 || 2 || 0x2 || DO_NOT_FADE || Обьект появляется и пропадает мгновенно, а не плавно. || Некоторые ночные обьекты, North Point Mall
 +
|-
 +
| 2 || 4 || 0x4 || DRAW_LAST || Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. || Заборы, деревья
 +
|-
 +
| 3 || 8 || 0x8 || ADDITIVE || Рендерить модель с additive (цвета суммируются) альфа-смешиванием. Предыдущий флаг будет включен автоматически. || Ночные окна
 +
|-
 +
| 4 || 16 || 0x10 || - || Читается, но не используется. || Обьекты _dy, _dt
 +
|-
 +
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Модель освещается динамически (а не статически). || Обьекты интерьера
 +
|-
 +
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || На момент рендера такой модели отключается запись в буфер глубины. || Тени деревьев
 +
|-
 +
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Не рисовать динамические тени и проекции на этом обьекте. || Маленькие обьекты, пикапы, фонари, деревья
 +
|-
 +
| 8 || 256 || 0x100 || IGNORE_DRAW_DISTANCE || Игнорировать дистанцию прорисовки для этого обьекта (устанавливает текущий "уровень" (остров) на 0). || LOD модели, North Bridge
 +
|-
 +
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Ломающееся стекло (тип 1). Стекло разбивается, и его текстура изменяется. || Небольшие окна
 +
|-
 +
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Ломающееся стекло (тип 2). Стекло разбивается без изменения текстуры. || Большие окна
 +
|}
 +
 
 +
===[[Изображение:Sa.png|16px]] GTA San Andreas===
 +
{| class="wikitable"
 +
! Биты !! Dec !! Hex !! Имя !! Описание !! Примеры моделей
 +
|-
 +
| 0 || 1 || 0x1 || IS_ROAD || Модель - дорога. || Дороги
 +
|-
 +
| 1 || 2 || 0x2 || - || Не читается, но присутствует в IDE файлах. ||
 +
|-
 +
| 2 || 4 || 0x4 || DRAW_LAST || Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. || Заборы, деревья
 +
|-
 +
| 3 || 8 || 0x8 || ADDITIVE || Рендерить модель с additive (цвета суммируются) альфа-смешиванием. Предыдущий флаг будет включен автоматически. || Ночные окна
 +
|-
 +
| 4 || 16 || 0x10 || - || Не читается, '''не''' присутствует в IDE файлах. || -
 +
|-
 +
| 5 || 32 || 0x20 ||  || Работает только с анимированными обьектами (определяются в сеции IDE 'anim'). || Двери
 +
|-
 +
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || На момент рендера такой модели отключается запись в буфер глубины. || Тени, проекции света
 +
|-
 +
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Не рисовать динамические тени и проекции на этом обьекте. || Маленькие обьекты, пикапы, фонари, деревья
 +
|-
 +
| 8 || 256 || 0x100 || - || Не читается, '''не''' присутствует в IDE файлах. || -
 +
|-
 +
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Ломающееся стекло (тип 1). Стекло разбивается, и его текстура изменяется. || Небольшие окна
 +
|-
 +
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Ломающееся стекло (тип 2). Стекло разбивается без изменения текстуры. || Большие окна
 +
|-
 +
| 11 || 2048 || 0x800 || IS_GARAGE_DOOR || Модель - дверь гаража (объект должен быть прописан в object.dat). || Двери гаража
 +
|-
 +
| 12 || 4096 || 0x1000 || IS_DAMAGABLE || У модели есть нормальное/повреждённое (ok/dam) состояния. || Модели тюнинга, преграды
 +
|-
 +
| 13 || 8192 || 0x2000 || IS_TREE || Деревья и некоторые растения. Такие обьекты качаются на ветру. || Деревья, некоторые растения
 +
|-
 +
| 14 || 16384 || 0x4000 || IS_PALM || Пальмы. Такие обьекты качаются на ветру. || Пальмы
 +
|-
 +
| 15 || 32768 || 0x8000 || DOES_NOT_COLLIDE_WITH_FLYER || Не проверять на столкновение (коллизию) с летающими средствами? || Деревья, фонари, светофоры, дорожные знаки, телеграфный столб
 +
|-
 +
| 16 || 65536 || 0x10000 || - || Не читается, но присутствует в IDE файлах. || Взрывчатые вещества
 +
|-
 +
| 17 || 131072 || 0x20000 || - || Не читается, но присутствует в IDE файлах. || модели chopcop_ (тело полицейского)
 +
|-
 +
| 18 || 262144 || 0x40000 || - || Не читается, но присутствует в IDE файлах. || pleasure-DL.dff
 +
|-
 +
| 19 || 524288 || 0x80000 || - || Неиспользуемый тип специального обьекта. Читается, но '''не''' присутствует в IDE файлах. || -
 +
|-
 +
| 20 || 1048576 || 0x100000 || IS_TAG || Модель - граффити. || Граффити
 +
|-
 +
| 21 || 2097152 || 0x200000 || DISABLE_BACKFACE_CULLING || Текстура на такой модели рисуется с двух сторон треугольника. || Дороги, дома, деревья, модели тюнинга
 +
|-
 +
| 22 || 4194304 || 0x400000 || IS_BREAKABLE_STATUE || Обьект с такой моделью не может использоваться в качестве укрытия (педы не будут укрываться за этим обьектом). || Части статуи в атриуме
 +
|}
  
 
==Ссылки==
 
==Ссылки==
Строка 176: Строка 635:
  
  
 
+
{{GTA4-navi}}{{GTA_Stories-navi}}{{SA-navi}}{{VC-navi}}{{GTA3-navi}}
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA 4]][[Категория:Маппинг]][[Категория:Форматы файлов]]
+
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]][[Категория:Маппинг]][[Категория:Форматы файлов]]

Текущая версия на 07:31, 18 декабря 2017

Содержание

Введение

Файлы Item DEfinition имеют расширение .ide и являются частью игрового движка серии GTA, поэтому присутствуют в GTA 3, GTA VC, GTA SA, GTA LCS (iOS/Android), GTA VCS (iOS/Android) и GTA4 в текстовом виде, в PS2/PSP-версиях GTA LCS и GTA VCS в бинарном. В *.ide, к каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы Limit Adjuster). В GTA 4 - ID не используются (вместо них напрямую используется имена объектов, которые хэшируются в игровой памяти).

В свою очередь, к каждому идентификатору, прописанному в ide, присваивается уникальная модель (*.dff), архив текстур (*.txd), использующийся моделью, дистанция и параметры рендеринга модели.


Все записи в *.ide объединены в специальные секции, каждая из которых отвечает за определенный параметр. Примеры секций:

OBJectS - обычные объекты карты, TimeOBJects - временные объекты карты, ANIM - анимированные объекты карты, PEDS - пешеходы, WEAPons - оружие, CARS - транспортные средства, HIER - загрузочные слоты для кат-сцен, 2DFX - специальный 2D-эффект для объекта (более подробно о секциях IDE читай ниже).


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

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

Структура

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

Пример:

objs
...
end

OBJS

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

OBJS
Версия GTA Код строки
Gta3.png Vc.png Lcs.png Vcs.png (Bully) ModelId, ModelName, TexDictName, ObjectCount, DrawDist [,DrawDist2, ... ], Flags (, 0, 1, 0, 255, 0, 0, 0)
Sa.png ModelId, ModelName, TexDictName, DrawDist, Flags
PS2/PSP Lcs.png Vcs.png (ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4], parametrs[16]
GTAIV.png ModelName, TexDictName, DrawDist, Flags [, FlagsAdd, AABB.Min.X, AABB.Min.Y, AABB.Min.Z, AABB.Max.X, AABB.Max.Y, AABB.Max.Z, BoundSphereCenter.X, BoundSphereCenter.Y, BoundSphereCenter.Z, BoundSphereRadius, WddName]
Gta3.png Vc.png Sa.png Lcs.png Vcs.png ModelId
DWORD
Уникальный идентификатор модели - целое число. Для PS2/PSP-версии сториесов значение вычисляется.
Gta3.png Vc.png Sa.png Lcs.png Vcs.png GTAIV.png ModelName
string[24]
Название модели (в большинстве случаев - имя соответствующего .wdr- или .wft-файла для GTA4, dff-файла для GTA3, GTA VC, GTA SA, GTA LCS, GTA VCS (без расширения)).
Gta3.png Vc.png Sa.png Lcs.png Vcs.png GTAIV.png TexDictName
string[24]
Название архива с текстурами (имя соответствующего wtd-файла для GTA4, txd-файла для GTA3, GTA VC, GTA SA, GTA LCS, GTA VCS (без разширения), NULL в случае отсутствия текстур на модели), generic в случае использования generic-текстур (находятся вне .IMG архива).
Gta3.png Vc.png Lcs.png Vcs.png ObjectCount
DWORD
Количество объектов в dff, отображающихся отдельно друг от друга
Gta3.png Vc.png Sa.png Lcs.png Vcs.png GTAIV.png DrawDist
float
Дистанция прорисовки объекта на карте относительно координат экрана.
Gta3.png Vc.png Sa.png Lcs.png Vcs.png GTAIV.png Flags
DWORD
Специальные параметры отображения объекта, значение по умолчанию '0'. См. раздел "Флаги Объектов".
GTAIV.png FlagsAdd
DWORD
Дополнительные параметры объекта, значение по умолчанию '0'.
GTAIV.png AABB.Min.X, AABB.Min.Y, AABB.Min.Z
float[3]
Минимальная угловая точка Min AABB-коробки.
GTAIV.png AABB.Max.X, AABB.Max.Y, AABB.Max.Z
float[3]
Максимальная угловая точка Max AABB-коробки.
GTAIV.png BoundSphereCenter.X, BoundSphereCenter.Y, BoundSphereCenter.Z
float[3]
Центр ограничивающей сферы.
GTAIV.png BoundingSphereRadius
float
Радиус ограничивающей сферы.
GTAIV.png WddName
string[24]
Название архива моделей (wdd-файла) в котором находится модель. Если модель располагается в .wdr- или .wft-файле, то текущий параметр имеет значение 'null'.
PS2/PSP Lcs.png Vcs.png hashname
hex[4]
Хешированное имя игрового объекта по CRC-алгоритму.
PS2/PSP Lcs.png Vcs.png TextureID
DWORD
Уникальный идентификатор текстуры - целое число.
PS2/PSP Lcs.png Vcs.png SectionType
BYTE
Тип секции загруженного объекта - cars, peds, weap, objs, hier и т.д.
PS2/PSP Lcs.png Vcs.png 2dfxcount
BYTE
Количество строк из секции 2dfx, используемые для объекта.
PS2/PSP Lcs.png Vcs.png Co11.offset
WORD
Переход на модель столкновений объекта.
PS2/PSP Lcs.png Vcs.png 2dfxID
WORD
ID строки секции 2dfx, с которой начинается чтение эффектов для объекта.
PS2/PSP Lcs.png Vcs.png hashsecID
DWORD
Хэшированное имя секции по CRC-алгоритму (назначение неизвестно).
Bully
0, 1, 0, 255, 0, 0, 0
DWORD[7]
Дополнительная часть строки OBJ и TOBJ

TOBJ

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

Формат GTA III, VC, SA, LCS, VCS

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

Формат PS2/PSP-версий GTA LCS и VCS

В консольных сториесах секция TOBJ перенесена в LevelZLib и применяется непосредственно для объектов внутри уровня (подробнее читай статью LVZ).

Формат 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

ModelId, ModelName, TextureName, AnimName, DrawDist, Flags
ModelId, 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 VCS туда записаны и специальные актёры (почему-то разработчики не стали экономить память ПСП и использовать для них слоты специальных актёров).

Формат GTA III

ModelId, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex)

Формат GTA VC, GTA LCS, GTA VCS

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

Формат GTA SA

ModelId, ModelName, TextureName, PedType, PedStats, Animation, CarsCanDriveMask (in hex), animFile, 
radio1, radio2, VoiceArchive, Voice1, Voice2

Формат PS2/PSP-версий GTA LCS и VCS

(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 
2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4], 
animgroupID[4], pedtypeID[4], pedstatID[4], pedflags[4], 0[4], unknowflags[4], [block_co1...]

WEAP

Оружие - модели оружия, включая зарезервированный ID на кулаки.

Формат GTA III, GTA VC, GTA SA, GTA LCS, GTA VCS

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

Формат PS2/PSP-версий GTA LCS и VCS

(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 
2dfxID or F***[2], F***[2], 0[2], TextureID[2], [65535[4]], hashsecID[4], 0[4], DrawDist[4], 0[8], 
65281[4], weaponslotID[4], weapontype[4]

CARS

Авто - модели транспорта - автомобили, лодки, вертолёты, мотоциклы и т.д.

Формат GTA III

ModelId, ModelName, TextureName, Type, HandlingID, GameName, 
Class, Frequency, Level, Comprules, WheelModelId, WheelScale

Формат GTA VC

ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup, 
Class, Frequency, Level, Comprules, WheelModelId, WheelScale

Формат GTA SA

ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup, 
Class, Frequency, Level, Comprules, WheelModelId, WheelScale_Front, WheelScale_Rear, WheelUpgradeClass

Формат GTA LCS, GTA VCS

ModelId, ModelName, TextureName, Type, HandlingID, GameName, AnimGroup, 
Class, Frequency, Level, Comprules, WheelModelId, WheelScale, AmountNormals


Gta3.png Vc.png Sa.png ModelId, ModelName, TextureName
аналогично секции OBJS
Gta3.png Vc.png Sa.png Type
тип транспорта - car, boat, train, heli, plane, bike, trailer, bmx, quad, mtruck. Загрузка этих данных в игре реализована с помощью "hardcoded functions" (что по-нашему через _опу) и может быть изменена только через редактирование Gta3.exe
Gta3.png Vc.png Sa.png HandlingID
Имена настроек физической модели транспорта. Значения берутся из handling.cfg
Gta3.png Vc.png Sa.png GameName
Игровое имя транспортного средства из .gxt файла. Чувствительно к регистру и должно иметь семь символов или меньше.
Vc.png Sa.png AnimGroup
имя группы анимаций, определяющих анимации входа, выхода, вождения транспортного средства из IFP
Gta3.png Vc.png Sa.png Class
определяет классность транспорта
Gta3.png Vc.png Sa.png Frequency
частота появления транспорта в городском трафике
Gta3.png Vc.png Sa.png Level
 ?
Gta3.png Vc.png Sa.png Comprules
флаг, определяющий особенности авто
HEX-значение Эффект значения Транспорт, на котором используется
0 у авто нет особенностей
0x1f10 На авто в игре всегда присутствует одна из двух экстра-деталей Taxi, Cabbie, Hoods Rumpo XL, Borgnine, Zebra Cab, Kaufman Cab
0x2ff0 На авто в дождливую погоду всегда присутствует одна экстра-деталь Stinger, Stallion, Sabre, Sabre Turbo, Comet, Deluxo
0x4fff Flatbed, Hotring A, Hotring B, Bloodring Banger A, Bloodring Banger B
0x30123345 Caddy
Gta3.png Vc.png Sa.png WheelModelId
Идентификатор колеса. Недоступен для типов boat и train. Для типа plane - идентификатор LOD-а модели. В GTA SA заменён на указатель масштабирования модели (-1 - колесо не масштабируется, 0 - масштабируется, коллизия колеса масштабируется всегда).
Gta3.png Vc.png Sa.png WheelScale
Множитель масштаба колеса. Недоступен для типов boat, train и plane. Для GTA SA состоит из двух множителей - для передних и задних колёс
Sa.png WheelUpgradeClass
идентификаторы из carmods.dat

Формат PS2/PSP-версии GTA LCS

(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 
2dfxID or F***[2], F***[2], 0[2], TextureID[2], hashsecID[4], 0[4], DrawDist[4], 0[2], gamename[14], 
wheelsize[4], wheelID[2], handlingID[2], dorsCount[1], ClassID[1], Level[1], 0[1], Frequency[1], 0[7],
block_XYIrarXYI[5x16], 0[4], 999.(9)[4], block_unknow[200], block_co1[8], co1_total[1], unknow[15]

Формат PS2/PSP-версии GTA VCS

(ModelId), 0[8], hashname[4], 0[4], SectionType[1], 2dfxcount[1], ParamRender[2], Co11.offset[4], 
2dfxID or F***[2], F***[2], 0[2], TextureID[2], 65535[4], hashsecID[4], 0[4], DrawDist[4], ...

PATH

В GTA III и GTA LCS система путей используется только в IDE файлах. Пути расположены по центру объекта. Точки дают направление пешеходам и автомобилям.

Лимит количества строк в одном блоке - 12. Если добавить 13, то игра зависнет.

Формат GTA III - первая секция:

Path Type, ID, Object Name

  • Path Type - Тип пути для первой секций. Всего существует два типа - ped и car.
  • ID - Идентификатор объекта
  • ObjectName - Имя объекта, которому присвоен ID. Не используется.
// CFileLoader::LoadObjectTypes - загрузка обьекта PATH
case OBJECT_PATH:
    if(number == -1) // чтение первой секции
    {
        objId = LoadPathInfo(lineBuf, pathType);
        if(!strncmp(pathType, "ped", 4)
            pathTypeId = PATH_TYPE_PED;
        else if(!strncmp(pathType, "car", 4)
            pathTypeId = PATH_TYPE_CAR;
        number = 0;
    }
    else // чтение второй секции
    {
        if(pathTypeId == PATH_TYPE_PED)
            SetupPedPath(lineBuf, objId, number);
        else if(pathTypeId == PATH_TYPE_CAR)
            SetupCarPath(lineBuf, objId, number);
        ++number;
        if(number == 12)
            number = -1;
    }
    break;
// LoadPathInfo
int LoadPathInfo(const char *line, char *type)
{
    char objName[96];
    int objId;
    sscanf(line, "%s %d %s", type, &objId, objName);
    return objId;
}

Формат GTA III - вторая секция:

Node Type, Link To, Unkn1, X, Y, Z, Unkn2, Lanes1, Lanes2
  • Node Type - Типы точки. Всего 3 типа - None, Middle и End.
  • Joins to Next Node -
  • Unkn1 -
  • Unkn2 -
  • Lanes1 -
  • Lanes2 -

HIER

Формат GTA III, GTA VC, GTA LCS, GTA VCS

ID, ModelName, TextureName

Формат SA

 ID, ModelName, TextureName, null, DrawDistance

TXDP

TXDP(Texture Archive Parent) - Одна из секции в IDE файле. Она используется для указания имя текстуры вне архива, где хранятся часто используемые текстуры на карте.

Структура

San Andreas GTA 4
Имя
Тип
Описание
A
TextureName
string Имя .txd/.wtd child текстуры.
B
TextureParentName
string Имя .txd/.wtd родителя текстуры.

Пример использования данной секции:

txdp
my_child_texture,my_parent_texture
end

2DFX

2DFX используется для расстановки 2D эффектов (например: свет) и поведение педов на объектах. Если игра загружает слишком много эффектов в этой секции, то возможны некоторые артефакты, а точнее некоторые эффекты могут не появиться вообще или долго будут загружаться.

В PS2/PSP-версиях GTA LCS и VCS данная секция хранится в двоичном виде и ничем не отличается от текстового, описанного ниже.

Формат GTA III, GTA VC, GTA LCS, GTA VCS
Type 0: Lights

Создаёт источник света на объект.

GTA III Vice City Идентификатор Тип Описание
A
ID
integer ID объекта в секций OBJS или TOBJ
B,C,D
X, Y, Z
float Центр света по координатам X, Y, Z
E,F,G,H
R, G, B, A
integer Цвет света + значение альфа-канала
I
2DFX Type
integer Тип 2DFX. Для "Lights" всегда равен нулю
J
Corona
string Текстура короны. Все текстуры короны расположены в файле particle.txd
K
Shadow
string Текстура для отбрасывания тени от света. Текстуры хранятся в файле particle.txd. Чаще всего используется "shad_exp"
L
Distance
float Дальность света (максимальное расстояние, на котором виден этот источник света)
M
Outer range
float Диапазон света, который падает на динамические объекты, пешеходов и автомобили
N
Size
Integer/float Размер короны. Тип значения может быть целым числом или числом с точкой. Если значение будет 0, то корона будет незаметна, но эффект освещения всё равно можно заметить
O
Inner range
float Размер тени (проекция на земле)
P
Shadow intensity
integer Интенсивность тени (проекции на земле), значение от 0 до 255. Обычно используется 40
Q
Flash
integer Тип вспышки
R
Wet
integer sets the particle to be "reflective" on wet grounds, will only work if the ground around the light is set to wet when raining
0 - not reflective when wet, 1 - reflective when wet
S
Flare
integer Устанавливает эффект бликов на экране.
0 - отсутствие бликов, 1 - желтые блики, 2 - белые блики
T
Flags
integer Флаги источника света. Бит 0 - отключить Z-тест для короны, биты 1-2 - тип "пыли", которая создается под источником света.

Типы вспышек

0 Горит всё время
1 Горит всю ночь
2 Мерцает всё время
3 Мерцает всю ночь
4 Вспышка за одну секунду
5 Вспышка за одну секунду (только ночью)
6 Вспышка за две секунды
7 Вспышка за две секунды (только ночью)
8 Вспышка за три секунды
9 Вспышка за три секунды (только ночью)
10 Случайные мерцания
11 Случайные мерцания ночью
12 Параметры светофора

Светофор без 12 типа в 2DFX может привести игру к вылету.

Type 1: Particles

Этим типом 2dfx можно создать эффект частиц на модели.

GTA III Vice City Идентификатор Тип Описание
A
ID
integer ID объекта в секций OBJS или TOBJ
B,C,D
X, Y, Z
float[3] Позиция эффекта
E,F,G,H
R, G, B
integer[3] Цвет эффекта + значение альфа-канала
I
2DFX type
integer Тип 2DFX. Для "Particles" всегда равен единице
J
Particle
integer Типы частиц (см. ниже)
K,L,M
X2, Y2, Z2
float[3] Направление (вектор) движения эффекта
N
Size
float Размер частицы

Типы частиц

GTA III Vice City
0
Небольшой белый дым
1
Небольшой белый дым
2
Большой белый дым
3
Огонь
4
Чёрный дым
-
5
Фонтан
-
6
Брызги воды
Type 2: Unknown

Для чего используется этот тип - неизвестно. Используется в GTA III, но возможно работает и для GTA VC. Нажмите сюда, чтобы посмотреть расположения объектов этого типа на карте GTA III.

GTA III Vice City Идентификатор Тип Описание
A
ID
integer
B,C,D
X, Y, Z
float[3]
E,F,G
R, G, B
integer[3]
H
unknown
integer Обычно 63 или 200
I
2DFX type
integer Всегда 2
J
unknown
integer
K,L,M
unknown
float[3]
N
unknown
integer
Type 3: Peds

Тип назначает некоторые действия педу на заданном объекте.

Vice City Идентификация Тип Описание
A
ID
integer ID объекта в секций OBJS или TOBJ
B,C,D
X, Y, Z
float[3] X, Y, и Z координаты, центр расположения объекта
E,F,G
R, G, B
integer[3] Цвета
H
unknown
integer Неизвестно, всегда 0 или 200
I
2DFX type
integer всегда 3 для PEDS
J
Behavior
integer Тип поведения (см. ниже)
K,L,M
unk1, unk2, unk3
float[3] Неизвестно (игнорируются?)
N,O,P
RotX, RotY, RotZ
float[3] Поворот педа во время проигрывания его анимации

Типы поведения

0 Пользование банкоматом
1 Сесть на некоторое время, отойти в сторону и уйти
2 Ожидание автобуса; дополнительные пешеходы будут выстраиваться друг за другом
3 Постоять некоторое время и уйти (например - поведение в магазине)
4 Неизвестно
Формат GTA SA

В данной серий игры, 2dfx используется внутри DFF модели. Подробнее об этом написано в статье - 2DFX (Секция RW)

Формат GTA 4

В данной серий игры, 2dfx используется внутри WDR модели.

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

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

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

01 + 10 = 11
1  +  2 = 3

Gta3.png GTA 3

Биты Dec Hex Имя Описание Примеры моделей
0 1 0x1 - Не рендерить модель, если игрок не смотрит в её сторону? Читается, но не используется (игнорируется). Заборы
1 2 0x2 DO_NOT_FADE Обьект появляется и пропадает мгновенно, а не плавно. Некоторые фонари
2 4 0x4 DRAW_LAST Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. Деревья
3 8 0x8 ADDITIVE Рендерить модель с additive (цвета суммируются) альфа-смешиванием (возможно, этот эффект наблюдается только при появлении/исчезновении обьекта). Предыдущий флаг также должен быть включен.
4 16 0x10 IS_SUBWAY Модель - туннель. Этот флаг работает только на статических моделях. Туннели, некоторые динамические обьекты
5 32 0x20 IGNORE_LIGHTING Модель освещается динамически (а не статически). Некоторые фонари, светофоры
6 64 0x40 NO_ZBUFFER_WRITE На момент рендера такой модели отключается запись в буфер глубины. Тени

Vc.png GTA Vice City

Биты Dec Hex Имя Описание Примеры моделей
0 1 0x1 IS_ROAD Модель - дорога. На таких обьектах можно увидеть отражения от света. Дороги
1 2 0x2 DO_NOT_FADE Обьект появляется и пропадает мгновенно, а не плавно. Некоторые ночные обьекты, North Point Mall
2 4 0x4 DRAW_LAST Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. Заборы, деревья
3 8 0x8 ADDITIVE Рендерить модель с additive (цвета суммируются) альфа-смешиванием. Предыдущий флаг будет включен автоматически. Ночные окна
4 16 0x10 - Читается, но не используется. Обьекты _dy, _dt
5 32 0x20 IGNORE_LIGHTING Модель освещается динамически (а не статически). Обьекты интерьера
6 64 0x40 NO_ZBUFFER_WRITE На момент рендера такой модели отключается запись в буфер глубины. Тени деревьев
7 128 0x80 DONT_RECEIVE_SHADOWS Не рисовать динамические тени и проекции на этом обьекте. Маленькие обьекты, пикапы, фонари, деревья
8 256 0x100 IGNORE_DRAW_DISTANCE Игнорировать дистанцию прорисовки для этого обьекта (устанавливает текущий "уровень" (остров) на 0). LOD модели, North Bridge
9 512 0x200 IS_GLASS_TYPE_1 Ломающееся стекло (тип 1). Стекло разбивается, и его текстура изменяется. Небольшие окна
10 1024 0x400 IS_GLASS_TYPE_2 Ломающееся стекло (тип 2). Стекло разбивается без изменения текстуры. Большие окна

Sa.png GTA San Andreas

Биты Dec Hex Имя Описание Примеры моделей
0 1 0x1 IS_ROAD Модель - дорога. Дороги
1 2 0x2 - Не читается, но присутствует в IDE файлах.
2 4 0x4 DRAW_LAST Модель прозрачна (или некоторые материалы/текстуры прозрачны). Такая модель будет отрендерена после всех "непрозрачных" обьектов. Заборы, деревья
3 8 0x8 ADDITIVE Рендерить модель с additive (цвета суммируются) альфа-смешиванием. Предыдущий флаг будет включен автоматически. Ночные окна
4 16 0x10 - Не читается, не присутствует в IDE файлах. -
5 32 0x20 Работает только с анимированными обьектами (определяются в сеции IDE 'anim'). Двери
6 64 0x40 NO_ZBUFFER_WRITE На момент рендера такой модели отключается запись в буфер глубины. Тени, проекции света
7 128 0x80 DONT_RECEIVE_SHADOWS Не рисовать динамические тени и проекции на этом обьекте. Маленькие обьекты, пикапы, фонари, деревья
8 256 0x100 - Не читается, не присутствует в IDE файлах. -
9 512 0x200 IS_GLASS_TYPE_1 Ломающееся стекло (тип 1). Стекло разбивается, и его текстура изменяется. Небольшие окна
10 1024 0x400 IS_GLASS_TYPE_2 Ломающееся стекло (тип 2). Стекло разбивается без изменения текстуры. Большие окна
11 2048 0x800 IS_GARAGE_DOOR Модель - дверь гаража (объект должен быть прописан в object.dat). Двери гаража
12 4096 0x1000 IS_DAMAGABLE У модели есть нормальное/повреждённое (ok/dam) состояния. Модели тюнинга, преграды
13 8192 0x2000 IS_TREE Деревья и некоторые растения. Такие обьекты качаются на ветру. Деревья, некоторые растения
14 16384 0x4000 IS_PALM Пальмы. Такие обьекты качаются на ветру. Пальмы
15 32768 0x8000 DOES_NOT_COLLIDE_WITH_FLYER Не проверять на столкновение (коллизию) с летающими средствами? Деревья, фонари, светофоры, дорожные знаки, телеграфный столб
16 65536 0x10000 - Не читается, но присутствует в IDE файлах. Взрывчатые вещества
17 131072 0x20000 - Не читается, но присутствует в IDE файлах. модели chopcop_ (тело полицейского)
18 262144 0x40000 - Не читается, но присутствует в IDE файлах. pleasure-DL.dff
19 524288 0x80000 - Неиспользуемый тип специального обьекта. Читается, но не присутствует в IDE файлах. -
20 1048576 0x100000 IS_TAG Модель - граффити. Граффити
21 2097152 0x200000 DISABLE_BACKFACE_CULLING Текстура на такой модели рисуется с двух сторон треугольника. Дороги, дома, деревья, модели тюнинга
22 4194304 0x400000 IS_BREAKABLE_STATUE Обьект с такой моделью не может использоваться в качестве укрытия (педы не будут укрываться за этим обьектом). Части статуи в атриуме

Ссылки


п · о · р
GTA 4 Grand Theft Auto IV
Форматы файлов.dat.gxt.ide.img.ipl.nod.sco.rpf.rrr.wdd.wdr.wft.wbd/wbn.whm.wad.wnv.wpl.wtd
Документация Handling.datgta.datОружиеКатсценыПутиСкриптовые функцииШифрованиеФормат CFG файла настроек
Скриптинг в GTA 4
ИнструментыAPE IVASI LoaderIV NeedleGIMSOpenIVPathViewerSparkIVXLiveLessRaCon
Скриптовые программыAliceC++ Script HookScocl.NET Script HookDelphi Hook
ТуториалыИмпортирование текстур с помощью OpenIVИмпортирование текстур с помощью SparkIV
МодификацииGTA Vice City RageIV:SAGostown Paradise IV
п · о · р
Lcs.png GTA Liberty City Stories Vcs.png GTA Vice City Stories
Форматы файлов.anim.at3.cam.chk/.xtx.col2.cut.dtz.ifp.img/.dir.irx.gxt.lvz.mdl.pss.raw/.sdt.scm.vb.wrld
ИнструментыApacheConsole Texture Explorer (PSP/PS2)GTA Stories IMG ToolGTA Stories Texture ViewerGTA Stories Texture Explorer
GTA Stories RAW EditorGXT EditorJPCSPMDL importerMF AudioPCSX2PPSSPPStories WRLD ToolGTA Stories Map Converter v1.0UMD GenYAIE
ТуториалыМоддинг VCS и LCS (PSP/PS2)Аудио на PSPАудио на PS2Спецификация версий PS2Конфигурирование PCSX2
ПК-версииVice City StoriesLiberty City Stories
п · о · р
San Andreas Grand Theft Auto: San Andreas
Форматы файлов.col.cfg.cut.dff.dat.fxp.gxt.ide.ifp.img.ipl.rep.rrr.scm.txd.set
Документацияcarcols.datCarrecPed EventsPed TypeАдреса Памяти Функций (SA)Анимация моделей в SAВизуальные эффекты в скриптинге
Загруженные звукиКатсценыНомера оружияРисование на экранеТрюки с меткамиСтатистикаСтруктура аудио в SABeta версия
ИнструментыCLEOCollision File Editor IIENBSeriesG-ToolsGXT EditorIMG ToolPS2 TXD ModPS2 TXD ViewerLimit AdjusterMap EditorPathViewer
San Andreas Audio ToolkitSan Andreas Texture PlacerSanny BuilderTXD WorkshopTXDFuckerXBOX TXD PowerTool
ТуториалыРедактирование аудио в SAИзменение cutsceneDecision MakerПропуск роликовКонвертация автомобилей в SA
Основы маппинга GTA:SAДелаем ломающиеся объектыКонвертирование персонажа в SA2dfx в SanAndreasМоддинг San Andreas v2.0
Новая анимация персонажейУниверсальный солдат (GTA SA)
МодыAlien CityDesign Your Own MissionGTA: UnitedGTA StoriesGTA Berlin
МультиплеерgtaTournamentMulti Theft AutoSan Andreas Multiplayer
п · о · р
Vice City Grand Theft Auto: Vice City
Форматы файлов.adf.col.cfg.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.zon
ИнструментыCLEOClump ViewerCol-IO‎Collision File Editor IIData toolDFF Viewerdffxbox2pcG-ToolsGame Archive Viewer
GTA Garage Mod ManagerGTA3 Script CompilerGXT EditorIMG ToolKam's Max ScriptsMap EditorMod GeneratorMod InstallerMoo Mapper
PS2 TXD ModPS2 TXD ViewerResourse HackerRotation CalculatorRW AnalyzeSanny BuilderTXD Workshop
TXD_2048TXDFuckerVC Limit AdjusterVC Mission BuilderViceTXDVC SeterVCFCToolWater EditorYAIEZModeler
МодификацииUltimate VCModern ModSnow ModDeluxeMilleniumNew AgeKiller KipAliens vs. Predator
GTA Long NightGTA Liberty CityGTA Myriad IslandsGTA State Of Liberty
ОтечественныеМентовский БеспределCделано в СССРUndergroundLost HeavenКыштымНостальгияXBox Mod (Коктейль)
МультиплейерMulti Theft AutoVice City Online
п · о · р
GTA III Grand Theft Auto III
Форматы файлов.b.a3d.anm.col.cfg.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.zon
Документацияcarcols.datCHASE.DATCULLZONE.DATcuts.imgdefault.datfistfite.datflight.datgta3.exegta3.dat
gta3.imggta3.zonhandling.cfgmain.scmmap.datmap.zonobject.datparticle.cfgped.datpedgrp.dat
pedstats.datsfx.rawsurface.datTimeCyc.DATtracks.dattrain.datwater.datwaterpro.datweapon.dat
ИнструментыCLEOClump ViewerCol-IO‎Collision File Editor IIData toolDFF Viewerdffxbox2pcG-ToolsGTA Garage Mod Manager
GXT EditorGTA3 Limit AdjusterGTA3 Mission BuilderGTA3 PatcherIMG ToolKam's Max ScriptsMap Editor
Mod GeneratorMod InstallerMoo MapperPS2 TXD ModPS2 TXD ViewerResourse HackerRotation Calculator
RW AnalyzeViceTXDWater EditorSanny BuilderTXD ToolTXD WorkshopYAIEZModeler
Туториалыраздел в разработке
Классические МодыGPS RadarBye-Bye BikiniUltimate Stunt ParkThe SphereMiss LibertyIllandoIntercity HighwayShoreside Bridge
Rockstar HeightsLighthouse BridgeBlade FunparkOrbital CityLakeside IslandLiberty PenitentiaryJEM Island
Illando HelixCliff Climbing Mountain
Глобальные МодыReal GTA3Twenty TenSnow CityFrosted WinterUltimateBeta modX-box modBad BusinessGTA3 HDUltra mod
OpenTunnelsBack to the Future
МультиплеерMulti Theft AutoLiberty Unleashed
Исходники4x48ballambulanceasukaasusbcameracar_gencatcopcardebugdemodiablofiretruckfrankgates
genstufhealthhjhoodimportintrojoeykenjiloveluigimayhemmeatpickupsrampagerayrcswitch
taxitoniusjwantedyard