IDE

Item definition files, known by the extension .ide, are usually used to assign a model and texture file to a unique object ID, along with many parameters depending on the section. These files are in human readable text format, and allow the # character to comment lines out. IDE files can easily be opened and edited using any text-editing program like Notepad.

Structure
The .ide files are split up into many sections. How many of them you use in your file is optional, they can even be empty. Each section starts with a section identifier and ends with the keyword "end", both in a single line.

Example: objs ... end

OBJS
Used to define standard static map objects.

GTA III, VC and SA format ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags

GTA IV format

ModelName, TextureName, DrawDistance, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X, Y, Z, Radius, WDD

Note that GTA IV does not use any unique object ID numbers

TOBJ
Used to define timed map objects. All but the last two columns are the same as the OBJS section.

GTA III, VC and SA format: ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff

GTA IV format

ModelName, TextureName, DrawDist, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X,Y,Z, Radius, WDD, NightFlag

Note that GTA IV does not use any unique object ID numbers.

ANIM
Animated Map Objects, used to define objects whose sub objects are animated. Note: There must be animation frames for each sub object, also the collision model remains static - no solid animations.

GTA SA only: ID, ModelName, TextureName, AnimName, DrawDist, Flags
 * ID, ModelName, TextureName, DrawDist, Flags
 * same as for the OBJS section


 * AnimName
 * name of the animation archive, without extension (string)

GTA IV format

ModelName, TextureName, Wad, DrawDist, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X,Y,Z, Radius, WDD


 * ModelName, TextureName, DrawDistance, Flags, Bounds min, Bounds max, Bounds Sphere X,Y,Z, Radius, WDD
 * same as for the OBJS section


 * Wad
 * name of the (.wad) animation archive, without extension (string)

PEDS
Used to define characters and pedestrians

GTA III format: ID, ModelName, TxdName, Threat, Behavior, AnimationType, VehClass

Vice City format ID, ModelName, TxdName, Threat, Behavior, AnimationType, VehClass, StartAnimation?, Radio1, Radio2

WEAP
GTA III and VC format: ID, ModelName, TextureName, Animation, ?, DrawDistance, ?
 * Animation
 * From ped.ifp, animation used to wield and shoot the weapon

CARS
Used to define vehicles

GTA III formats

Car ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules, WheelID, WheelScale

Boat and Train ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules

Plane ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules, LODModel

Vice City formats

Car ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, WheelID, WheelScale

Bike ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, Unknown, WheelScale

Boat and Heli ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules

Plane ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, LODModel

SA Format coming soon

HIER
SA Format only

This is (e.g.) used in default.ide in the 'data\'-folder Normal structure is like this:

ID, model, texture, null, float (normally 2000.00)

The meaning of these lines isn't known yet, but it seems to be a kind of bodyparts for the player.

TXDP
SA and GTA 4 format TextureName, TextureParentName Both parameters are names of texture archives. The second archive (the "parent") virtually extends the first one. Practically, the game looks up a texture in the primary archive, and if it's not there and a parent txd has been assigned, it checks for the texture in the parent archive. This way shared archives can be created, which contain often used textures, without the need to create duplicates or split up a model just for that purpose.
 * Texture Archive Parent

2DFX
Used to place lights, particles, and ped behaviors on objects

GTA III and VC format

Type 0: Lights ID, X, Y, Z, R, G, B, unknown (0 or 200), 1, Corona, Shadow, Distance, Outer range, Size, Inner range, IDE flag, Wet, Flare, Dust

Type 1: Particle ID, X, Y, Z, R, G, B, unknown (63 or 200), 2, Particle, unk1, unk2, unk3, Size

Type 3: Peds (Vice City only) ID, X, Y, Z, R, G, B, unknown (200), 3, Behavior, unk1, unk2, unk3, RotX, RotY, RotZ

Type 4: Sun Reflections (Vice City only) ID, X, Y, Z, R, G, B, unknown (120), 4

Please note that the 2dfx Section is moved to the DFF Files by using R*'s custom section IDs in SA!

Please also note that the 2dfx Lights Section is present within GTA-IV WDR map models

PATH
Ped and Car Paths, defines paths relative to the objects. Only used in GTA III, quite complicated format and hardly usable without an editing program (such as Ked).

TREE
GTA4 only

TANM
GTA4 only

MLO
GTA4 only

This section is used to place objects in an interior, relative to the interior's location on the world map. Modelname, position x, y, z, rotation (quarternion format) q0, q1, q2, q3, flag

AMAT
GTA4 only

Modelname, Flag1, Flag2

OBJS
GTA IV format

ModelName, TextureName, DrawDistance, Flag1, Flag2, (Bounds min)X, Y, Z, (Bounds max)X, Y, Z, (Bounds Sphere)X,Y,Z, Radius, WDD


 * ModelName
 * name of the .wdr model file, without extension (string)


 * TextureName
 * set to 'null' by default in procobj.ide


 * DrawDistance
 * draw distance in units, one for each sub object (float)


 * Flag1
 * object flag, defining special behavior


 * Flag2
 * object flag, defining special behavior, default 0 (integer)


 * Bounds Min
 * Lower Left vertex of a model bounding box


 * Bounds Max
 * Upper Right vertex of a model bounding box


 * Bounds Sphere
 * X,Y,Z Coords


 * Radius
 * Of Bounds Sphere


 * WDD
 * set to 'null' by default in procobj.ide

Tools

 * - By
 * - by
 * FlagValue Calculator - By - Calculates all Flagvalues (even those unknown)