Difference between revisions of "Item Definition"

From GTAMods Wiki
Jump to navigation Jump to search
m (Tools)
Line 1: Line 1:
 
{{Cleanup-rewrite}}
 
{{Cleanup-rewrite}}
 
+
{{IdeSection}}
 
'''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 [[Wikipedia:Notepad|Notepad]].
 
'''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 [[Wikipedia:Notepad|Notepad]].
  
Line 11: Line 11:
 
  end
 
  end
  
===OBJS===
+
===[[OBJS]]===
'''Static Map Objects''', used to define standard map objects.
+
Used to define standard static map objects.
  
 
''GTA III, VC and SA format''
 
''GTA III, VC and SA format''
 
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
 
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
;ID: unique object ID (integer)
+
 
;ModelName: name of the .dff [[model file]], without extension (string)
+
{|{{Prettytable}} width="100%" class="collapsible collapsed"
;TextureName: name of the .txd [[texture dictionary]], without extension (string)
+
!width="250px"|Identifier
;ObjectCount: amount of sub objects, e.g. damaged parts, usually 1 (integer) - '''''optional for SA, default 1'''''
+
!Description
;DrawDist: [[draw distance]] in [[unit]]s, one for each sub object (float)
+
|-
;Flags: object flags, defining special behavior, default 0 (integer)
+
|<center>ID</center>||unique object ID (integer)
 +
|-
 +
|<center>ModelName</center>||name of the .dff [[model file]], without extension (string)
 +
|-
 +
|<center>TextureName</center>||name of the .txd [[texture dictionary]], without extension (string)
 +
|-
 +
|<center>ObjectCount</center>||amount of sub objects, e.g. damaged parts, usually 1 (integer) - '''''optional for SA, default 1'''''
 +
|-
 +
|<center>DrawDist</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
 +
|-
 +
|<center>Flags</center>||[[OBJS#Object Flags|object flags]], defining special behavior, default 0 (integer)
 +
|}
  
 
''GTA IV format''
 
''GTA IV format''
Line 29: Line 40:
 
Note that GTA IV does not use any unique object ID numbers
 
Note that GTA IV does not use any unique object ID numbers
  
;ModelName: name of the .wdr [[model file]], without extension (string)
+
{|{{Prettytable}} width="100%" class="collapsible collapsed"
;TextureName: name of the .wtd [[texture dictionary]], without extension (string)
+
!width="250px"|Identifier
;DrawDistance: [[draw distance]] in [[unit]]s, one for each sub object (float)
+
!Description
;Flag1: object flag, defining special behavior
+
|-
;Flag2: object flag, defining special behavior, default 0 (integer)
+
|<center>ModelName</center>||name of the .wdr [[model file]], without extension (string)
;Bounds Min: Lower Left vertex local position of a model bounding box
+
|-
;Bounds Max: Upper Right vertex local position of a model bounding box
+
|<center>TextureName</center>||name of the .wtd [[texture dictionary]], without extension (string)
;Bounds Sphere: local position of the Bounds Sphere
+
|-
;Radius: Radius dimensions of the bounding Sphere  
+
|<center>DrawDistance</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
;WDD: the model dictionary file that contains the LOD model for the defined Modelname
+
|-
 
+
|<center>Flag1</center>||object flag, defining special behavior
====Object Flags====
+
|-
Object Flags in SA are text formatted UInt32-Values (Like nearly all other Flags).
+
|<center>Flag2</center>||object flag, defining special behavior, default 0 (integer)
To understand them better you have to calculate them to binary numbers. Then You will get the Bitsets of the Flags.
+
|-
1 means Enabled, 0 disabled.
+
|<center>Bounds Min</center>||Lower Left vertex local position of a model bounding box
 +
|-
 +
|<center>Bounds Max</center>||Upper Right vertex local position of a model bounding box
 +
|-
 +
|<center>Radius</center>||Radius dimensions of the bounding Sphere  
 +
|-
 +
|<center>WDD</center>||the model dictionary file that contains the LOD model for the defined Modelname
 +
|}
  
List of all known flags for San Andreas:
+
===[[TOBJ]]===
 
+
Used to define timed map objects. All but the last two columns are the same as the OBJS section.
0000000000000000000000000000001 = 1 - Wet Effect
 
0000000000000000000000000000010 = 2 - Time Object Night Flag
 
0000000000000000000000000000100 = 4 - ALPHA Transparency 1
 
0000000000000000000000000001000 = 8 - ALPHA Transparency 2 *
 
0000000000000000000000000010000 = 16 - Time Object Day Flag
 
0000000000000000000000000100000 = 32 - Interior-Object **
 
0000000000000000000000001000000 = 64 - Disable Shadow Mesh (?)
 
0000000000000000000000010000000 = 128 - Disables Collision Mesh (?)
 
0000000000000000000000100000000 = 256 - Disable Draw Distance (?)
 
0000000000000000000001000000000 = 512 - Breakable Glass **
 
0000000000000000000010000000000 = 1024 - Breakable Glass with crack **
 
0000000000000000000100000000000 = 2048 - Garage door **
 
0000000000000000001000000000000 = 4096 - 2-Clump-Object ** (Switches from Clump 2 to 1 after Collision)
 
0000000000000000010000000000000 = 8192 - Small Vegetation. Object sways in strong wind  (?)
 
0000000000000000100000000000000 = 16384 - Standard Vegetation **  (Palms in Hotels, etc.) (?)
 
0000000000000001000000000000000 = 32768 - Use timecycle PoleShadow flag
 
0000000000000010000000000000000 = 65536 - Explosive-Flag **
 
0000000000000100000000000000000 = 131072 - UNKNOWN (Seems to be an SCM Flag) (?)
 
0000000000001000000000000000000 = 262144 - UNKNOWN (1 Object in Jizzy`s Club) (?)
 
0000000000010000000000000000000 = 524288 - UNKNOWN (?)
 
0000000000100000000000000000000 = 1048576 - Graffiti Flag
 
0000000001000000000000000000000 = 2097152 - No backface culling
 
0000000010000000000000000000000 = 4194304 - UNKNOWN (Parts of a statue in Atrium) (?)
 
...
 
1000000000000000000000000000000 = 1073741824 - Unknown
 
----------------
 
* If there's no Interior the Texture behind the object changes to black (=> IPL | Interior-value)
 
** Objects needs to be activated using Object.dat
 
(?) Not 100 % known
 
... All Flags in a special interval are unknown
 
 
 
To connect different flags you have to add the bit which belongs to the flag. Its the same as adding one value to another..
 
 
 
01 + 10 = 11
 
1  +  2 = 3
 
 
 
===TOBJ===
 
'''Timed Map Objects''', used to define map objects which are only visible during a special time of the day.
 
  
 
''GTA III, VC and SA format:''
 
''GTA III, VC and SA format:''
 
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
 
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
;ID, ModelName, TextureName, ObjectCount, DrawDist, Flags: same as for the OBJS section
+
 
;TimeOn: activation time in hours (integer)
+
{|{{Prettytable}} width="100%" class="collapsible collapsed"
;TimeOff: deactivation time in hours (integer)
+
!width="250px"|Identifier
 +
!Description
 +
|-
 +
|<center>ID</center>||unique object ID (integer)
 +
|-
 +
|<center>ModelName</center>||name of the .dff [[model file]], without extension (string)
 +
|-
 +
|<center>TextureName</center>||name of the .txd [[texture dictionary]], without extension (string)
 +
|-
 +
|<center>ObjectCount</center>||amount of sub objects, e.g. damaged parts, usually 1 (integer) - '''''optional for SA, default 1'''''
 +
|-
 +
|<center>DrawDist</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
 +
|-
 +
|<center>Flags</center>||object flags, defining special behavior, default 0 (integer)
 +
|-
 +
|<center>TimeOn</center>||activation time in game hours (integer)
 +
|-
 +
|<center>TimeOff</center>||deactivation time in game hours (integer)
 +
|}
  
 
''GTA IV format''
 
''GTA IV format''
Line 96: Line 94:
 
  ModelName, TextureName, DrawDist, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X,Y,Z, Radius, WDD, NightFlag
 
  ModelName, TextureName, DrawDist, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X,Y,Z, Radius, WDD, NightFlag
  
;ModelName, TextureName, DrawDistance, Flags, Bounds min, Bounds max, Bounds Rotation, WDD: same as for the OBJS section
+
Note that GTA IV does not use any unique object ID numbers.
  
;NightFlag: assumed to be hardcoded time flags
+
{|{{Prettytable}} width="100%" class="collapsible collapsed"
 +
!width="250px"|Identifier
 +
!Description
 +
|-
 +
|<center>ModelName</center>||name of the .wdr [[model file]], without extension (string)
 +
|-
 +
|<center>TextureName</center>||name of the .wtd [[texture dictionary]], without extension (string)
 +
|-
 +
|<center>DrawDistance</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
 +
|-
 +
|<center>Flag1</center>||object flag, defining special behavior
 +
|-
 +
|<center>Flag2</center>||object flag, defining special behavior, default 0 (integer)
 +
|-
 +
|<center>Bounds Min</center>||Lower Left vertex local position of a model bounding box
 +
|-
 +
|<center>Bounds Max</center>||Upper Right vertex local position of a model bounding box
 +
|-
 +
|<center>Radius</center>||Radius dimensions of the bounding Sphere
 +
|-
 +
|<center>WDD</center>||the model dictionary file that contains the LOD model for the defined Modelname
 +
|-
 +
|<center>NightFlag</center>||assumed to be hardcoded time flags
 +
|}
  
 
===ANIM===
 
===ANIM===
Line 128: Line 149:
 
;Animation: From ped.ifp, animation used to wield and shoot the weapon
 
;Animation: From ped.ifp, animation used to wield and shoot the weapon
  
===CARS===
+
===[[CARS (IDE Section)|CARS]]===
 
''GTA III and VC format:''
 
''GTA III and VC format:''
  ID, ModelName, TextureName, Type, HandlingID, GXTEntry, PedDrivingAnimation, Class, Frequency, Level,  
+
  ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, WheelID, WheelScale
SpecificType, WheelID, WheelSize
 
  
;HandlingID: From handling.cfg
+
{|{{Prettytable}} width="100%"  class="collapsible collapsed"
;PedDrivingAnimation: From ped.ifp, type of animation to enter, exit, drive, and drive-by from a vehicle
+
!width="250px"|Identifier
;WheelID: not available for type "boat"
+
!Description
;WheelSize: not available for type "boat"
+
|-
 +
|<center>ID</center>||Unique model ID
 +
|-
 +
|<center>ModelName</center>||Name of the .dff [[model file]], without extension
 +
|-
 +
|<center>TxdName</center>||Name of the .txd [[texture dictionary]], without extension
 +
|-
 +
|<center>Type</center>||Type of vehicle, which includes ''car'', ''boat'', ''plane'', and, for Vice City only, ''bike'' and ''heli''. ''Heli'' and ''plane'' are used only for NPC aircrafts.
 +
|-
 +
|<center>HandlingID</center>||Name corresponding to its handling data in the [[handling.cfg]] file.
 +
|-
 +
|<center>GameName</center>||Name corresponding to its [[GXT]] entry, must be seven characters or less
 +
|-
 +
|<center>Anims</center>||Appropriate animation file mainly used on bikes
 +
|-
 +
|<center>Class</center>||[[CARS (IDE Section)#Class|Class]] of the vehicle
 +
|-
 +
|<center>Frequency</center>||
 +
|-
 +
|<center>Level</center>||
 +
|-
 +
|<center>Comprules</center>||
 +
|-
 +
|<center>WheelID</center>||[[CARS (IDE Section)#Wheels|Wheel model ID]], not available for type "boat" and special for bikes
 +
|-
 +
|<center>WheelScale</center>||not available for type "boat"
 +
|}
  
 
''SA Format comming soon''
 
''SA Format comming soon''
Line 222: Line 268:
 
* [http://gta-worldmods.t-n-network.de/forum/thread.php?threadid=3382 ID Flagvalue Decoding Project] - project to decode all missing flag values
 
* [http://gta-worldmods.t-n-network.de/forum/thread.php?threadid=3382 ID Flagvalue Decoding Project] - project to decode all missing flag values
  
{{GTA4-navi}}
+
{{N|4|SA}}
{{SA-navi}}
 
  
 
[[Category:Map Formats]][[Category:GTA 3]][[Category:GTA VC]][[Category:GTA SA]][[Category:GTA 4]]
 
[[Category:Map Formats]][[Category:GTA 3]][[Category:GTA VC]][[Category:GTA SA]][[Category:GTA 4]]

Revision as of 03:14, 17 August 2009

40px-Ambox rewrite orange.svg.png This article may need to be rewritten.
Please help improve this article. The discussion page may contain suggestions.
Item Definition (IDE section)
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

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 Rotation, WDD
same as for the OBJS section
Wad
name of the (.wad) animation archive, without extension (string)

PEDS

GTA III and VC format:

ID, ModelName, TextureName, Threat, Behavior, AnimationType, ?, StartAnimation?, ?, ?
Threat
running over and shooting other peds
Behavior
angry/hateful/thrilled
AnimationType
being drunk like walk

WEAP

GTA III and VC format:

ID, ModelName, TextureName, Animation, ?, DrawDistance, ?
Animation
From ped.ifp, animation used to wield and shoot the weapon

CARS

GTA III and VC format:

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

SA Format comming 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

Texture Archive Parent

SA and GTA 4 format

TextureName, TextureParentName

Both parameters are names of texture archives (.txd). 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.

2DFX

Particle and Environment Effects

GTA III and VC format

ID, X, Y, Z, R, G, B, U, Type, ...
ID
ID of the object it's assigned to (integer)
X, Y, Z
position of the effect, relative to the object (3 floats)
R, G, B
color of the effect, if available (3 integers, 0 - 255)
U
unknown color component, always 200 (integer)
Type
specifies the type of effect

Effect #0: Light

Coming soon.

Effect #1: ...

Coming soon.

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

PATH

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

TREE

GTA4 only

TANM

GTA4 only

MLO

GTA4 only

AMAT

GTA4 only

Modelname, Flag1, Flag2

procobj.ide

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 Rotation
Rotation of the bounding box in Quarternion values
WDD
set to 'null' by default in procobj.ide

Tools

External Links