Difference between revisions of "OBJS"

From GTAMods Wiki
Jump to navigation Jump to search
m
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{IdeSection
 
{{IdeSection
| game        = [[GTA III]], [[GTA VC]], [[GTA SA]], [[GTA IV]]
+
|game        = {{Icon|t}} {{Icon|LCS}} {{Icon|4}}
| description = Used to define standard map objects
+
|description = Defines simple 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:
+
'''<code>objs</code>''' is a section in the [[item definition]] file in [[GTA III]], [[Vice City]], [[San Andreas]], [[Liberty City Stories]], and [[GTA IV]]. It is used to define simple 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.
 
  
 +
* <code>[[TOBJ|tobj]]</code> for defining an additional in-game time range the object gets rendered in.
 +
* <code>[[ANIM|anim]]</code> which links an animation to an object.
 +
* <code>[[TANM|tanm]]</code> which does both of the previously mentioned sections.
  
 
== Format ==
 
== Format ==
=== GTA III, Vice City and San Andreas ===
+
=== GTA III &ndash; Liberty City Stories ===
====Type 0====
+
{{Pre|
This type was never used in the game.
+
objs
{|{{Prettytable}} width="100%"
+
# [[#Type 1|type 1]] (III/VC/SA/LCS)
! width="56px"| {{Icon|trilogy}}
+
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags
! width="150px"| Identifier
+
# [[#Type 2|type 2]] (III/VC/SA/LCS)
! width="100px"| Type
+
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags
! Description
+
# [[#Type 3|type 3]] (III/VC/SA/LCS)
|-
+
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags
| <center>A</center> || <center>ID</center> || integer || Unique object ID.
+
# [[#Type 4|type 4]] (SA)
|-
+
Id, ModelName, TxdName, DrawDistance, Flags
| <center>B</center> || <center>ModelName</center> || string || Name of the <code>.dff</code> [[model file]] without extension.
+
end
|-
+
}}
| <center>C</center> || <center>TextureName</center> || string || Name of the <code>.txd</code> [[texture dictionary]] without extension.
 
|-
 
| <center>D</center> || <center>ObjectCount?</center> || integer || Number of clumps?
 
|}
 
  
 
====Type 1====
 
====Type 1====
This is the most common type used in the game.
+
This is used for non-breakable objects.
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="56px"| {{Icon|trilogy}}
+
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
! width="150px"| Identifier
+
!style="width: 12em;" |Identifier
! width="100px"| Type
+
!style="width: 6em;" |Type
! Description
+
!Description
 
|-
 
|-
| <center>A</center> || <center>ID</center> || integer || Unique object ID.
+
|A ||Id ||integer ||Unique object identifier.
 
|-
 
|-
| <center>B</center> || <center>ModelName</center> || string || Name of the <code>.dff</code> [[model file]] without extension.
+
|B ||ModelName ||string ||Name of the [[model file]] without extension.
 
|-
 
|-
| <center>C</center> || <center>TextureName</center> || string || Name of the <code>.txd</code> [[texture dictionary]] without extension.
+
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.
 
|-
 
|-
| <center>D</center> || <center>ObjectCount</center> || integer || Number of [[RenderWare_binary_stream_file|clumps]]. 1 for this type.
+
|D ||MeshCount ||integer ||Number of meshes. 1 for this type.
 
|-
 
|-
| <center>E</center> || <center>DrawDistance</center> || float || [[Draw distance]] in [[unit]]s.
+
|E ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.
 
|-
 
|-
| <center>F</center> || <center>Flags</center> || integer || Object flags (see [[OBJS#Object_Flags|below]]).
+
|F ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 
|}
 
|}
  
 
====Type 2====
 
====Type 2====
 
This is used for breakable objects.
 
This is used for breakable objects.
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="56px"| {{Icon|trilogy}}
+
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
! width="150px"| Identifier
+
!style="width: 12em;" |Identifier
! width="100px"| Type
+
!style="width: 6em;" |Type
! Description
+
!Description
 
|-
 
|-
| <center>A</center> || <center>ID</center> || integer || Unique object ID.
+
|A ||Id ||integer ||Unique object identifier.
 
|-
 
|-
| <center>B</center> || <center>ModelName</center> || string || Name of the <code>.dff</code> [[model file]] without extension.
+
|B ||ModelName ||string ||Name of the [[model file]] without extension.
 
|-
 
|-
| <center>C</center> || <center>TextureName</center> || string || Name of the <code>.txd</code> [[texture dictionary]] without extension.
+
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.
 
|-
 
|-
| <center>D</center> || <center>ObjectCount</center> || integer || Number of [[RenderWare_binary_stream_file|clumps]]. 2 for this type.
+
|D ||MeshCount ||integer ||Number of meshes. 2 for this type.
 
|-
 
|-
| <center>E,F</center> || <center>DrawDistance1, DrawDistance2</center> || float[2] || [[Draw distance]] in [[unit]]s (one for each clump).
+
|E,F ||DrawDistance1, DrawDistance2 ||float[2] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).
 
|-
 
|-
| <center>G</center> || <center>Flags</center> || integer || Object flags (see [[OBJS#Object_Flags|below]]).
+
|G ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 
|}
 
|}
  
 
====Type 3====
 
====Type 3====
 
This is used for complex breakable objects.
 
This is used for complex breakable objects.
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="56px"| {{Icon|trilogy}}
+
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
! width="150px"| Identifier
+
!style="width: 12em;" |Identifier
! width="100px"| Type
+
!style="width: 6em;" |Type
! Description
+
!Description
 
|-
 
|-
| <center>A</center> || <center>ID</center> || integer || Unique object ID.
+
|A ||Id ||integer ||Unique object identifier.
 
|-
 
|-
| <center>B</center> || <center>ModelName</center> || string || Name of the <code>.dff</code> [[model file]] without extension.
+
|B ||ModelName ||string ||Name of the [[model file]] without extension.
 
|-
 
|-
| <center>C</center> || <center>TextureName</center> || string || Name of the <code>.txd</code> [[texture dictionary]] without extension.
+
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.
 
|-
 
|-
| <center>D</center> || <center>ObjectCount</center> || integer || Number of [[RenderWare_binary_stream_file|clumps]]. 3 for this type.
+
|D ||MeshCount ||integer ||Number of meshes. 3 for this type.
 
|-
 
|-
| <center>E,F,G</center> || <center>DrawDistance1, DrawDistance2, DrawDistance3</center> || float[3] || [[Draw distance]] in [[unit]]s (one for each clump).
+
|E,F,G ||DrawDistance1, DrawDistance2, DrawDistance3 ||float[3] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).
 
|-
 
|-
| <center>H</center> || <center>Flags</center> || integer || Object flags (see [[OBJS#Object_Flags|below]]).
+
|H ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 
|}
 
|}
  
 
====Type 4====
 
====Type 4====
This is used for objects with only 1 clump. San Andreas uses this almost exclusively.
+
This is used for non-breakable objects and behaves equivalently to [[#Type 1|Type 1]].
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="10px"| {{Icon|SA}}
+
!style="width: 3em;" |{{Icon|SA}}
! width="150px"| Identifier
+
!style="width: 12em;" |Identifier
! width="100px"| Type
+
!style="width: 6em;" |Type
! Description
+
!Description
 
|-
 
|-
| <center>A</center> || <center>ID</center> || integer || Unique object ID.
+
|A ||Id ||integer ||Unique object identifier.
 
|-
 
|-
| <center>B</center> || <center>ModelName</center> || string || Name of the <code>.dff</code> [[model file]] without extension.
+
|B ||ModelName ||string ||Name of the [[model file]] without extension.
 
|-
 
|-
| <center>C</center> || <center>TextureName</center> || string || Name of the <code>.txd</code> [[texture dictionary]] without extension.
+
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.
 
|-
 
|-
| <center>D</center> || <center>DrawDistance</center> || float || [[Draw distance]] in [[unit]]s.
+
|D ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.
 
|-
 
|-
| <center>E</center> || <center>Flags</center> || integer || Object flags (see [[OBJS#Object_Flags|below]]).
+
|E ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 
|}
 
|}
  
 
=== GTA IV ===
 
=== GTA IV ===
 +
{{Pre|
 +
objs
 +
ModelName, TxdName, DrawDistance, Flag, unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel
 +
end
 +
}}
 
==== Type 1 ====
 
==== Type 1 ====
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="56px"| {{Icon|4}}
+
!style="width: 3em;" |{{Icon|4}}
! width="150px"| Identifier
+
!style="width: 12em;" |Identifier
! width="100px"| Type
+
!style="width: 6em;" |Type
! Description
+
!Description
 
|-
 
|-
| <center>A</center> || <center>ModelName</center> || string || Name of the <code>.wdr</code> ''model file'' without extension.
+
|A ||ModelName ||string ||Name of the <code>[[WDR|.wdr]]</code> model file without extension.
 
|-
 
|-
| <center>B</center> || <center>TextureName</center> || string || Name of the <code>.wtd</code> ''texture dictionary'' without extension.
+
|B ||TxdName ||string ||Name of the <code>[[WTD|.wtd]]</code> texture dictionary without extension.
 
|-
 
|-
| <center>C</center> || <center>DrawDistance</center> || float || ''Draw distance'' in ''units''.
+
|C ||DrawDistance ||float ||Draw distance in units.
 
|-
 
|-
| <center>D</center> || <center>Flag1</center> || integer || Object flag (see [[OBJS#Object Flags|below]]).
+
|D ||Flag ||integer ||[[Item Definition#IDE Flags|Object flag]]
 
|-
 
|-
| <center>E</center> || <center>Unknown</center> || float || Unknown integer (0 by default).
+
|E ||''unknown'' ||float ||Unknown integer (usually 0 but uses other values as high as 32).
 
|-
 
|-
| <center>F,G,H</center> || <center>MinX, MinY, MinZ</center> || float, float, float || Lower left corner of the bounding box for the object.
+
|F,G,H ||MinX, MinY, MinZ ||float[3] ||Lower left corner of the bounding box for the object.
 
|-
 
|-
| <center>I,J,K</center> || <center>MaxX, MaxY, MaxZ</center> || float, float, float || Upper right corner of the bounding box for the object.
+
|I,J,K ||MaxX, MaxY, MaxZ ||float[3] ||Upper right corner of the bounding box for the object.
 
|-
 
|-
| <center>L,M,N</center> || <center>SphereX, SphereY, SphereZ</center> || float, float, float || Center of the bounding sphere for the object.
+
|L,M,N ||SphereX, SphereY, SphereZ ||float[3] ||Center of the bounding sphere for the object.
 
|-
 
|-
| <center>O</center> || <center>Radius</center> || float, float, float || Radius of the bounding sphere into all dimensions.
+
|O ||Radius ||float ||Radius of the bounding sphere into all dimensions.
 
|-
 
|-
| <center>P</center> || <center>LODModel</center> || string || Name of the <code>.[[wdd]]</code> file that contains the ''lod model'' for the defined modelname.
+
|P ||LODModel ||string ||Name of the <code>[[WDD|.wdd]]</code> file that contains the ''lod model'' for the defined modelname; otherwise ''null''.
 
|}
 
|}
  
 
[[GTA IV]] stores bounding information inside the ''item definitions'' for better performance. The previous games stored bounding information 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.
 
[[GTA IV]] stores bounding information inside the ''item definitions'' for better performance. The previous games stored bounding information 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 ==
 
{{Object-Flags}}
 
  
 
== Statistics ==
 
== Statistics ==
Total number of OBJS entries in:
+
Total number of <code>objs</code> entries in:
:GTA III: 2908
+
:GTA III: 2908 (max 5000)
 
::Type 1: 2844
 
::Type 1: 2844
 
::Type 2: 63
 
::Type 2: 63
 
::Type 3: 1
 
::Type 3: 1
  
:Vice City: 3800
+
:Vice City: 3800 (max 3885)
 
::Type 1: 3761
 
::Type 1: 3761
 
::Type 2: 38
 
::Type 2: 38
Line 161: Line 158:
 
::Type 4: 14051
 
::Type 4: 14051
  
== See also ==
+
:GTA IV: 24820
 
 
* [[TOBJ]]
 
* [[ANIM]]
 
* [[TANM]]
 
  
[[Category:GTA 3]]
+
{{N|4|LCS|SA|VC|3}}
{{N|4|SA|VC}}
+
[[Category:GTA LCS]]

Latest revision as of 06:51, 31 May 2019

OBJS (IDE section)
Supported games:GTA III Vice City San Andreas Liberty City Stories GTA IV
Brief description:Defines simple 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 in GTA III, Vice City, San Andreas, Liberty City Stories, and GTA IV. It is used to define simple objects. There are also sections to extend default object definitions:

  • tobj for defining an additional in-game 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 – Liberty City Stories

objs
# type 1 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags
# type 2 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags
# type 3 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags
# type 4 (SA)
Id, ModelName, TxdName, DrawDistance, Flags
end

Type 1

This is used for non-breakable objects.

GTA III Vice City
San Andreas Liberty City Stories
Identifier Type Description
A Id integer Unique object identifier.
B ModelName string Name of the model file without extension.
C TxdName string Name of the texture dictionary without extension.
D MeshCount integer Number of meshes. 1 for this type.
E DrawDistance float Draw distance in units.
F Flags integer Object flags

Type 2

This is used for breakable objects.

GTA III Vice City
San Andreas Liberty City Stories
Identifier Type Description
A Id integer Unique object identifier.
B ModelName string Name of the model file without extension.
C TxdName string Name of the texture dictionary without extension.
D MeshCount integer Number of meshes. 2 for this type.
E,F DrawDistance1, DrawDistance2 float[2] Draw distance in units (one for each mesh, only the first is actually used).
G Flags integer Object flags

Type 3

This is used for complex breakable objects.

GTA III Vice City
San Andreas Liberty City Stories
Identifier Type Description
A Id integer Unique object identifier.
B ModelName string Name of the model file without extension.
C TxdName string Name of the texture dictionary without extension.
D MeshCount integer Number of meshes. 3 for this type.
E,F,G DrawDistance1, DrawDistance2, DrawDistance3 float[3] Draw distance in units (one for each mesh, only the first is actually used).
H Flags integer Object flags

Type 4

This is used for non-breakable objects and behaves equivalently to Type 1.

San Andreas Identifier Type Description
A Id integer Unique object identifier.
B ModelName string Name of the model file without extension.
C TxdName string Name of the texture dictionary without extension.
D DrawDistance float Draw distance in units.
E Flags integer Object flags

GTA IV

objs
ModelName, TxdName, DrawDistance, Flag, unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel
end

Type 1

GTA IV Identifier Type Description
A ModelName string Name of the .wdr model file without extension.
B TxdName string Name of the .wtd texture dictionary without extension.
C DrawDistance float Draw distance in units.
D Flag integer Object flag
E unknown float Unknown integer (usually 0 but uses other values as high as 32).
F,G,H MinX, MinY, MinZ float[3] Lower left corner of the bounding box for the object.
I,J,K MaxX, MaxY, MaxZ float[3] Upper right corner of the bounding box for the object.
L,M,N SphereX, SphereY, SphereZ float[3] Center of the bounding sphere for the object.
O Radius float Radius of the bounding sphere into all dimensions.
P LODModel string Name of the .wdd file that contains the lod model for the defined modelname; otherwise null.

GTA IV stores bounding information inside the item definitions for better performance. The previous games stored bounding information 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.

Statistics

Total number of objs entries in:

GTA III: 2908 (max 5000)
Type 1: 2844
Type 2: 63
Type 3: 1
Vice City: 3800 (max 3885)
Type 1: 3761
Type 2: 38
Type 3: 1
San Andreas: 14052
Type 1: 1
Type 4: 14051
GTA IV: 24820