Difference between revisions of "OBJS"
(Less RW-specific language (thought it was supposed to be atomic not clump)) |
(updating styles + some info) |
||
Line 8: | Line 8: | ||
* [[ANIM]] which links an animation to an object. | * [[ANIM]] which links an animation to an object. | ||
* [[TANM]] which does both of the previously mentioned sections. | * [[TANM]] which does both of the previously mentioned sections. | ||
− | |||
== Format == | == Format == | ||
=== GTA III, Vice City and San Andreas === | === GTA III, Vice City and San Andreas === | ||
+ | objs | ||
+ | # [[#Type 1|type 1]] | ||
+ | ID, ModelName, TextureName, MeshCount, DrawDistance, Flags | ||
+ | # [[#Type 2|type 2]] | ||
+ | ID, ModelName, TextureName, MeshCount, DrawDistance1, DrawDistance2, Flags | ||
+ | # [[#Type 3|type 3]] | ||
+ | ID, ModelName, TextureName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags | ||
+ | end | ||
+ | |||
+ | ====Type 0==== | ||
+ | This type should never be used but it is still considered valid. It is documented here for sake of completion. | ||
+ | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" | ||
+ | ! style="width: 4em;"| {{Icon|trilogy}} | ||
+ | ! style="width: 12em;"| Identifier | ||
+ | ! style="width: 6em;" | Type | ||
+ | ! Description | ||
+ | |- | ||
+ | | A || ID || integer || Unique object ID. | ||
+ | |- | ||
+ | | B || ModelName || string || Name of the <code>.dff</code> [[model file]] without extension. | ||
+ | |- | ||
+ | | C || TextureName || string || Name of the <code>.txd</code> [[texture dictionary]] without extension. | ||
+ | |- | ||
+ | | D || ''unknown'' || integer || ''unknown'' | ||
+ | |} | ||
+ | |||
====Type 1==== | ====Type 1==== | ||
This is used for non-breakable objects. | This is used for non-breakable objects. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
− | ! | + | ! style="width: 4em;"| {{Icon|trilogy}} |
− | ! | + | ! style="width: 12em;"| Identifier |
− | ! | + | ! style="width: 6em;" | Type |
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || Unique object ID. |
|- | |- | ||
− | | | + | | B || ModelName || string || Name of the <code>.dff</code> [[model file]] without extension. |
|- | |- | ||
− | | | + | | C || TextureName || string || Name of the <code>.txd</code> [[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 || Object flags (see [[#Object flags|below]]). |
|} | |} | ||
====Type 2==== | ====Type 2==== | ||
This is used for breakable objects. | This is used for breakable objects. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
− | ! | + | ! style="width: 4em;"| {{Icon|trilogy}} |
− | ! | + | ! style="width: 12em;"| Identifier |
− | ! | + | ! style="width: 6em;" | Type |
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || Unique object ID. |
|- | |- | ||
− | | | + | | B || ModelName || string || Name of the <code>.dff</code> [[model file]] without extension. |
|- | |- | ||
− | | | + | | C || TextureName || string || Name of the <code>.txd</code> [[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 || Object flags (see [[#Object flags|below]]). |
|} | |} | ||
====Type 3==== | ====Type 3==== | ||
This is used for complex breakable objects. | This is used for complex breakable objects. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
− | ! | + | ! style="width: 4em;"| {{Icon|trilogy}} |
− | ! | + | ! style="width: 12em;"| Identifier |
− | ! | + | ! style="width: 6em;" | Type |
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || Unique object ID. |
|- | |- | ||
− | | | + | | B || ModelName || string || Name of the <code>.dff</code> [[model file]] without extension. |
|- | |- | ||
− | | | + | | C || TextureName || string || Name of the <code>.txd</code> [[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 [[unit]]s (one for each mesh, only the first is actually used). |
|- | |- | ||
− | | | + | | H || Flags || integer || Object flags (see [[#Object flags|below]]). |
|} | |} | ||
====Type 4==== | ====Type 4==== | ||
This is used for non-breakable objects and is equivalent to the first type. | This is used for non-breakable objects and is equivalent to the first type. | ||
− | {| | + | {|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 | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || Unique object ID. |
|- | |- | ||
− | | | + | | B || ModelName || string || Name of the <code>.dff</code> [[model file]] without extension. |
|- | |- | ||
− | | | + | | C || TextureName || string || Name of the <code>.txd</code> [[texture dictionary]] without extension. |
|- | |- | ||
− | | | + | | D || DrawDistance || float || [[Draw distance]] in [[unit]]s. |
|- | |- | ||
− | | | + | | E || Flags || integer || Object flags (see [[#Object flags|below]]). |
|} | |} | ||
=== GTA IV === | === GTA IV === | ||
==== Type 1 ==== | ==== Type 1 ==== | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
− | ! | + | ! style="width: 3em;"| {{Icon|4}} |
− | ! | + | ! style="width: 12em;"| Identifier |
− | ! | + | ! style="width: 6em;" | Type |
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ModelName || string || Name of the <code>[[WDR|.wdr]]</code> model file without extension. |
|- | |- | ||
− | | | + | | B || TextureName || string || Name of the <code>[[WTD|.wtd]]</code> texture dictionary without extension. |
|- | |- | ||
− | | | + | | C || DrawDistance || float || Draw distance in units. |
|- | |- | ||
− | | | + | | D || Flag1 || integer || Object flag (see [[#Object flags|below]]). |
|- | |- | ||
− | | | + | | 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[3] || Radius of the bounding sphere into all dimensions. |
|- | |- | ||
− | | | + | | P || LODModel || string || Name of the <code>[[WDD|.wdd]]</code> file that contains the ''lod model'' for the defined modelname; otherwise ''null''. |
|} | |} | ||
Line 130: | Line 155: | ||
== Statistics == | == Statistics == | ||
Total number of OBJS entries in: | Total number of OBJS 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 152: | Line 177: | ||
* [[TANM]] | * [[TANM]] | ||
− | + | {{N|4|SA|VC|3}} | |
− | {{N|4|SA|VC}} |
Revision as of 20:57, 3 August 2015
Supported games: | GTA III, GTA VC, GTA SA, GTA IV | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Brief description: | Used to define standard map objects | |||||||||||||||
IDE Sections:
|
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.
Contents
Format
GTA III, Vice City and San Andreas
objs # type 1 ID, ModelName, TextureName, MeshCount, DrawDistance, Flags # type 2 ID, ModelName, TextureName, MeshCount, DrawDistance1, DrawDistance2, Flags # type 3 ID, ModelName, TextureName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags end
Type 0
This type should never be used but it is still considered valid. It is documented here for sake of completion.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | Unique object ID. |
B | ModelName | string | Name of the .dff model file without extension.
|
C | TextureName | string | Name of the .txd texture dictionary without extension.
|
D | unknown | integer | unknown |
Type 1
This is used for non-breakable objects.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | Unique object ID. |
B | ModelName | string | Name of the .dff model file without extension.
|
C | TextureName | string | Name of the .txd 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 (see below). |
Type 2
This is used for breakable objects.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | Unique object ID. |
B | ModelName | string | Name of the .dff model file without extension.
|
C | TextureName | string | Name of the .txd 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 (see below). |
Type 3
This is used for complex breakable objects.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | Unique object ID. |
B | ModelName | string | Name of the .dff model file without extension.
|
C | TextureName | string | Name of the .txd 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 (see below). |
Type 4
This is used for non-breakable objects and is equivalent to the first type.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | Unique object ID. |
B | ModelName | string | Name of the .dff model file without extension.
|
C | TextureName | string | Name of the .txd texture dictionary without extension.
|
D | DrawDistance | float | Draw distance in units. |
E | Flags | integer | Object flags (see below). |
GTA IV
Type 1
Identifier | Type | Description | |
---|---|---|---|
A | ModelName | string | Name of the .wdr model file without extension.
|
B | TextureName | string | Name of the .wtd texture dictionary without extension.
|
C | DrawDistance | float | Draw distance in units. |
D | Flag1 | integer | Object flag (see below). |
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[3] | 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.
Object flags
Flags are used to specify the behaviour of objects. They are signed 32-bit integer values where each bit describes a boolean value of an special aspect.
Flag | Supported games | Binary | Description |
---|---|---|---|
-1 | – | 1111 1111 1111 1111 1111 1111 |
Enables all flags.[a] Never used by default. |
1 | 0000 0000 0000 0000 0000 0001 |
Wet effect (objects appear darker). | |
2 | 0000 0000 0000 0000 0000 0010 |
Do not fade the object when it is being loaded into or out of view. | |
4 | 0000 0000 0000 0000 0000 0100 |
Allow transparencies of other objects to be visible through this object. | |
8 | 0000 0000 0000 0000 0000 1000 |
Alpha transparency 2 | |
16 | 0000 0000 0000 0000 0001 0000 |
Opposite to flag 2 | |
32 | 0000 0000 0000 0000 0010 0000 |
Indicates an object to be used inside an interior. | |
64 | 0000 0000 0000 0000 0100 0000 |
Disables the shadow mesh to project a shadow; allow transparencies of other objects, shadows, and lights to be visible through this object. | |
128 | 0000 0000 0000 0000 1000 0000 |
Object surface will not be culled. | |
256 | 0000 0000 0000 0001 0000 0000 |
Disables draw distance (Only used for LOD objects with an LOD value greater than 299). | |
512 | 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 | 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 | 0000 0000 0000 1000 0000 0000 |
Indicates an object as an garage door (for more information see GRGE – requires object.dat registration). | |
4096 | 0000 0000 0001 0000 0000 0000 |
Indicates a multi mesh object (Object switches from mesh 2 to mesh 1 after collision – requires object.dat registration). | |
16384 | 0000 0000 0100 0000 0000 0000 |
Indicates a vegetation object (Object moves in wind). | |
32768 | 0000 0000 1000 0000 0000 0000 |
Uses object brightness from the current weather definition (See timecyc.dat – PoleShd). | |
65536 | 0000 0001 0000 0000 0000 0000 |
Object explodes after getting hit (requires object.dat registration). | |
131072 | 0000 0010 0000 0000 0000 0000 |
Unknown – apparently some flag for the Script. | |
262144 | 0000 0100 0000 0000 0000 0000 |
Unknown – only used 1 time in San Andreas. | |
1048576 | 0000 1000 0000 0000 0000 0000 |
Object will switch from mesh 2 to mesh 1 after getting sprayed by the player (graffity flag). | |
2097152 | 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 | 0010 0000 0000 0000 0000 0000 |
Unknown – apparently related into physics. | |
edit |
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
See also
Grand Theft Auto IV | |
---|---|
File Formats | .dat • .gxt • .ide • .img • .ipl • .nod • .sco • .rpf • .rrr • .wad • .wbd/.wbn • .wdd • .wdr • .wft • .whm • .wpl • .wtd |
Documentation | Audio • Bink Video • Cryptography • Cutscenes • GXT Text • Image listing • Keycodes • Map Listing • Native functions • Paths • Radar Blips • Radio Stations • Saves • Scenarios • VTable • Weapons |
Tools | ASI Loader • ENBSeries • G-Texture • GIMS IV • Ingame WPL Editor • IV Needle • OpenIV • SparkIV • XLiveLess • WPL Manager • X Mod Installer Alice • C++ Script Hook • .NET Script Hook • Scocl |
Tutorials | Importing Textures with OpenIV • Importing Textures with SparkIV |
Modifications | GTA Connected • Gostown IV • Four Multiplayer • IV Multiplayer • CitizenMP:IV Reloaded |
Useful links | Community portal • Discussion forums • Modding forums • Mods on GTAGarage.com |