Difference between revisions of "TOBJ"

From GTAMods Wiki
Jump to navigation Jump to search
m (corrected NightFlags to ActiveHours and added statistics for GTAIV.)
 
(21 intermediate revisions by 5 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 timed map objects
+
|description = Defines timed map objects
 
}}
 
}}
'''TOBJ''' is a section in the [[item definition]] file. It is used to define timed map objects. Objects will be visible at during specific time. They can be made to appear to change from one object to another on a specific time of day.
+
'''<code>tobj</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 standard map objects similar to the <code>[[OBJS|objs]]</code> section with an additional in-game time range defining when the object gets rendered. [[GTA IV]] also support time controlled objects linked to animations through the <code>[[TANM|tanm]]</code> section. Most, if not all, time objects use the [[Item Definition#IDE Flags|object flag]] 2 to prevent them from fading into and out of view at those times.
  
==GTA III - San Andreas==
+
== Format ==
All TOBJ objects needs a daytime and a nighttime object at a point to show up at all times. If one object doesn't have the correct timing or is missing entirely, the game will keep using the existing TOBJ object. You will not see a hole in the ground.
+
=== GTA III &ndash; Liberty City Stories ===
===Format===
+
{{Pre|
ID, ModelName, TextureName, ObjectCount, DrawDist, [DrawDist2, ...], Flags, TimeOn, TimeOff
+
tobj
All but the last two columns are the same as the [[OBJS]] section.
+
# [[#Type 1|type 1]] (III/VC/SA/LCS)
{|{{Prettytable}} width="100%"
+
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags, TimeOn, TimeOff
!width="250px"|Identifier
+
# [[#Type 2|type 2]] (III/VC/SA/LCS)
 +
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags, TimeOn, TimeOff
 +
# [[#Type 3|type 3]] (III/VC/SA/LCS)
 +
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags, TimeOn, TimeOff
 +
# [[#Type 4|type 4]] (SA)
 +
Id, ModelName, TxdName, DrawDistance, Flags, TimeOn, TimeOff
 +
end
 +
}}
 +
 
 +
====Type 1====
 +
This is used for non-breakable objects.
 +
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 +
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
 +
!style="width: 12em;" |Identifier
 +
!style="width: 6em;" |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 [[unit]]s.
 +
|-
 +
|F ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 +
|-
 +
|G ||TimeOn ||integer ||Hour to appear
 +
|-
 +
|H ||TimeOff ||integer ||Hour to disappear
 +
|}
 +
 
 +
====Type 2====
 +
This is used for breakable objects.
 +
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 +
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
 +
!style="width: 12em;" |Identifier
 +
!style="width: 6em;" |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 [[unit]]s (one for each mesh, only the first is actually used).
 +
|-
 +
|G ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 +
|-
 +
|H ||TimeOn ||integer ||Hour to appear
 +
|-
 +
|I ||TimeOff ||integer ||Hour to disappear
 +
|}
 +
 
 +
====Type 3====
 +
This is used for complex breakable objects.
 +
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 +
!style="width: 3em;" |{{Icon|3}} {{Icon|VC}}<br>{{Icon|SA}} {{Icon|LCS}}
 +
!style="width: 12em;" |Identifier
 +
!style="width: 6em;" |Type
 
!Description
 
!Description
 
|-
 
|-
|<center>ID</center>||unique object ID (integer)
+
|A ||Id ||integer ||Unique object identifier.
 
|-
 
|-
|<center>ModelName</center>||name of the .dff [[model file]], without extension (string)
+
|B ||ModelName ||string ||Name of the [[model file]] without extension.
 
|-
 
|-
|<center>TextureName</center>||name of the .txd [[texture dictionary]], without extension (string)
+
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.
 
|-
 
|-
|<center>ObjectCount</center>||amount of sub objects, e.g. damaged parts, usually 1 (integer) - '''''optional for SA, default 1'''''
+
|D ||MeshCount ||integer ||Number of meshes. 3 for this type.
 
|-
 
|-
|<center>DrawDist</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
+
|E,F,G ||DrawDistance1, DrawDistance2, DrawDistance3 ||float[3] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).
 
|-
 
|-
|<center>Flags</center>||object flags, defining special behavior, default 0 (integer)
+
|H ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 
|-
 
|-
|<center>TimeOn</center>||activation time in game hours (integer)
+
|I ||TimeOn ||integer ||Hour to appear
 
|-
 
|-
|<center>TimeOff</center>||deactivation time in game hours (integer)
+
|J ||TimeOff ||integer ||Hour to disappear
 
|}
 
|}
  
==GTA IV==
+
====Type 4====
ModelName, TextureName, DrawDist, Flag1, Flag2, (Bounds min)X,Y,Z, (Bounds max)X,Y,Z, (Bounds Sphere)X,Y,Z, Radius, WDD, NightFlag
+
This is used for non-breakable objects and behaves equivalently to [[#Type 1|Type 1]].
 +
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 +
!style="width: 3em;" |{{Icon|SA}}
 +
!style="width: 12em;" |Identifier
 +
!style="width: 6em;" |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 [[unit]]s.
 +
|-
 +
|E ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]
 +
|-
 +
|F ||TimeOn ||integer ||Hour to appear
 +
|-
 +
|G ||TimeOff ||integer ||Hour to disappear
 +
|}
  
Note that GTA IV does not use any unique object ID numbers. All but the last column are the same as the [[OBJS]] section.
+
=== GTA IV ===
 +
{{Pre|
 +
tobj
 +
ModelName, TxdName, DrawDistance, Flags, Unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel, NightFlag
 +
end
 +
}}
  
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!width="250px"|Identifier
+
!style="width: 3em;" |{{Icon|4}}
 +
!style="width: 12em;" |Identifier
 +
!style="width: 6em;" |Type
 
!Description
 
!Description
 
|-
 
|-
|<center>ModelName</center>||name of the .wdr [[model file]], without extension (string)
+
|A ||ModelName ||string ||Name of the <code>.wdr</code> ''model file'' without extension.
 +
|-
 +
|B ||TxdName ||string ||name of the <code>.wtd</code> ''texture dictionary'' without extension.
 
|-
 
|-
|<center>TextureName</center>||name of the .wtd [[texture dictionary]], without extension (string)
+
|C ||DrawDistance ||float ||Draw distance in units.
 
|-
 
|-
|<center>DrawDistance</center>||[[draw distance]] in [[unit]]s, one for each sub object (float)
+
|D ||Flags ||integer ||[[Item Definition#IDE Flags|Object flag]]
 
|-
 
|-
|<center>Flag1</center>||object flag, defining special behavior
+
|E ||''unknown'' ||float ||Unknown integer (0 by default).
 
|-
 
|-
|<center>Flag2</center>||object flag, defining special behavior, default 0 (integer)
+
|F,G,H ||MinX, MinY, MinZ ||float[3] ||Lower left corner of the bounding box for the object.
 
|-
 
|-
|<center>Bounds Min</center>||Lower Left vertex local position of a model bounding box
+
|I,J,K ||MaxX, MaxY, MaxZ ||float[3] ||Upper right corner of the bounding box for the object.
 
|-
 
|-
|<center>Bounds Max</center>||Upper Right vertex local position of a model bounding box
+
|L,M,N ||SphereX, SphereY, SphereZ ||float[3] ||Center of the bounding sphere for the object.
 
|-
 
|-
|<center>Radius</center>||Radius dimensions of the bounding Sphere
+
|O ||Radius ||float ||Radius of the bounding sphere into all dimensions.
 
|-
 
|-
|<center>WDD</center>||the model dictionary 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.
 
|-
 
|-
|<center>NightFlag</center>||assumed to be hardcoded time flags
+
|Q ||ActiveHours||integer ||Hours of the day where the model is active as a bit field. with the first bit being midnight and the 24th 11PM.
 
|}
 
|}
  
[[Category:GTA 3]][[Category:GTA VC]]
+
== Statistics ==
{{N|4|SA}}
+
Total number of <code>tobj</code> entries in:
 +
:GTA III: 24 (max 30)
 +
:Vice City: 342 (max 385)
 +
:San Andreas: 160
 +
:GTA IV: 1558
 +
 
 +
{{N|4|LCS|SA|VC|3}}
 +
[[Category:GTA LCS]]

Latest revision as of 19:35, 29 September 2024

TOBJ (IDE section)
Supported games:GTA III Vice City San Andreas Liberty City Stories GTA IV
Brief description:Defines timed map objects
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

tobj 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 standard map objects similar to the objs section with an additional in-game time range defining when the object gets rendered. GTA IV also support time controlled objects linked to animations through the tanm section. Most, if not all, time objects use the object flag 2 to prevent them from fading into and out of view at those times.

Format

GTA III – Liberty City Stories

tobj
# type 1 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags, TimeOn, TimeOff
# type 2 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags, TimeOn, TimeOff
# type 3 (III/VC/SA/LCS)
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags, TimeOn, TimeOff
# type 4 (SA)
Id, ModelName, TxdName, DrawDistance, Flags, TimeOn, TimeOff
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
G TimeOn integer Hour to appear
H TimeOff integer Hour to disappear

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
H TimeOn integer Hour to appear
I TimeOff integer Hour to disappear

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
I TimeOn integer Hour to appear
J TimeOff integer Hour to disappear

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
F TimeOn integer Hour to appear
G TimeOff integer Hour to disappear

GTA IV

tobj
ModelName, TxdName, DrawDistance, Flags, Unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel, NightFlag
end
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 Flags integer Object flag
E unknown float Unknown integer (0 by default).
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.
Q ActiveHours integer Hours of the day where the model is active as a bit field. with the first bit being midnight and the 24th 11PM.

Statistics

Total number of tobj entries in:

GTA III: 24 (max 30)
Vice City: 342 (max 385)
San Andreas: 160
GTA IV: 1558