Item Definition

From GTAMods Wiki
Revision as of 20:41, 13 September 2010 by Aschratt (talk | contribs)
Jump to navigation Jump to search
Item Definition
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

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.

Overview

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 . (period).

Section example

objs
...
end

Sections

The following table contains basic information about all known sections. For additional information read the articles itself.

Identifier Supported games Description
OBJS
GTA III Vice City San Andreas GTA IV
Most important section: defines objects for the map.
Those objects get placed inside the INST section of the item placement files.
TOBJ
GTA III Vice City San Andreas GTA IV
Basicly does the same as OBJS, but it has two additional parameters defining the ingame time range the object can get rendered.
Those objects get placed inside the INST section of the item placement files.
ANIM
San Andreas GTA IV
Basicly does the same as OBJS, but it has one additional parameter identicating an IFP or WAD animation file to assign an animation to the object.
Those objects get placed inside the INST section of the item placement files.
PEDS
GTA III Vice City San Andreas GTA IV
Used to define "pedestrians" (Random NPC's).
WEAP
Vice City San Andreas GTA IV
Used to define weapons.
CARS
GTA III Vice City San Andreas GTA IV
Used to define vehicles.
HIER
GTA III Vice City San Andreas GTA IV
Partly unknown. Used to define objects for interactions with actors for example in cutscenes.
TXDP
San Andreas GTA IV
Used to virtually extend texture dictionaries.
2DFX
GTA III Vice City
Used to add particles to objects, defined in one of the sections above (except TXDP).
PATH
GTA III
Used to create waypoints for random NPC spawns (Paths).
TREE
GTA IV
TANM
GTA IV
Used to combine TOBJ and ANIM sections.
Those objects get placed inside the INST section of the item placement files.
MLO
GTA IV
Used to create interiors. This section does also contain information about the entrace markers (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
GTA IV

IDE Flags

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.

Flag Supported games Binary Description
-1 1111 1111 1111 1111 1111 1111 Enables all flags.[a] Never used by default.
1 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0000 0001 Wet effect (objects appear darker).
2 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0000 0010 Do not fade the object when it is being loaded into or out of view.
4 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0000 0100 Allow transparencies of other objects to be visible through this object.
8 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0000 1000 Alpha transparency 2
16 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0001 0000 Opposite to flag 2
32 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0010 0000 Indicates an object to be used inside an interior.
64 GTA III Vice City San Andreas GTA IV 0000 0000 0000 0000 0100 0000 Disables the shadow mesh to project a shadow; allow transparencies of other objects, shadows, and lights to be visible through this object.
128 Vice City San Andreas GTA IV 0000 0000 0000 0000 1000 0000 Object surface will not be culled.
256 Vice City San Andreas GTA IV 0000 0000 0000 0001 0000 0000 Disables draw distance (Only used for LOD objects with an LOD value greater than 299).
512 Vice City San Andreas GTA IV 0000 0000 0000 0010 0000 0000 Object is breakable (like glass – additional parameters defined inside the object.dat file, otherwise there is no effect).
1024 Vice City San Andreas GTA IV 0000 0000 0000 0100 0000 0000 Similar to flag 512: object first cracks on a strong collision, then it breaks (does also require object.dat registration).
2048 San Andreas GTA IV 0000 0000 0000 1000 0000 0000 Indicates an object as an garage door (for more information see GRGE – requires object.dat registration).
4096 San Andreas GTA IV 0000 0000 0001 0000 0000 0000 Indicates a multi mesh object (Object switches from mesh 2 to mesh 1 after collision – requires object.dat registration).
16384 San Andreas 0000 0000 0100 0000 0000 0000 Indicates a vegetation object (Object moves in wind).
32768 San Andreas GTA IV 0000 0000 1000 0000 0000 0000 Uses object brightness from the current weather definition (See timecyc.datPoleShd).
65536 San Andreas GTA IV 0000 0001 0000 0000 0000 0000 Object explodes after getting hit (requires object.dat registration).
131072 San Andreas 0000 0010 0000 0000 0000 0000 Unknown – apparently some flag for the Script.
262144 San Andreas 0000 0100 0000 0000 0000 0000 Unknown – only used 1 time in San Andreas.
1048576 San Andreas 0000 1000 0000 0000 0000 0000 Object will switch from mesh 2 to mesh 1 after getting sprayed by the player (graffity flag).
2097152 San Andreas 0001 0000 0000 0000 0000 0000 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)
4194304 San Andreas 0010 0000 0000 0000 0000 0000 Unknown – apparently related into physics.
edit

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.

Tools

See also

References

External links