Item definition files, usually identified by the file extension
.ide, are used to declare many different aspects for the map system or to specify special behaviour rules for one of the aspects. They are stored in plain text format, so that they can be opened by any text editing program (like Notepad), but there are also some tools to simplify editing.
The item definition files are split up into several sections. There is no order on how you arrange the sections. Also you do not need to use all the sections in a file.
Format and syntax description
The basic structure of the different sections is pretty simple. Each section starts with a four-character section identifier indicating how the content of the section gets interpreted by the game. The identifier is followed by the definition entries. Each entry takes one line and every line follows certain rules which are described in the articles handling the sections in detail (see below). However lines can also be empty or commented. If so they get ignored by the games' parser. The end of every section are indicated by the terminating string "end". Both (section identifier and terminating string) are not case sensitive, but by default they are written in lower case.
Comments are usually indicated by the character
# (number sign). It is possible to add comments to the end of a line, but breaking the line format for the current section using comments may cause the game to crash during loading. It is recommended that a comment should be placed on a separate line. Comments can also be placed outside of sections.
Lines itself are always formatted in the same way differing only in the number of their parameters describing the semantical content of the line. Parameters are usually separated by the character
, (comma). Whitespace characters at the beginning or the end of an parameter get trimmed but they are usually used to give the content a more clear structure to make it more easier to read for human. Strings can be encased by the character
" (quotation mark), but this is optional and rarely used by default. Also the games' parser uses an invariant culture to parse numerical values and strings. Which means strings are ASCII encrypted and the decimal separator is
objs ... end
The following table contains all known sections in the item definition. The supported games column lists games that support the sections but it doesn't necessarily means they're functional in the games. Mouse over the game icons to see if the games are functional.
|OBJS||Most important section: defines objects for the map. These objects can be placed into the world through the INST section of the item placement files.|
|TOBJ||Functions similarly to OBJS but has two additional parameters defining the ingame time range the object can get rendered. These objects can be placed into the world through the INST section of the item placement files.|
|HIER||Used to define objects for use in cutscenes.|
|CARS||Used to define vehicles.|
|PEDS||Used to define pedestrians (random NPC's).|
|PATH||Used to create waypoints for random NPC spawns (Paths).|
|2DFX||Used to add particle effects and simple ped behaviors to defined objects.|
|WEAP||Used to define weapons.|
|ANIM||Functions similarly to OBJS, but it has one additional parameter indicating an IFP or WAD animation file to assign an animation to the object.|
These objects are placed through the INST section of the item placement files.
|TXDP||Used to virtually extend texture dictionaries.|
|TANM||Used to combine TOBJ and ANIM sections.|
Those objects get placed inside the INST section of the WPL.
|MLO||Used to create interiors. This section does also contain information about portals (previous ENEX connections) and dimensions of the interior which influences certain aspects, like the weather, for example. All objects are placed relative to an offset placed using MLO+ inside the IPL or WPL file.|
|AMAT||This is Audio Materials. Possible Used to make a sound effect at the model. Usually used for dynamic objects.|
Flags are used in order to specify the behaviour of objects. They are interpreted as signed 32-bit integer values where each bit describes a boolean value of a different aspect. The following table shows the standard flags used for objects defined in OBJS, TOBJ and ANIM section.
Flags are used to specify the behaviour of objects. They are signed 32-bit integer values where each bit describes a boolean value of an special aspect.
||Enables all flags.[a] Never used by default.|
||Wet effect (objects appear darker).|
||Do not fade the object when it is being loaded into or out of view.|
||Allow transparencies of other objects to be visible through this object.|
||Alpha transparency 2|
||Opposite to flag 2|
||Indicates an object to be used inside an interior.|
||Disables the shadow mesh to project a shadow; allow transparencies of other objects, shadows, and lights to be visible through this object.|
||Object surface will not be culled.|
||Disables draw distance (Only used for LOD objects with an LOD value greater than 299).|
||Object is breakable (like glass – additional parameters defined inside the object.dat file, otherwise there is no effect).|
||Similar to flag 512: object first cracks on a strong collision, then it breaks (does also require object.dat registration).|
||Indicates an object as an garage door (for more information see GRGE – requires object.dat registration).|
||Indicates a multi mesh object (Object switches from mesh 2 to mesh 1 after collision – requires object.dat registration).|
||Indicates a vegetation object (Object moves in wind).|
||Uses object brightness from the current weather definition (See timecyc.dat – PoleShd).|
||Object explodes after getting hit (requires object.dat registration).|
||Unknown – apparently some flag for the Script.|
||Unknown – only used 1 time in San Andreas.|
||Object will switch from mesh 2 to mesh 1 after getting sprayed by the player (graffity flag).|
||Disables backface culling – as an result the texture will be drawed on both sides of the model (Always enabled for GTA III and Vice City)|
||Unknown – apparently related into physics.|
|0||1||NORMAL_CULL||Cull model if player doesn't look at it. Ignored in GTA 3.||Fences|
|1||2||DO_NOT_FADE||Do not fade the object when it is being loaded into or out of view.||Some lampposts|
|2||4||DRAW_LAST||Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object.||Trees|
|3||8||ADDITIVE||Render with additive blending. Previous flag must be enabled too.|
|4||16||IS_SUBWAY||Model is a tunnel, i.e. set the object as invisible unless the player enters cull zone flag 128. This flag works only with static models.||Tunnels, some dynamic objects|
|5||32||IGNORE_LIGHTING||Don't use static lighting, we want dynamic if it's possible.||Some lampposts and trafficlights|
|6||64||NO_ZBUFFER_WRITE||Model is a shadow. Disable writing to z-buffer when rendering it, allowing transparencies of other objects, shadows, and lights to be visible through this object. Not implemented in the PS2 version.||Shadow|
For flags defining different aspects of different definitions read the articles about their sections.
Difference between GTA III and GTA IV engines
GTA IV not only uses different formats to the previous games, it also does not use IDs to identify objects anymore. While GTA III era games use an ID as an index inside an array of definitions, GTA IV uses the hashes of the model name as a key inside a hash table. For more information about this see Map System.
- KEd – By JernejL
- MEd – By Tonywob
- GTAGarage: IDEditor – By Xmen
- GTAForums: IDE-IV in GTA-IV script centre – by Gforce
- FlagValue Calculator – By Aschratt - Calculates all flagvalues (even those unknown).
- GTAForums: GTAVC IDE Definitions - topic by ODIE covering specific details of IDE files in GTA VC
- GTAForums: GTA3/VC Map File Documentation and Troubleshooting - topic by Opius covering general features of IDE files in GTA3 and GTA VC
- ID Flagvalue Decoding Project - project to decode all missing flag values
|Grand Theft Auto V|
|File Formats||.awc • .dat • .gfx • .gxt2 • .ide • .meta/.ymt • .mrf • .patch • .rpf • .ybn/.ybd • .ycd • .ydd • .ydr • .yed • .yfd • .yft • .yld • .ymap • .ymf • .ynd • .ynv • .ypdb • .ytd • .ytyp • .yvr|
|Documentation||Bink Video • Cutscenes (GTA V) • Native functions • Weather types|
|Multiplayer||GTAForums: GTA Online|
|Grand Theft Auto IV|
|File Formats||.dat • .gxt • .ide • .img • .ipl • .nod • .sco • .rpf • .rrr • .wad • .wbd/.wbn • .wdd • .wdr • .wft • .whm • .wpl • .wtd|
|Documentation||Audio • Bink Video • Cryptography • Cutscenes • Image listing • Map Listing • Native functions • Paths • Saves • Scenarios • VTable • Weapons|
|Tools||ASI Loader • ENBSeries • G-Texture • GIMS • Ingame WPL Editor • IV Needle • OpenIV • SparkIV • XLiveLess • WPL Manager • X Mod Installer|
Alice • C++ Script Hook • .NET Script Hook • Scocl
|Tutorials||Importing Textures with OpenIV • Importing Textures with SparkIV|
|Modifications||Gostown IV • Four Multiplayer • IV Multiplayer|
|Grand Theft Auto: San Andreas|
|File Formats||.b • .col • .cfg • .cut • .dff • .dat • .fxp • .gxt • .ide • .ifp • .img • .ipl • nodes*.dat • .ped • .rep • .rrr • .scm • .set • .txd|
|Documentation||Audio • Cryptography • Cutscenes • Game memory • Handling.cfg • Map Listing • Mission Packs • Opcodes • Paths • Replays • Saves • Scripts • Sound Effects • Statistics • Vehicles|
|Tools||CLEO • Collision File Editor II • ENBSeries • G-Tools • IMG Tool • Limit Adjuster • Map Editor • Mod Loader • San Andreas Audio Toolkit • Sanny Builder • TXD Workshop • Magic.TXD|
|Tutorials||San Andreas v2.0 Modding • How to create a mission • How to create a script • How to use Map Editor • Vehicle Mod Installation|
|Modifications||Design Your Own Mission • Gostown Paradise • GTA: United • Myriad Islands|
|Multiplayer||gtaTournament • Multi Theft Auto • San Andreas Multiplayer • (more...)|
|Grand Theft Auto: Vice City|
|File Formats||.adf • .b • .col • .cfg • .dff • .dat • .gxt • .ide • .ifp • .img/.dir • .ipl • .raw/.sdt • .rep • .set • .scm • .txd|
|Documentation||Audio • Handling • Map Listing • Opcodes • RenderWare • Script Paths • Saves • Sound Effects • Statistics • Vehicles • Weapons|
|Tools||CLEO • Collision File Editor II • G-Tools • GXT Editor • IMG Tool • Limit Adjuster • KEd (map editor) • Sanny Builder • TXD Workshop • Magic.TXD|
|Tutorials||How to create a mission • How to create a script • Vehicle Mod Installation|
|Grand Theft Auto III|
|File Formats||.b • .col • .cfg • .dff • .dat • .gxt • .ide • .ifp • .img • .ipl • .raw/.sdt • .set • .scm • .txd|
|Documentation||Audio • Handling.cfg • Map Listing • Opcodes • Paths • RenderWare • Saves • Sound Effects • Statistics • Vehicles • Weapons|
|Tools||CLEO • Collision File Editor II • G-Tools • IMG Tool • Map Editor • Sanny Builder • TXD Workshop • Magic.TXD • Water Editor|
|Tutorials||How to create a mission • How to create a script • How to use Map Editor • Vehicle Mod Installation|