TOBJ: Difference between revisions

3,118 bytes added ,  21 July 2018
m
no edit summary
m (Completing import, removed: {{N|4|SA}})
mNo edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{IdeSection
{{IdeSection
| game        = [[GTA III]], [[GTA VC]], [[GTA SA]], [[GTA IV]]
|game        = {{Icon|t}} {{Icon|4}}
| description = Used to define timed map objects
|description = Defines time 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|item definition]] file in [[Grand Theft Auto III]], [[Grand Theft Auto: Vice City]], [[Grand Theft Auto: San Andreas]], and [[Grand Theft Auto 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</code> section. Most, if not all, time objects use the [[Item Definition#IDE Flags|object flag 2 (DO_NOT_FADE)]] 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, GTA Vice City, and GTA San Andreas ===
===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)
{|{{subst:Prettytable}} width="100%"
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags, TimeOn, TimeOff
!width="250px"|Identifier
# [[#Type 2|type 2]] (III/VC/SA)
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags, TimeOn, TimeOff
# [[#Type 3|type 3]] (III/VC/SA)
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: 4em;" |{{Icon|t}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
|-
|A ||Id ||integer ||Unique object identifier.
|-
|B ||ModelName ||string ||Name of the <code>.dff</code> model file without extension.
|-
|C ||TxdName ||string ||Name of the <code>.txd</code> [[Texture Archive|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: 4em;" |{{Icon|t}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
|-
|A ||Id ||integer ||Unique object identifier.
|-
|B ||ModelName ||string ||Name of the <code>.dff</code> model file without extension.
|-
|C ||TxdName ||string ||Name of the <code>.txd</code> [[Texture Archive|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: 4em;" |{{Icon|t}}
!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 <code>.dff</code> model file without extension.
|-
|-
|<center>TextureName</center>||name of the .txd [[texture dictionary]], without extension (string)
|C ||TxdName ||string ||Name of the <code>.txd</code> [[Texture Archive|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 <code>.dff</code> model file without extension.
|-
|C ||TxdName ||string ||Name of the <code>.txd</code> [[Texture Archive|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
}}


{|{{subst: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 ||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</code> file that contains the ''lod model'' for the defined modelname.
|-
|-
|<center>NightFlag</center>||assumed to be hardcoded time flags
|Q ||NightFlag||integer ||If enabled (1) the object only shows at nighttime, otherwise the object gets only rendered at daytime. Day- and nighttimes are hardcoded.
|}
|}


[[Category:GTA 3]][[Category:GTA VC]]
== Statistics ==
Total number of <code>tobj</code> entries in:
:GTA III: 24 (max 30)
:GTA Vice City: 342 (max 385)
:GTA San Andreas: 160
 
{{fdl}}
{{fdl}}
[[Category:Modifications]]
{{3-navi}}
{{VC-navi}}
12,236

edits