Difference between revisions of "OBJS"

From GTAMods Wiki
Jump to navigation Jump to search
m (Object Flags)
Line 2: Line 2:
 
{{IdeSection
 
{{IdeSection
 
| game        = [[GTA III]], [[GTA VC]], [[GTA SA]], [[GTA IV]]
 
| game        = [[GTA III]], [[GTA VC]], [[GTA SA]], [[GTA IV]]
| description = Used to define standard static map objects
+
| description = Used to define standard map objects
 
}}
 
}}
'''OBJS''' is a section in the [[item definition]] file. It is used to define standard static map objects.
+
'''OBJS''' is a section in the [[item definition]] file. It is used to define standard map objects. There are also sections to extend default object definitions:
  
==GTA III - San Andreas==
+
* [[TOBJ]] for defining an additional ingame time range the object gets rendered in.
===Format===
+
* [[ANIM]] which links an animation to an object.
  ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags
+
* [[TANM]] which does both of the previously mentioned sections.
 +
 
 +
 
 +
== Format ==
 +
 
 +
=== GTA III, Vice City and San Andreas ===
 +
 
 +
  ID, ModelName, TextureName, ObjectCount, DrawDistance, [DrawDistance2, ...], Flags
  
 
{|{{Prettytable}} width="100%"
 
{|{{Prettytable}} width="100%"
Line 14: Line 21:
 
!Description
 
!Description
 
|-
 
|-
|<center>ID</center>||unique object ID (integer)
+
|<center>ID</center>||Unique object ID.
 
|-
 
|-
|<center>ModelName</center>||name of the .dff [[model file]], without extension (string)
+
|<center>ModelName</center>||Name of the <code>.dff</code> [[model file]] without extension.
 
|-
 
|-
|<center>TextureName</center>||name of the .txd [[texture dictionary]], without extension (string)
+
|<center>TextureName</center>||Name of the <code>.txd</code> [[texture dictionary]] without extension.
 
|-
 
|-
|<center>ObjectCount</center>||amount of sub objects, e.g. damaged parts, usually 1 (integer) - '''''optional for SA, default 1'''''
+
|<center>ObjectCount</center>||Number of [[RenderWare_binary_stream_file|clumps]]. 1 by default and optional for ''San Andreas''.
 
|-
 
|-
|<center>DrawDist</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
+
|<center>DrawDistance</center>||[[Draw distance]] in [[unit]]s (one for each clump).
 
|-
 
|-
|<center>Flags</center>||object flags, defining special behavior, default 0 (integer)
+
|<center>Flags</center>||Object flags (see [[OBJS#Object_Flags|below]]).
 
|}
 
|}
  
===Object Flags===
+
=== GTA IV ===
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.
 
  
List of all known flags for San Andreas:
+
ModelName, TextureName, DrawDistance, Flags, Unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LOD Model
  
{|{{Prettytable}} width="100%" class="collapsible collapsed"
+
{|{{Prettytable}} width="100%"
!width="25%"|Binary
+
!width="250px"|Identifier
!width="5%"|Decimal
 
 
!Description
 
!Description
 
|-
 
|-
|0000000000000000000000000000001||1||Wet Effect
+
|<center>ModelName</center>||Name of the <code>.wdr</code> ''model file'' without extension.
 
|-
 
|-
|0000000000000000000000000000010||2||Time Object Night Flag
+
|<center>TextureName</center>||name of the <code>.wtd</code> ''texture dictionary'' without extension.
 
|-
 
|-
|0000000000000000000000000000100||4||ALPHA Transparency 1
+
|<center>DrawDistance</center>||''Draw distance'' in ''units''.
 
|-
 
|-
|0000000000000000000000000001000||8||ALPHA Transparency 2 *
+
|<center>Flag1</center>||Object flag (see [[OBJS#Object Flags|below]]).
 
|-
 
|-
|0000000000000000000000000010000||16||Time Object Day Flag
+
|<center>Unknown</center>||Unknown integer (0 by default).
 
|-
 
|-
|0000000000000000000000000100000||32||Interior-Object **
+
|<center>MinX, MinY, MinZ</center>||Lower left corner of the bounding box for the object.
 
|-
 
|-
|0000000000000000000000001000000||64||Disable Shadow Mesh
+
|<center>MaxX, MaxY, MaxZ</center>||Upper right corner of the bounding box for the object.
 
|-
 
|-
|0000000000000000000000010000000||128||Excludes object from culling
+
|<center>SphereX, SphereY, SphereZ</center>||Center of the bounding sphere for the object.
 
|-
 
|-
|0000000000000000000000100000000||256||Disable Draw Distance for LODs
+
|<center>Radius</center>||Radius of the bounding sphere into all dimensions.
 
|-
 
|-
|0000000000000000000001000000000||512||Breakable Glass **
+
|<center>LOD Model</center>||Name of the <code>.[[wdd]]</code> file that contains the ''lod model'' for the defined modelname.
 +
|}
 +
 
 +
[[GTA IV]] stores bounding informations inside the ''item definitions'' for better performance. The previous games stored bounding informations inside the [[COLL|collision]] files. Also it uses the hashes of the model names as a key of an hash table instead of the ID as an index to the definition array for previous games.
 +
 
 +
== Object Flags ==
 +
 
 +
Flags are used to specify the behaviour of objects. They are signed 32-bit integer values where each bit descripes an [[wikipedia:Boolean_algebra_(logic)|boolean]] value of an special aspect.
 +
 
 +
{|{{Prettytable}} width="100%" class="collapsible"
 +
!width="120px"|Flag
 +
!width="100px"|Supported games
 +
!width="25%"|Binary
 +
!Description
 
|-
 
|-
|0000000000000000000010000000000||1024||Breakable Glass with crack **
+
|<center>-1</center>||<center>&ndash;</center>||<center><code>1111 1111 1111 1111 1111 1111</code></center>||Enables all flags. {{ref|1}} Never used by default.
 
|-
 
|-
|0000000000000000000100000000000||2048||Garage door **
+
|<center>1</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0000 0001</code></center>||Wet effect (objects appear darker).
 
|-
 
|-
|0000000000000000001000000000000||4096||2-Clump-Object ** (Switches from Clump 2 to 1 after Collision)
+
|<center>2</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0000 0010</code></center>||Indicates that the object gets rendered at night for objects defined in ''TOBJ''.
 
|-
 
|-
|0000000000000000010000000000000||8192||Small Vegetation. Object sways in strong wind  (?)
+
|<center>4</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0000 0100</code></center>||Alpha transparency 1
 
|-
 
|-
|0000000000000000100000000000000||16384||Standard Vegetation **  (Palms in Hotels, etc.) (?)
+
|<center>8</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0000 1000</code></center>||Alpha transparency 2
 
|-
 
|-
|0000000000000001000000000000000||32768||Use timecycle PoleShadow flag
+
|<center>16</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0001 0000</code></center>||Opposite to flag '''2'''
 
|-
 
|-
|0000000000000010000000000000000||65536||Explosive-Flag **
+
|<center>32</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0010 0000</code></center>||Indicates an object to be used inside an interior.
 
|-
 
|-
|0000000000000100000000000000000||131072||UNKNOWN (Seems to be an SCM Flag) (?)
+
|<center>64</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 0100 0000</code></center>||Disables the [[COLL#Shadow_Mesh|shadow mesh]] to project a shadow.
 
|-
 
|-
|0000000000001000000000000000000||262144||UNKNOWN (1 Object in Jizzy`s Club) (?)
+
|<center>128</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0000 1000 0000</code></center>||Object surface will not be [[Wikipedia:Hidden_surface_determination|culled]].
 
|-
 
|-
|0000000000010000000000000000000||524288||UNKNOWN (?)
+
|<center>256</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0001 0000 0000</code></center>||Disables draw distance (Only used for [[LOD]] objects with an ''LOD'' value greater than 299).
 
|-
 
|-
|0000000000100000000000000000000||1048576||Graffiti Flag
+
|<center>512</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0010 0000 0000</code></center>||Object is breakable (like glass &ndash; additional parameters defined inside the [[object.dat]] file, otherwise there is no effect).
 
|-
 
|-
|0000000001000000000000000000000||2097152||Disable backface culling
+
|<center>1024</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 0100 0000 0000</code></center>||Similar to flag '''512''': object first cracks on a strong collision, then it breaks (does also require ''object.dat'' registration).
|-
 
|0000000010000000000000000000000||4194304||UNKNOWN (Parts of a statue in Atrium) (?)
 
|-
 
|...||||All flags in this range are unused/unknown
 
|-
 
|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
 
 
 
To connect different flags you have to add the bit which belongs to the flag. Its the same as adding one value to another..  
 
 
 
1 + 2 + 16 = 19
 
1  +  2 = 3
 
 
 
==GTA IV==
 
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
 
 
 
{|{{Prettytable}} width="100%"
 
!width="250px"|Identifier
 
!Description
 
 
|-
 
|-
|<center>ModelName</center>||name of the .wdr [[model file]], without extension (string)
+
|<center>2048</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 0000 1000 0000 0000</code></center>||Indicates an object as an garage door (for more information see [[GRGE#Types_of_doors|GRGE]] &ndash; requires ''object.dat'' registration).
 
|-
 
|-
|<center>TextureName</center>||name of the .wtd [[texture dictionary]], without extension (string)
+
|<center>4096</center>||<center>{{Icon|SA}}</center>||<center><code>0000 0000 0001 0000 0000 0000</code></center>||Indicates an [[RenderWare_binary_stream_file|multiclump]] object (Object switches from clump ''2'' to clump ''1'' after collision &ndash; requires ''object.dat'' registration).
 
|-
 
|-
|<center>DrawDistance</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
+
|<center>32768</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0000 1000 0000 0000 0000</code></center>||Uses object brightness from the current weather definition (See [[timecyc.dat]] &ndash; ''PoleShd'').
 
|-
 
|-
|<center>Flag1</center>||object flag, defining special behavior
+
|<center>65536</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||<center><code>0000 0001 0000 0000 0000 0000</code></center>||Object explodes after getting hit (requires ''object.dat'' registration).
 
|-
 
|-
|<center>Flag2</center>||object flag, defining special behavior, default 0 (integer)
+
|<center>131072</center>||<center>{{Icon|SA}}</center>||<center><code>0000 0010 0000 0000 0000 0000</code></center>||Unknown &ndash; apparently some flag for the [[SCM|Script]].
 
|-
 
|-
|<center>Bounds Min</center>||Lower Left vertex local position of a model bounding box
+
|<center>262144</center>||<center>{{Icon|SA}}</center>||<center><code>0000 0100 0000 0000 0000 0000</code></center>||Unknown &ndash; only used 1 time in [[GTA SA|San Andreas]].
 
|-
 
|-
|<center>Bounds Max</center>||Upper Right vertex local position of a model bounding box
+
|<center>1048576</center>||<center>{{Icon|SA}}</center>||<center><code>0000 1000 0000 0000 0000 0000</code></center>||Object will switch from clump ''2'' to clump ''1'' after getting sprayed by the player (graffity flag).
 
|-
 
|-
|<center>Radius</center>||Radius dimensions of the bounding Sphere
+
|<center>2097152</center>||<center>{{Icon|SA}}</center>||<center><code>0001 0000 0000 0000 0000 0000</code></center>||Disables backface culling &ndash; as an result the texture will be drawed on both sides of the model (Always enabled for GTA III and [[GTA VC|Vice City]])
 
|-
 
|-
|<center>WDD</center>||the model dictionary file that contains the LOD model for the defined Modelname
+
|<center>4194304</center>||<center>{{Icon|SA}}</center>||<center><code>0010 0000 0000 0000 0000 0000</code></center>||Unknown &ndash; apparently related into physics.
 
|}
 
|}
  
 
[[Category:GTA 3]][[Category:GTA VC]]
 
[[Category:GTA 3]][[Category:GTA VC]]
 
{{N|4|SA}}
 
{{N|4|SA}}

Revision as of 12:38, 26 July 2010

OBJS (IDE section)
Supported games:GTA III, GTA VC, GTA SA, GTA IV
Brief description:Used to define standard map objects
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

OBJS is a section in the item definition file. It is used to define standard map objects. There are also sections to extend default object definitions:

  • TOBJ for defining an additional ingame time range the object gets rendered in.
  • ANIM which links an animation to an object.
  • TANM which does both of the previously mentioned sections.


Format

GTA III, Vice City and San Andreas

ID, ModelName, TextureName, ObjectCount, DrawDistance, [DrawDistance2, ...], Flags
Identifier Description
ID
Unique object ID.
ModelName
Name of the .dff model file without extension.
TextureName
Name of the .txd texture dictionary without extension.
ObjectCount
Number of clumps. 1 by default and optional for San Andreas.
DrawDistance
Draw distance in units (one for each clump).
Flags
Object flags (see below).

GTA IV

ModelName, TextureName, DrawDistance, Flags, Unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LOD Model
Identifier Description
ModelName
Name of the .wdr model file without extension.
TextureName
name of the .wtd texture dictionary without extension.
DrawDistance
Draw distance in units.
Flag1
Object flag (see below).
Unknown
Unknown integer (0 by default).
MinX, MinY, MinZ
Lower left corner of the bounding box for the object.
MaxX, MaxY, MaxZ
Upper right corner of the bounding box for the object.
SphereX, SphereY, SphereZ
Center of the bounding sphere for the object.
Radius
Radius of the bounding sphere into all dimensions.
LOD Model
Name of the .wdd file that contains the lod model for the defined modelname.

GTA IV stores bounding informations inside the item definitions for better performance. The previous games stored bounding informations inside the collision files. Also it uses the hashes of the model names as a key of an hash table instead of the ID as an index to the definition array for previous games.

Object Flags

Flags are used to specify the behaviour of objects. They are signed 32-bit integer values where each bit descripes an boolean value of an special aspect.

Flag Supported games Binary Description
-1
1111 1111 1111 1111 1111 1111
Enables all flags. [1] 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
Indicates that the object gets rendered at night for objects defined in TOBJ.
4
GTA III Vice City San Andreas GTA IV
0000 0000 0000 0000 0000 0100
Alpha transparency 1
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
San Andreas GTA IV
0000 0000 0000 0000 0100 0000
Disables the shadow mesh to project a shadow.
128
San Andreas GTA IV
0000 0000 0000 0000 1000 0000
Object surface will not be culled.
256
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
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
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
0000 0000 0001 0000 0000 0000
Indicates an multiclump object (Object switches from clump 2 to clump 1 after collision – requires object.dat registration).
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 clump 2 to clump 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.