IDE

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

Содержание

Введение

Файлы Item DEfinition имеют расширение .ide и являются частью GTAGAME engine, поэтому присутствуют в GTA3, GTA VC, GTA SA и GTA4 в текстовом виде, в GTA LCS и GTA VCS в бинарном и в Billy: Scholarship Edition в текстовом и бинарном. В ide, к каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы Limit Adjuster). В GTA4 - ID не используются (вместо них напрямую используется имена объектов, которые хэшируются в игровой памяти).

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


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

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


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

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

Структура

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

Пример:

objs
...
end

OBJS

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

OBJS
Версия GTA Код строки
Gta3.png Vc.png 16px ModelId, ModelName, TexDictName, ObjectCount, DrawDist [,DrawDist2, ... ], Flags (, 0, 1, 0, 255, 0, 0, 0)
Sa.png ModelId, ModelName, TexDictName, DrawDist, Flags
Lcs.png Vcs.png 0[4],0[4], hashname[4], ObjectCount+1[4], Flags-1[4], Clump.offset[4]->(Clump.Pos.X[4], Clump.Pos.Y[4], Clump.Pos.Z[4], Clump.BoundSphereRadius[4], Clump.AABB.Min.X[4], Clump.AABB.Min.Y[4], Clump.AABB.Min.Z[4], 0[4], Clump.AABB.Max.X[4], Clump.AABB.Max.Y[4], Clump.AABB.Max.Z[4], 0[4], flag1[2], flag2[2], 0[4], MetkaExit[4], 0[4], 0[4], Clump2.offset[4]->(Clump.AABB.Min.X[4], Clump.AABB.Min.Y[4], Clump.AABB.Min.Z[4], 0[4], Clump.AABB.Max.X[4], Clump.AABB.Max.Y[4], Clump.AABB.Max.Z[4], 0[4], unknow[2], Exit ) Exit), RGBA[4], TextureID[4], SectionID[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 16px ModelId
DWORD
Уникальный идентификатор модели - целое число.
Gta3.png Vc.png Sa.png 16px GTAIV.png ModelName
string[24]
Название модели (в большинстве случаев - имя соответствующего .wdr- или .wft-файла для GTA4, dff-файла для GTA3, GTA VC и GTA SA (без расширения)).
Gta3.png Vc.png Sa.png 16px GTAIV.png TexDictName
string[24]
Название архива с текстурами (имя соответствующего wtd-файла для GTA4, txd-файла для GTA3, GTA VC и GTA SA (без разширения), NULL в случае отсутствия текстур на модели).
Gta3.png Vc.png 16px ObjectCount
DWORD
Количество объектов в dff, отображающихся отдельно друг от друга
Gta3.png Vc.png Sa.png 16px GTAIV.png DrawDist
float
Дистанция прорисовки объекта на карте относительно координат экрана.
Gta3.png Vc.png Sa.png 16px 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'.
Lcs.png Vcs.png hashname
hex[4]
Хешированное имя игрового объекта по CRC-алгоритму.
Lcs.png Vcs.png TextureID
DWORD[4]
Уникальный идентификатор текстуры - целое число.
16px 0, 1, 0, 255, 0, 0, 0
float[7]
Дополнительная часть строки OBJ и TOBJ, присутствует только в Billy: Scholarship Edition
Флаги Объектов

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

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

0000000000000000000000000000001 = 1 - Значения прилайта делятся пополам (модель становится темнее)
0000000000000000000000000000010 = 2 - Ночной Флаг (используется на магалодах для их осветления вдалеке от игрока)
0000000000000000000000000000100 = 4 - Более точный просчёт альфа-канала (помогает избавиться от артефактов)
0000000000000000000000000001000 = 8 - Ещё более точный просчёт альфа-канала (соответственно, падает fps) *
0000000000000000000000000010000 = 16 - Дневной Флаг (используется под землёй для их затемнения вдалеке от игрока)
0000000000000000000000000100000 = 32 - Фильтр рендеринга для интерьеров **
0000000000000000000000001000000 = 64 - Игнорирование прорисовки теней на объекте (?)
0000000000000000000000010000000 = 128 - Игнорирование свойств куллинга при попадании модели в её зону (?)
0000000000000000000000100000000 = 256 - Игнорирование дистанции прорисовки (?)
0000000000000000000001000000000 = 512 - Объект (стекло) при ударе разбивается **
0000000000000000000010000000000 = 1024 - Объект (стекло) при ударе трескается, при повторном ударе разбивается **
0000000000000000000100000000000 = 2048 - Дверь для гаража ** 
0000000000000000001000000000000 = 4096 - Обьект использует 2 модели (например штатная и повреждённая) **
0000000000000000010000000000000 = 8192 - Малая растительность, объект пошатывается при сильном ветре
0000000000000000100000000000000 = 16384 - Стандартная растительность **  (Пальмы в Готелях, т.д.) (?)
0000000000000001000000000000000 = 32768 - Использовать Timecycle PoleShadow флаг
0000000000000010000000000000000 = 65536 - Флаг взрыва **
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

Формат LCS и VCS:

0[4],0[4], hashname[4], 0[4], ObjectCount[4], unknowsection_offset[4], -1[4], ID[4], flags[4], 
0[4], -1[4], pedparametrs[16], 2570[4].

WEAP

Формат GTA III и VC:

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

Формат LCS и VCS:

0[4],0[4], hashname[4], 0[4], ObjectCount[4], unknowsection_offset[4], -1[2], unknowID[2], 
ID[4], flags[4], 0[4], 16968[4], 0[4], 0[4], 65281[4], weaponslotID[4], weapontype[4].

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(катера)

Формат LCS и VCS:

0[4],0[4], hashname[4], 0[4], ObjectCount[4], unknowsection_offset[4], -1[4], ID[4], flags[4],
0[4], -1[4], gamename[16], wheelsize[4], comprules...

PATH

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

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

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

Path Type, ID, Object Name

  • Path Type - Тип пути для первой секций. Всего существует два типа - ped и car.
  • ID - Идентификатор объекта
  • ObjectName - Имя объекта, которому присвоен ID

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

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 эффектов (например: свет) и поведение педов на объектах. Если игра загружает слишком много эффектов в этой секции, то возможны некоторые артефакты, а точнее некоторые эффекты могут не появиться вообще или долго будут загружаться.


GTA III & Vice City
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
R, G, B
integer Цвет света и всё что ассоциируется с RGB, также влияет на интенсивность света, так что чем темнее цвет света (то есть черный (0,0,0) даст такой эффект света, что он не будет виден)
H
unknown
integer Неизвестный параметр. Обычно он выражен числом 0 или 200.
I
2DFX Type
integer Тип 2DFX. Если это свет, то значение должно быть равно нулю.
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
IDE flag
integer Здесь используются флаги из IDE. Только зависящие от времени флаги могут использоваться
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
Dust
integer Интенсивность света с эффектом пыли, значения от 4 до 7 проявляют этот эффект более видимым.

Типы вспышек

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
R, G, B
integer[3] Цвет эффекта
H
unknown
integer Неизвестный параметр. Обычно используется значение 63 или 200
I
2DFX type
integer Для Particle(частицы) всегда используется значение 1
J
Particle
integer Типы частиц (см. ниже)
K,L,M
unk1, unk2, unk3
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: San Andreas

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

Ссылки


п · о · р
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