Difference between revisions of "Object.dat"
Jump to navigation
Jump to search
m |
m (Forgot to change FX info names too) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | ''' | + | <!-- I don't think {{file-stub}} applies anymore -->{{lowercase}} |
+ | The '''<code>object.dat</code>''' file is located in the <code>/data</code> directory of [[GTA III]], [[Vice City]], and [[San Andreas]], or the <code>/common/data</code> directory of [[GTA IV]]. It defines the physical aspects of objects defined in [[IDE]] files. | ||
− | {{file- | + | == Format == |
+ | {|class="wikitable center-col-1 center-col-2 center-col-3" style="width: 100%;" | ||
+ | !style="width: 3em;" |{{Icon|3}} {{Icon|VC}} | ||
+ | !style="width: 3em;" |{{Icon|SA}} | ||
+ | !style="width: 12em;" |Name in file | ||
+ | !style="width: 6em;" |Data type | ||
+ | !Description | ||
+ | |- | ||
+ | |colspan="2" |A ||Object name ||string || Object name. Maximum of 256 characters in length. | ||
+ | |- | ||
+ | |colspan="2" |B ||Mass ||float || 1 to 50000 inclusive. Unit is kilograms. | ||
+ | |- | ||
+ | |colspan="2" |C ||TurnMass ||float || The description within the file says ''kg m^3 or some such dimension'', but kg/m<sup>3</sup> is actually the [[Wikipedia:Kilogram per cubic metre|unit of density]]. However, kg/m<sup>2</sup> is the unit of [[Wikipedia:Moment of inertia|rotational inertia]], which is sometimes referred to as "rotational mass" (and could be what "TurnMass" is referring to). | ||
+ | |- | ||
+ | |colspan="2" |D ||Air Resistance ||float || Normalised between 1 and 0. 0 means complete air resistance, 1 means no air resistance. Most objects have a value of 0.99 for this attribute. | ||
+ | |- | ||
+ | |colspan="2" |E ||Elasticity ||float || How much the object bounces when it collides with something. Normalised. 0 is the least bouncy, 1 is the most. | ||
+ | |- | ||
+ | |colspan="2" |F ||Percent Submerged ||float || 10 to 120. Most objects have a value of 50.0 for this attribute. | ||
+ | |- | ||
+ | |colspan="2" |G ||Uproot Force ||float || The magnitude of the force vector that must be applied to the object to remove it from the ground. Possibly Newtons, but no units given. | ||
+ | |- | ||
+ | |colspan="2" |H ||Collision Damage Multiplier ||float || Controls how much damage a collision with this object should do to vehicles. "0.1 - 5.0 ish" according to the file. | ||
+ | |- | ||
+ | |colspan="2" |I ||Collision Damage Effect ||integer || What happens to the object when it is collided with. Values: | ||
− | + | :<code>0</code> = Nothing | |
− | [[Category: | + | :<code>1</code> = Changes model |
+ | |||
+ | :<code>20</code> = Smashes | ||
+ | |||
+ | :<code>21</code> = Changes model and then smashes | ||
+ | |||
+ | :<code>200</code> = Breaks | ||
+ | |||
+ | :<code>202</code> = Breaks and does not get regenerated when the area is reloaded | ||
+ | |||
+ | If either <code>200</code> or <code>202</code> is specified, extra breakable object information must be specified. | ||
+ | |||
+ | |- | ||
+ | |colspan="2" |J ||Special Collision Response Cases ||integer || Specifies if the game has a custom response for collisions with this object, and what the response should be if there is one. Values: | ||
+ | |||
+ | :<code>0</code> = Normal (no custom response) | ||
+ | |||
+ | :<code>1</code> = Lamp post | ||
+ | |||
+ | :<code>2</code> = Small box | ||
+ | |||
+ | :<code>3</code> = Big box (unused in the file) | ||
+ | |||
+ | :<code>4</code> = Fence section | ||
+ | |||
+ | :<code>5</code> = Grenade (unused in the file) | ||
+ | |||
+ | :<code>6</code> = Swinging door | ||
+ | |||
+ | :<code>7</code> = Locked door | ||
+ | |||
+ | :<code>8</code> = Hanging (like the punchbag in the gym) | ||
+ | |||
+ | :<code>9</code> = Pool ball | ||
+ | |||
+ | |- | ||
+ | |colspan="2" |K ||Camera to avoid this object ||integer || Boolean (written as 1 or 0, not true/false) that controls whether the camera should move around the object. | ||
+ | |- | ||
+ | | ||L ||{{a|c}} |Causes Explosion ||integer || If not 0, ''Name of FxSystem'' should be a valid effect name. 0 if no explosion effect should occur. | ||
+ | |- | ||
+ | | ||M ||{{a|c}} |Type of FxSystem ||integer ||When the explosion effect should be played. Values: | ||
+ | |||
+ | :<code>0</code> = No effect | ||
+ | |||
+ | :<code>1</code> = When hit | ||
+ | |||
+ | :<code>2</code> = When destroyed | ||
+ | |||
+ | :<code>3</code> = When either hit or destroyed (whichever is first) | ||
+ | |||
+ | |- | ||
+ | | ||N,O,P ||{{a|c}} |Offset of FxSystem ||float[3] ||3D vector. Offset of the effect system from the pivot of the object. If <code>x == -999.0</code>, the game plays the effect at the point of collision. | ||
+ | |- | ||
+ | | ||Q ||{{a|c}} |Name of FxSystem ||string || The name of the effect to play. If there is no effect, <code>none</code> should be used. (The file says it should be <code>noname</code>, but <code>none</code> is used instead. <code>noname</code> is never used.) | ||
+ | |- | ||
+ | |colspan="5" |<h3>Extra breakable object information</h3> | ||
+ | |- | ||
+ | | ||R ||{{a|c}} |Smash Multiplier ||float ||How much larger the force needed to smash an object should be than the force needed to break it. In code: | ||
+ | <code>smashForce = smashMultiplier * breakForce</code> | ||
+ | |||
+ | Smashing always takes precedence over breaking so if <code>smashForce == breakForce</code>, the object will smash and not break. | ||
+ | |||
+ | To prevent the object smashing, set a very large value so that it is impossible for the player to achieve the required smash force. | ||
+ | |- | ||
+ | | ||S ||{{a|c}} |Break Velocity X ||float ||Offset velocity on X axis. Offset values are added to the velocity from the impact after randomness is factored in. | ||
+ | |- | ||
+ | | ||T ||{{a|c}} |Break Velocity Y ||float ||Offset velocity on Y axis. | ||
+ | |- | ||
+ | | ||U ||{{a|c}} |Break Velocity Z ||float ||Offset velocity on Z axis. | ||
+ | |- | ||
+ | | ||V ||{{a|c}} |Break Velocity Rand ||float ||The maximum deviation from the velocity X/Y/Z values due to randomness. | ||
+ | |- | ||
+ | | ||W ||{{a|c}} |Gun Break Mode ||integer || Object behaviour when shot with a gun. Values: | ||
+ | |||
+ | :<code>0</code> = Immune to gun damage | ||
+ | |||
+ | :<code>1</code> = Breakable | ||
+ | |||
+ | :<code>2</code> = Smashable | ||
+ | |||
+ | |- | ||
+ | | ||X ||{{a|c}} |Produce Sparks on Impact ||integer ||Whether sparks are produced on impact (1) or not (0). | ||
+ | |} | ||
+ | |||
+ | [[Category:Map Formats]] | ||
+ | {{N|4|SA|VC|3}} |
Latest revision as of 14:13, 21 August 2020
The object.dat
file is located in the /data
directory of GTA III, Vice City, and San Andreas, or the /common/data
directory of GTA IV. It defines the physical aspects of objects defined in IDE files.
Format
Name in file | Data type | Description | ||
---|---|---|---|---|
A | Object name | string | Object name. Maximum of 256 characters in length. | |
B | Mass | float | 1 to 50000 inclusive. Unit is kilograms. | |
C | TurnMass | float | The description within the file says kg m^3 or some such dimension, but kg/m3 is actually the unit of density. However, kg/m2 is the unit of rotational inertia, which is sometimes referred to as "rotational mass" (and could be what "TurnMass" is referring to). | |
D | Air Resistance | float | Normalised between 1 and 0. 0 means complete air resistance, 1 means no air resistance. Most objects have a value of 0.99 for this attribute. | |
E | Elasticity | float | How much the object bounces when it collides with something. Normalised. 0 is the least bouncy, 1 is the most. | |
F | Percent Submerged | float | 10 to 120. Most objects have a value of 50.0 for this attribute. | |
G | Uproot Force | float | The magnitude of the force vector that must be applied to the object to remove it from the ground. Possibly Newtons, but no units given. | |
H | Collision Damage Multiplier | float | Controls how much damage a collision with this object should do to vehicles. "0.1 - 5.0 ish" according to the file. | |
I | Collision Damage Effect | integer | What happens to the object when it is collided with. Values:
If either | |
J | Special Collision Response Cases | integer | Specifies if the game has a custom response for collisions with this object, and what the response should be if there is one. Values:
| |
K | Camera to avoid this object | integer | Boolean (written as 1 or 0, not true/false) that controls whether the camera should move around the object. | |
L | Causes Explosion | integer | If not 0, Name of FxSystem should be a valid effect name. 0 if no explosion effect should occur. | |
M | Type of FxSystem | integer | When the explosion effect should be played. Values:
| |
N,O,P | Offset of FxSystem | float[3] | 3D vector. Offset of the effect system from the pivot of the object. If x == -999.0 , the game plays the effect at the point of collision.
| |
Q | Name of FxSystem | string | The name of the effect to play. If there is no effect, none should be used. (The file says it should be noname , but none is used instead. noname is never used.)
| |
Extra breakable object information | ||||
R | Smash Multiplier | float | How much larger the force needed to smash an object should be than the force needed to break it. In code:
Smashing always takes precedence over breaking so if To prevent the object smashing, set a very large value so that it is impossible for the player to achieve the required smash force. | |
S | Break Velocity X | float | Offset velocity on X axis. Offset values are added to the velocity from the impact after randomness is factored in. | |
T | Break Velocity Y | float | Offset velocity on Y axis. | |
U | Break Velocity Z | float | Offset velocity on Z axis. | |
V | Break Velocity Rand | float | The maximum deviation from the velocity X/Y/Z values due to randomness. | |
W | Gun Break Mode | integer | Object behaviour when shot with a gun. Values:
| |
X | Produce Sparks on Impact | integer | Whether sparks are produced on impact (1) or not (0). |
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 |