2DFX: Difference between revisions

6,335 bytes added ,  21 July 2018
m
no edit summary
No edit summary
mNo edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{This|This article describes the usage of the 2dfx section inside a plain text [[IDE]]. For the [[List of RW section IDs|RW Section]] of models see [[2dfx (RW Section)]]}}
{{Research}}
{{IdeSection
{{IdeSection
| game        = [[GTA III]], [[GTA VC]]
|game        = {{Icon|3}} {{Icon|vc}} {{Icon|4}}
| description = Used to place 2D effects and ped behaviors on objects
|description = Adds 2D effects and ped behaviors on objects
}}
}}
'''2DFX''' is a section in the [[IDE|item definition]] file. It is used to place 2D effects (like lights and particles) and ped behaviors on objects. This section is somewhat unique compared to other sections because it needs to be attached to an existing object rather than defining itself. If too much effects are loaded or drawn in the game, some of the effects will load in and out or won't appear at all.
'''<code>2dfx</code>''' is a section in the [[Item Definition|item definition]] file in [[Grand Theft Auto III]], [[Grand Theft Auto: Vice City]], and [[Grand Theft Auto IV]]. It is used to add 2D effects (like lights and particles) and [[Pedestrians|ped]] behaviors on objects. This section is somewhat unique compared to other sections because it needs to be attached to an existing object rather than defining itself. If too many effects are loaded or drawn in the game, some of the effects will pop in and out or won't appear at all.


==GTA III - Vice City==
== GTA III and GTA Vice City ==
===Type 0: Lights===
{{Pre|
2dfx
# [[#Type 0: Lights|type 0: lights]] (III/VC)
Id, X, Y, Z, R, G, B, unknown, Type, "Corona", "Shadow", Distance, OuterRange, Size, InnerRange, ShadowIntensity, Flash, Wet, Flare, Flags
# [[#Type 1: Particles|type 1: particles]] (III/VC)
Id, X, Y, Z, R, G, B, unknown, Type, Particle, StrengthX, StrengthY, StrengthZ, Scale
# [[#Type 2|type 2]] (III/VC)
Id, X, Y, Z, R, G, B, unknown, Type, unknown, unk1, unk2, unk3, unknown
# [[#Type 3: Peds|type 3: peds]] (VC)
Id, X, Y, Z, R, G, B, unknown, Type, Behavior, unk1, unk2, unk3, RotX, RotY, RotZ
# [[#Type 4: Sun Reflections|type 4: sun reflections]] (VC)
Id, X, Y, Z, R, G, B, unknown, Type
end
}}
 
=== Type 0: Lights ===
This can create a complex light source on an object. If the object has a sub object, the light will disappear when the main object changes into the sub object (like when lampposts are knocked).
This can create a complex light source on an object. If the object has a sub object, the light will disappear when the main object changes into the sub object (like when lampposts are knocked).
ID, X, Y, Z, R, G, B, unknown (0 or 200), 0, Corona, Shadow, Distance, Outer range, Size, Inner range, IDE flag, Flash, Wet, Flare, Dust


{|{{Prettytable}} width="100%"
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!width="250px"|Identifier
!style="width: 3em;" |{{Icon|3}} {{Icon|vc}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
!Description
|-
|-
|<center>ID</center>||associated to existing object ID defined in [[OBJS]] or [[TOBJ]] section
|A ||Id ||integer ||associated to existing model index defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E,F,G ||R, G, B ||integer[3] ||color of the light and everything associated with it in RGB format, also affects the intensity of the light so that darker the color the dimmer the light (meaning black (0,0,0) will yield a light so dim that it's not visible)
|-
|-
|<center>X, Y, Z</center>||X, Y, and Z coordinates relative to the center of the object
|H ||''unknown'' ||integer ||usually 0 or 200
|-
|-
|<center>R, G, B</center>||color of the light and everything associated with it in RGB format, also affects the intensity of the light so that darker the color the dimmer the light (meaning black (0,0,0) will yield a light so dim that it's not visible)
|I ||Type ||integer ||always 0 for lights
|-
|-
|<center>Corona</center>||corona texture associated to the light, texture defined in <code>particle.txd</code>, usually "coronastar" for lights
|J ||Corona ||string ||corona texture associated to the light, texture defined in <code>particle.txd</code>, usually "coronastar" for lights; string must be enclosed with double quotes
|-
|-
|<center>Shadow</center>||light texture that is cast on the ground, texture defined in <code>particle.txd</code>, usually "shad_exp" for lights
|K ||Shadow ||string ||light texture that is cast on the ground, texture defined in <code>particle.txd</code>, usually "shad_exp" for lights; string must be enclosed with double quotes
|-
|-
|<center>Distance</center>||view distance of the light, is limited by the draw distance of the host object
|L ||Distance ||float ||view distance of the light, is limited by the draw distance of the host object
|-
|-
|<center>Outer range</center>||the range the light can cast on objects, cars, and peds
|M ||OuterRange ||float ||the range the light can cast on objects, cars, and peds
|-
|-
|<center>Size</center>||the size of the corona, can be a float or integer, size 0 means no visible corona but effect of light still visible
|N ||Size ||float ||the size of the corona, can be a float or integer, size 0 means no visible corona but effect of light still visible
|-
|-
|<center>Inner range</center>||the range the light can cast on the ground
|O ||InnerRange ||float ||the range the light can cast on the ground (shadow)
|-
|-
|<center>IDE flag</center>||[[OBJS#Object_Flags|IDE flag]], only the time-dependent flags are useable
|P ||ShadowIntensity ||integer ||shadow intensity (0 - 255), usually 40
|-
|-
|<center>Flash</center>||sets the type of flashing ([[2DFX#Types of Flashes|see below]])
|Q ||Flash ||integer ||sets the type of flashing ([[#Types of Flashes|see below]])
|-
|-
|<center>Wet</center>||sets the particle to be "reflective" on wet grounds, will only work if the ground around the light is set to wet when raining<br>0 - not reflective when wet, 1 - reflective when wet
|R ||Wet ||integer ||sets the particle to be "reflective" on wet grounds, will only work if the ground around the light is set to wet when raining<br>0 - not reflective when wet, 1 - reflective when wet
|-
|-
|<center>Flare</center>||sets the particle to create a lens flare on the screen, similar to what the sun does<br>0 - no lens flare, 1 - lens flare effect
|S ||Flare ||integer ||sets the particle to create a lens flare on the screen, similar to what the sun does<br>0 - no lens flare, 1 - yellow lens flare, 2 - white lens flare
|-
|-
|<center>Dust</center>||sets the intensity of light reflecting off dust, values 4 to 7 have visible effects
|T ||Flags ||integer ||bit 0 - disable z-test for corona, bits 1-2 - fog (dust) type
|}
|}


====Types of Flashes====
====Types of Flashes====
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
{|class="wikitable center-col-1"
| 0
!{{Icon|3}} ||{{Icon|vc}} ||Description
| constantly lit all time
|-
|colspan="2" |0 ||constantly lit all time
|-
|colspan="2" |1 ||constantly lit at night
|-
|colspan="2" |2 ||occasional flicker all time
|-
|-
| 1
|colspan="2" |3 ||occasional flicker at night
| constantly lit at night
|-
|-
| 2
|colspan="2" |4 ||1.02 seconds flashes
| occasional flicker all time
|-
|-
| 3
|colspan="2" |5 ||1.02 seconds flashes at night
| occasional flicker at night
|-
|-
| 4
|colspan="2" |6 ||2.04 seconds flashes
| ~1 second flashes
|-
|-
| 5
|colspan="2" |7 ||2.04 seconds flashes at night
| ~1 second flashes at night
|-
|-
| 6
|colspan="2" |8 ||4.08 seconds flashes
| ~2 seconds flashes
|-
|-
| 7
|colspan="2" |9 ||4.08 seconds flashes at night
| ~2 seconds flashes at night
|-
|-
| 8
|colspan="2" |10 ||random flicker
| ~3 seconds flashes
|-
|-
| 9
|colspan="2" |11 ||random flicker at night
| ~3 seconds flashes at night
|-
|-
| 10
|colspan="2" |12 ||hardcoded traffic lights properties
| random flicker
|-
|-
| 11
| - ||13 ||1.02 seconds flashes only during [[Shoreside Lift Bridge|lift bridge]]'s alarm
| random flicker at night
|-
|-
| 12
| - ||14 ||unused, flashes only during lift bridge's alarm
| hardcoded traffic lights properties
|}
|}
Type 12 is involved in hardcoded properties of traffic lights. It is mainly used to position the lights on the traffic light. A traffic light without a 2DFX entry will crash the game when the traffic light is loading.
All night flashes occur between 19:00 and 7:00. Type 12 is involved in hardcoded properties of traffic lights. It is mainly used to position the lights on the traffic light. A traffic light without a 2DFX entry will crash the game when the traffic light is loading.


===Type 1: Particles===
===Type 1: Particles===
This can create simple particles on an object
This can create simple particles on an object
ID, X, Y, Z, R, G, B, unknown (63 or 200), 1, Particle, unk1, unk2, unk3, Size


{|{{Prettytable}} width="100%"
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!width="250px"|Identifier
!style="width: 3em;" |{{Icon|3}} {{Icon|vc}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
!Description
|-
|-
|<center>ID</center>||associated to existing object ID defined in [[OBJS]] or [[TOBJ]] section
|A ||Id ||integer ||associated to existing model index defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E,F,G ||R, G, B ||integer[3] ||useless values
|-
|-
|<center>X, Y, Z</center>||X, Y, and Z coordinates relative to the center of the object
|H ||''unknown'' ||integer ||usually 63 or 200
|-
|-
|<center>R, G, B</center>||useless values
|I ||Type ||integer ||always 1 for particles
|-
|-
|<center>Particle</center>||particle type ([[2DFX#Types of Particles|see below]])
|J ||Particle ||integer ||particle type ([[#Types of Particles|see below]])
|-
|-
|<center>unk1, unk2, unk3</center>||unknown, rotation of particle?
|K,L,M ||StrengthX, StrengthY, StrengthZ ||float[3] ||X, Y, and Z strength representing the direction and length of movement of the particle
|-
|-
|<center>Size</center>||the size of the particle
|N ||Scale ||float ||scale of the particle
|}
|}


====Types of Particles====
====Types of Particles====
[http://spaceeinstein.wikispaces.com/file/view/2dfx_particles.png/106044279/2dfx_particles.png Image link] - Ordered from 6 to 0 from left to right, all size is 1 with Tommy at the bottom for comparison
{|class="wikitable center-col-1"
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
!{{Icon|3}} ||{{Icon|vc}} ||Name ||Description
| 0
|-
| small white smoke
|colspan="2" |0 ||POBJECT_<wbr>PAVEMENT_<wbr>STEAM ||small white smoke
|-
|-
| 1
|colspan="2" |1 ||POBJECT_<wbr>WALL_<wbr>STEAM ||small white smoke
| medium white smoke
|-
|-
| 2
|colspan="2" |2 ||POBJECT_<wbr>DRY_<wbr>ICE ||larger white smoke
| large white smoke
|-
|-
| 3
|colspan="2" |3 ||POBJECT_<wbr>SMALL_<wbr>FIRE ||fire (start new game to see)
| fire (it doesn't burn)
|-
|-
| 4
|colspan="2" |4 ||POBJECT_<wbr>DARK_<wbr>SMOKE ||black smoke
| black smoke
|-
|-
| 5
| - || style="text-align: center;" |5 ||POBJECT_<wbr>WATER_<wbr>FOUNTAIN_<wbr>VERT ||water fountain (will spray water droplets on the screen)
| water fountain (Vice City only, will spray water droplets on the screen)
|-
|-
| 6
| - || style="text-align: center;" |6 ||POBJECT_<wbr>WATER_<wbr>FOUNTAIN_<wbr>HORIZ ||water spray (will spray water droplets on the screen)
| water spray (Vice City only, will spray water droplets on the screen)
|}
|}


===Type 2===
===Type 2===
It is unknown what this type does. This type is only used in GTA III.
This causes peds to investigate interesting spots.<ref>[https://www.youtube.com/watch?v=zcQvqQlIYTM Video demonstration of type 2], by Nick007J</ref> This type was never used in GTA Vice City but it can be used.
ID, X, Y, Z, R, G, B, unknown (63 or 200), 2, unk1, unk2, unk3, unk4, unk5
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!style="width: 3em;" |{{Icon|3}} {{Icon|vc}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
|-
|A ||Id ||integer ||
|-
|B,C,D ||X, Y, Z ||float[3] ||
|-
|E,F,G ||R, G, B ||integer[3] ||
|-
|H ||''unknown'' ||integer ||usually 63 or 200
|-
|I ||Type ||integer ||always 2
|-
|J ||''unknown'' ||integer ||
|-
|K,L,M ||''unk1'', ''unk2'', ''unk3'' ||float[3] ||
|-
|N ||''unknown'' ||integer ||
|}


===Type 3: Peds===
===Type 3: Peds===
This can make a ped have simple behaviors around the object. This type is only available in Vice City.
This can make a ped have simple behaviors around the object.
ID, X, Y, Z, R, G, B, unknown (200), 3, Behavior, unk1, unk2, unk3, RotX, RotY, RotZ


{|{{Prettytable}} width="100%"
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!width="250px"|Identifier
!style="width: 3em;" |{{Icon|vc}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
!Description
|-
|-
|<center>ID</center>||associated to existing object ID defined in [[OBJS]] or [[TOBJ]] section
|A ||Id ||integer ||associated to existing model index defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|-
|<center>X, Y, Z</center>||X, Y, and Z coordinates relative to the center of the object
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|-
|<center>R, G, B</center>||useless values
|E,F,G ||R, G, B ||integer[3] ||useless values
|-
|-
|<center>Behavior</center>||behavior type ([[2DFX#Types of Behaviors|see below]])
|H ||''unknown'' ||integer ||usually 0 or 200
|-
|-
|<center>unk1, unk2, unk3</center>||unknown, useless values?
|I ||Type ||integer ||always 3 for peds
|-
|-
|<center>RotX, RotY, RotZ</center>||rotation of ped when animation is playing
|J ||Behavior ||integer ||behavior type ([[#Types of Behaviors|see below]])
|-
|K,L,M ||''unk1'', ''unk2'', ''unk3'' ||float[3] ||unknown, useless values?
|-
|N,O,P ||RotX, RotY, RotZ ||float[3] ||rotation of ped when animation is playing
|}
|}


====Types of Behaviors====
====Types of Behaviors====
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
{|class="wikitable center-col-1"
| 0
!{{Icon|vc}} ||Description
| walks to the coordinates to use an ATM then walks away
|-
|-
| 1
|0 ||walks to the coordinates to use an ATM then walks away
| walks to the coordinates to sit down for a while then stand back up and walks away
|-
|-
| 2
|1 ||walks to the coordinates to sit down for a while then stand back up and walks away
| walks to the coordinates to wait for a bus; additional peds will line up behind each other
|-
|-
| 3
|2 ||walks to the coordinates to wait for a [[Coach|bus]]; additional peds will line up behind each other
| walks to the coordinates, stands for a very short while, then leave (like window shopping)
|-
|-
| 4
|3 ||walks to the coordinates, stands for a very short while, then leave (like window shopping)
| unknown, used in game
|-
|4 ||runs to shelter from rain<ref>[https://www.youtube.com/watch?v=DjEPUpccqx0 Video demonstration of type 3, behavior 4], by Nick007J</ref>
|}
|}


===Type 4: Sun Reflections===
===Type 4: Sun Reflections===
This can create a sun "reflection" exactly and behaving like the ones seen on cars. This type is only available in Vice City.
This can create a sun "reflection" exactly and behaving like the ones seen on cars.
ID, X, Y, Z, R, G, B, unknown (120), 4
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!style="width: 3em;" |{{Icon|vc}}
!style="width: 12em;" |Identifier
!style="width: 6em;" |Type
!Description
|-
|A ||Id ||integer ||associated to existing model index defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E,F,G ||R, G, B ||integer[3] ||useless values
|-
|H ||''unknown'' ||integer ||usually 120
|-
|I ||Type ||integer ||always 4 for sun reflections
|}
 
== GTA IV ==
GTA IV 2DFX Category doesn't have all Types description. More description about 2dfx types will be added later.
 
=== Type 0: Lights ===
 
Type ''Lights'' ignore by the game. GTA IV using light in .wdr/wft models
 
=== Type 1: Particles ===
{|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
|-
|A ||Id ||string ||associated to existing model name defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E ||Type ||integer ||always 1
|-
|F,G,H,I ||RX, RY, RZ, RW ||float[4] ||Rotation in quaternion
|-
|J ||Name ||string ||particle name, defined in <code>common\data\effects\</code>
|-
|K || ||integer ||stages of destruction? (between 0 and 4)
|-
|L || ||integer ||?
|-
|M ||Size ||float ||size of particle
|-
|N ||Draw distance ||integer ||draw distance
|-
|O || ||integer ||? (between 0 and 5)
|-
|P,Q,R ||Color ||integer[3] ||RGB color when applicable
|}


{|{{Prettytable}} width="100%"
=== Type 2: Explosion ===
!width="250px"|Identifier
{|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
|-
|-
|<center>ID</center>||associated to existing object ID defined in [[OBJS]] or [[TOBJ]] section
|A ||Id ||string ||associated to existing model name defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E ||Type ||integer ||always 2
|-
|F,G,H,I ||RX, RY, RZ, RW ||float[4] ||rotation in quaternion
|-
|J || ||integer ||
|-
|K || ||integer  ||
|-
|-
|<center>X, Y, Z</center>||X, Y, and Z coordinates relative to the center of the object
|L || ||integer ||
|-
|-
|<center>R, G, B</center>||useless values
|M || ||integer ||
|}{{fdl}}
|}
 
=== Type 10: Escalator ===
 
GTA SA Using Escalator attribute in .dff models, GTA IV has the Escalator Attribute too, but all parameters are unknown and possible section maybe call the game crash.
 
=== Type 12: Proc Object ===
 
=== Type 13: WorldPoint ===
 
=== Type 14: Ladder ===
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
!width="40px"|{{Icon|4}}
!style="width: 12em;"|Identifier
!style="width: 6em;" |Type
!Description
|-
|A ||Name ||string ||Model name, who using Ladder Section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates
|-
|E ||Type ||Integer ||This is 2DFX Type. Always use the value 14 for Ladder
|-
|F,G,H,I ||RX, RY, RZ, RW ||float[4] ||Rotation in quaternion
|-
|J,K,L ||StartX,StartY,StartZ ||float[3] ||Start Ladder Position (When player start to climb)
|-
|M,N,O ||EndX,EndY,EndZ ||float[3] ||End Ladder Position (When player finished to climb)
|-
|P,Q,R ||ClimbDirectionX, ClimbDirectionY, ClimbDirectionZ ||float[3] ||Climb Direction Position
|-
|S ||Flag ||Integer ||Unknown Flag, Always(?) using value 1
|}
 
=== Type 15: Audio ===
 
=== Type 17: SpawnPoint ===
{|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
|-
|A ||Id ||string ||associated to existing model name defined in <code>[[OBJS|objs]]</code> or <code>[[TOBJ|tobj]]</code> section
|-
|B,C,D ||X, Y, Z ||float[3] ||X, Y, and Z coordinates relative to the center of the object
|-
|E ||Type ||integer ||Always 17
|-
|F,G,H,I ||RX, RY, RZ, RW ||float[4] ||Rotation in quaternion
|-
|J,K,L,M ||||integer[4] ||Flags
|}
 
=== Type 18: LightShaft ===
 
=== Type 19: ScrollBar ===
 
=== Type 21: SwayableAttr ===
 
=== Type 22: BouyancyAttr ===
 
=== Type 23: WalkDontWalkAttr ===
 
== Statistics ==
Total number of <code>2dfx</code> entries in:
:GTA III: 927 (max 2000)
::Type 0: 859
::Type 1: 53
::Type 2: 15
 
:GTA Vice City: 1069 (max 1210)
::Type 0: 834
::Type 1: 63
::Type 2: 0
::Type 3: 162
::Type 4: 10
 
:GTA IV: 17043
::Type 0: 13831
::Type 1: 2385
::Type 2: 23
::Type 12: 60
::Type 14: 103
::Type 15: 246
::Type 17: 117
::Type 18: 204
::Type 19: 34
::Type 21: 11
::Type 22: 10
::Type 23: 19
 
== References ==
<references />
 
{{fdl}}
{{3-navi}}
{{VC-navi}}
12,236

edits