Difference between revisions of "2DFX"
m (Distinguished 2d Effect RW section from 2DFX IPL section.) |
(updating styles + particle names) |
||
Line 5: | Line 5: | ||
| description = Used to place 2D effects and ped behaviors on objects | | description = Used to place 2D effects and ped behaviors on objects | ||
}} | }} | ||
− | '''2DFX''' is a section in the [[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 | + | '''2DFX''' is a section in the [[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 many effects are loaded or drawn in the game, some of the effects will load in and out or won't appear at all. |
== GTA III and Vice City == | == GTA III and Vice City == | ||
Line 11: | Line 11: | ||
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). | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|3}} {{Icon|VC}} | ! width="36px"| {{Icon|3}} {{Icon|VC}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 17: | Line 17: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || associated to existing object ID defined in [[OBJS]] or [[TOBJ]] 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) |
|- | |- | ||
− | | | + | | H || ''unknown'' || integer || usually 0 or 200 |
|- | |- | ||
− | | | + | | I || 2DFX type || integer || always 0 for lights |
|- | |- | ||
− | | | + | | J || Corona || string || corona texture associated to the light, texture defined in <code>particle.txd</code>, usually "coronastar" 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 |
|- | |- | ||
− | | | + | | L || Distance || float || view distance of the light, is limited by the draw distance of the host object |
|- | |- | ||
− | | | + | | M || Outer range || float || the range the light can cast on objects, cars, and peds |
|- | |- | ||
− | | | + | | 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 |
|- | |- | ||
− | | | + | | O || Inner range || float || the range the light can cast on the ground (shadow) |
|- | |- | ||
− | | | + | | P || Shadow intensity || integer || shadow intensity (0 - 255), usually 40 |
|- | |- | ||
− | | | + | | Q || Flash || integer || sets the type of flashing ([[2DFX#Types of Flashes|see below]]) |
|- | |- | ||
− | | | + | | 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 |
|- | |- | ||
− | | | + | | 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 |
|- | |- | ||
− | | | + | | T || Flags || integer || bit 0 - disable z-test for corona, bits 1-2 - fog (dust) type |
|} | |} | ||
====Types of Flashes==== | ====Types of Flashes==== | ||
− | {| | + | {|class="wikitable center-col-1" |
| 0 | | 0 | ||
| constantly lit all time | | constantly lit all time | ||
Line 96: | Line 96: | ||
This can create simple particles on an object | This can create simple particles on an object | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|3}} {{Icon|VC}} | ! width="36px"| {{Icon|3}} {{Icon|VC}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 102: | Line 102: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || associated to existing object ID defined in [[OBJS]] or [[TOBJ]] 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 63 or 200 |
|- | |- | ||
− | | | + | | I || 2DFX type || integer || always 1 for particles |
|- | |- | ||
− | | | + | | J || Particle || integer || particle type ([[2DFX#Types of Particles|see below]]) |
|- | |- | ||
− | | | + | | K,L,M || Strength || float[3] || X, Y, and Z strength representing the direction and length of movement of the particle, see [[039D#List of particle effects|opcode 039D]] for more information |
|- | |- | ||
− | | | + | | N || Scale || float || scale of the particle |
|} | |} | ||
====Types of Particles==== | ====Types of Particles==== | ||
[[File:2dfx_particles.png|thumb|Ordered from 6 to 0 from left to right, all size is 1 with Tommy at the bottom for comparison]] | [[File:2dfx_particles.png|thumb|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" |
− | ! {{Icon|3}} || {{Icon|VC}} | + | ! {{Icon|3}} || {{Icon|VC}} || Name || Description |
|- | |- | ||
− | | colspan="2" | < | + | | colspan="2" | 0 || POBJECT_<wbr>PAVEMENT_<wbr>STEAM || small white smoke |
|- | |- | ||
− | | colspan="2" | < | + | | colspan="2" | 1 || POBJECT_<wbr>WALL_<wbr>STEAM || small white smoke |
|- | |- | ||
− | | colspan="2" | < | + | | colspan="2" | 2 || POBJECT_<wbr>DRY_<wbr>ICE || larger white smoke |
|- | |- | ||
− | | colspan="2" | < | + | | colspan="2" | 3 || POBJECT_<wbr>SMALL_<wbr>FIRE || fire (start new game to see) |
|- | |- | ||
− | | colspan="2" | < | + | | colspan="2" | 4 || POBJECT_<wbr>DARK_<wbr>SMOKE || black smoke |
|- | |- | ||
− | | | + | | - || {{a|c}} | 5 || POBJECT_<wbr>WATER_<wbr>FOUNTAIN_<wbr>VERT || water fountain (will spray water droplets on the screen) |
|- | |- | ||
− | | | + | | - || {{a|c}} | 6 || POBJECT_<wbr>WATER_<wbr>FOUNTAIN_<wbr>HORIZ || water spray (will spray water droplets on the screen) |
|} | |} | ||
Line 142: | Line 142: | ||
It is unknown what this type does. This type was used in GTA III but should be usable in Vice City. See [[:File:2dfxType2.jpg|here]] for a map of all the locations. | It is unknown what this type does. This type was used in GTA III but should be usable in Vice City. See [[:File:2dfxType2.jpg|here]] for a map of all the locations. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|3}} {{Icon|VC}} | ! width="36px"| {{Icon|3}} {{Icon|VC}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 148: | Line 148: | ||
! Description | ! 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 || 2DFX type || integer || always 2 |
|- | |- | ||
− | | | + | | J || ''unknown'' || integer || |
|- | |- | ||
− | | | + | | K,L,M || ''unknown'' || float[3] || |
|- | |- | ||
− | | | + | | N || ''unknown'' || integer || |
|} | |} | ||
Line 168: | Line 168: | ||
This can make a ped have simple behaviors around the object. | This can make a ped have simple behaviors around the object. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|VC}} | ! width="36px"| {{Icon|VC}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 174: | Line 174: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || associated to existing object ID defined in [[OBJS]] or [[TOBJ]] 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 0 or 200 |
|- | |- | ||
− | | | + | | I || 2DFX type || integer || always 3 for peds |
|- | |- | ||
− | | | + | | J || Behavior || integer || behavior type ([[2DFX#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==== | ||
− | {| | + | {|class="wikitable" |
| 0 | | 0 | ||
| walks to the coordinates to use an ATM then walks away | | walks to the coordinates to use an ATM then walks away | ||
Line 212: | Line 212: | ||
This can create a sun "reflection" exactly and behaving like the ones seen on cars. | This can create a sun "reflection" exactly and behaving like the ones seen on cars. | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|VC}} | ! width="36px"| {{Icon|VC}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 218: | Line 218: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || integer || associated to existing object ID defined in [[OBJS]] or [[TOBJ]] 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 || 2DFX type || integer || always 4 for sun reflections |
|} | |} | ||
Line 242: | Line 242: | ||
=== Type 1: Particles === | === Type 1: Particles === | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|4}} | ! width="36px"| {{Icon|4}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 248: | Line 248: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || string || associated to existing object ID defined in OBJS or TOBJ 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 |
|} | |} | ||
=== Type 2: Explosion === | === Type 2: Explosion === | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|4}} | ! width="36px"| {{Icon|4}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 278: | Line 278: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || string || associated to existing object ID defined in OBJS or TOBJ 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 || |
|- | |- | ||
− | | | + | | L || || integer || |
|- | |- | ||
− | | | + | | M || || integer || |
|} | |} | ||
Line 305: | Line 305: | ||
=== Type 14: Ladder === | === Type 14: Ladder === | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="40px"| {{Icon|4}} | ! width="40px"| {{Icon|4}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 311: | Line 311: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || Name || string || Model name, who using Ladder Section |
|- | |- | ||
− | | | + | | B,C,D || X, Y, Z || float[3] || X, Y, and Z coordinates |
|- | |- | ||
− | | | + | | E || 2DFX 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 |
|} | |} | ||
Line 331: | Line 331: | ||
=== Type 17: SpawnPoint === | === Type 17: SpawnPoint === | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" style="width: 100%;" |
! width="36px"| {{Icon|4}} | ! width="36px"| {{Icon|4}} | ||
! width="150px"| Identifier | ! width="150px"| Identifier | ||
Line 337: | Line 337: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | A || ID || string || associated to existing object ID defined in OBJS or TOBJ 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 |
|} | |} | ||
Revision as of 07:31, 21 July 2015
Supported games: | GTA III, GTA VC, GTA IV | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Brief description: | Used to place 2D effects and ped behaviors on objects | |||||||||||||||
IDE Sections:
|
2DFX is a section in the 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 many effects are loaded or drawn in the game, some of the effects will load in and out or won't appear at all.
Contents
- 1 GTA III and Vice City
- 2 GTA San Andreas
- 3 GTA IV
- 3.1 Type 0: Lights
- 3.2 Type 1: Particles
- 3.3 Type 2: Explosion
- 3.4 Type 10: Escalator
- 3.5 Type 12: Proc Object
- 3.6 Type 13: WorldPoint
- 3.7 Type 14: Ladder
- 3.8 Type 15: Audio
- 3.9 Type 17: SpawnPoint
- 3.10 Type 18: LightShaft
- 3.11 Type 19: ScrollBar
- 3.12 Type 21: SwayableAttr
- 3.13 Type 22: BouyancyAttr
- 3.14 Type 23: WalkDontWalkAttr
- 4 Statistics
GTA III and Vice City
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).
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | associated to existing object ID defined in OBJS or TOBJ 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) |
H | unknown | integer | usually 0 or 200 |
I | 2DFX type | integer | always 0 for lights |
J | Corona | string | corona texture associated to the light, texture defined in particle.txd , usually "coronastar" for lights
|
K | Shadow | string | light texture that is cast on the ground, texture defined in particle.txd , usually "shad_exp" for lights
|
L | Distance | float | view distance of the light, is limited by the draw distance of the host object |
M | Outer range | float | the range the light can cast on objects, cars, and peds |
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 |
O | Inner range | float | the range the light can cast on the ground (shadow) |
P | Shadow intensity | integer | shadow intensity (0 - 255), usually 40 |
Q | Flash | integer | sets the type of flashing (see below) |
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 0 - not reflective when wet, 1 - reflective when wet |
S | Flare | integer | sets the particle to create a lens flare on the screen, similar to what the sun does 0 - no lens flare, 1 - yellow lens flare, 2 - white lens flare |
T | Flags | integer | bit 0 - disable z-test for corona, bits 1-2 - fog (dust) type |
Types of Flashes
0 | constantly lit all time |
1 | constantly lit at night |
2 | occasional flicker all time |
3 | occasional flicker at night |
4 | ~1 second flashes |
5 | ~1 second flashes at night |
6 | ~2 seconds flashes |
7 | ~2 seconds flashes at night |
8 | ~3 seconds flashes |
9 | ~3 seconds flashes at night |
10 | random flicker |
11 | random flicker at night |
12 | 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.
Type 1: Particles
This can create simple particles on an object
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | associated to existing object ID defined in OBJS or TOBJ 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 63 or 200 |
I | 2DFX type | integer | always 1 for particles |
J | Particle | integer | particle type (see below) |
K,L,M | Strength | float[3] | X, Y, and Z strength representing the direction and length of movement of the particle, see opcode 039D for more information |
N | Scale | float | scale of the particle |
Types of Particles
Type 2
It is unknown what this type does. This type was used in GTA III but should be usable in Vice City. See here for a map of all the locations.
Type 3: Peds
This can make a ped have simple behaviors around the object.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | associated to existing object ID defined in OBJS or TOBJ 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 0 or 200 |
I | 2DFX type | integer | always 3 for peds |
J | Behavior | integer | behavior type (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
0 | walks to the coordinates to use an ATM then walks away |
1 | walks to the coordinates to sit down for a while then stand back up and walks away |
2 | walks to the coordinates to wait for a bus; additional peds will line up behind each other |
3 | walks to the coordinates, stands for a very short while, then leave (like window shopping) |
4 | unknown, see here for a map of all the locations |
Type 4: Sun Reflections
This can create a sun "reflection" exactly and behaving like the ones seen on cars.
Identifier | Type | Description | |
---|---|---|---|
A | ID | integer | associated to existing object ID defined in OBJS or TOBJ 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 | 2DFX type | integer | always 4 for sun reflections |
GTA San Andreas
This section is incomplete. You can help by fixing and expanding it.
GTA IV
This section is incomplete. You can help by fixing and expanding it.
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
Type 2: Explosion
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
Type 15: Audio
Type 17: SpawnPoint
Type 18: LightShaft
Type 19: ScrollBar
Type 21: SwayableAttr
Type 22: BouyancyAttr
Type 23: WalkDontWalkAttr
Statistics
Total number of 2DFX entries in:
- GTA III: 927
- Type 0: 859
- Type 1: 53
- Type 2: 15
- Vice City: 1069
- 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