Item Definition

From GTAMods Wiki
Revision as of 12:31, 1 June 2008 by Aschratt (talk | contribs) (Object Flags: Figured out an new flag for generic objects)
Jump to navigation Jump to search

Introduction

Item definition files are known by the extension .ide and 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.

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

Static Map Objects, used to define standard map objects.

GTA III, VC and SA format:

ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
ID
unique object ID (integer)
ModelName
name of the .dff model file, without extension (string)
TextureName
name of the .txd texture dictionary, without extension (string)
ObjectCount
amount of sub objects, e.g. damaged parts, usually 1 (integer) - optional for SA, default 1
DrawDist
draw distance in units, one for each sub object (float)
Flags
object flags, defining special behavior, default 0 (integer)

Object Flags

Object Flags in SA are text formatted UInt32-Values (Like nearly all other Flags). 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.

Heres a list of all SA Flags known until now:

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 - Use timecycle PoleShadow flag
0000000000000000010000000000000 = 8192 - Small Vegetation (?)
0000000000000000100000000000000 = 16384 - Standard Vegetation **  (Palms in Hotels, etc.) (?)
0000000000000001000000000000000 = 32768 - Generic Object Renderer (Seems to render often used
Objects faster) (?)
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 theres 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:

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)
TimeOff
deactivation time in hours (integer)

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 .ifp 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, TextureName, Type, HandlingID, GXTEntry, PedDrivingAnimation, Class, Frequency, Level, 
SpecificType, WheelID, WheelSize
HandlingID
From handling.cfg
PedDrivingAnimation
From ped.ifp, type of animation to enter, exit, drive, and drive-by from a vehicle
WheelID
not available for type "boat"
WheelSize
not available for type "boat"

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 (normaly 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 format only:

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 only:

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

External Links

Tools