Difference between revisions of "2DFX"

From GTAMods Wiki
Jump to navigation Jump to search
(updating styles + particle names)
Line 8: Line 8:
  
 
== GTA III and Vice City ==
 
== GTA III and Vice City ==
 +
2dfx
 +
# [[#Type 0: Lights|type 0: lights]]
 +
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Corona, Shadow, Distance, OuterRange, Size, InnerRange, ShadowIntensity, Flash, Wet, Flare, Flags
 +
# [[#Type 1: Particles|type 1: particles]]
 +
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Particle, StrengthX, StrengthY, StrengthZ, Scale
 +
# [[#Type 2|type 2]]
 +
ID, X, Y, Z, R, G, B, unknown, 2DFXType, unknown, unk1, unk2, unk3, unknown
 +
# [[#Type 3: Peds|type 3: peds]]
 +
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Behavior, unk1, unk2, unk3, RotX, RotY, RotZ
 +
# [[#Type 4: Sun Reflections|type 4: sun reflections]]
 +
ID, X, Y, Z, R, G, B, unknown, 2DFXType
 +
end
 +
 
=== Type 0: Lights ===
 
=== 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).
  
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|3}} {{Icon|VC}}
+
! style="width: 3em;"| {{Icon|3}} {{Icon|VC}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 25: Line 38:
 
| H || ''unknown'' || integer || usually 0 or 200
 
| H || ''unknown'' || integer || usually 0 or 200
 
|-
 
|-
| I || 2DFX type || integer || always 0 for lights
+
| I || 2DFXType || 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
 
| J || Corona || string || corona texture associated to the light, texture defined in <code>particle.txd</code>, usually "coronastar" for lights
Line 33: Line 46:
 
| L || Distance || float || 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
 
|-
 
|-
| M || Outer range || float || 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
 
|-
 
|-
 
| 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
 
| 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)
+
| O || InnerRange || float || the range the light can cast on the ground (shadow)
 
|-
 
|-
| P || Shadow intensity || integer || shadow intensity (0 - 255), usually 40
+
| P || ShadowIntensity || integer || shadow intensity (0 - 255), usually 40
 
|-
 
|-
 
| Q || Flash || integer || sets the type of flashing ([[2DFX#Types of Flashes|see below]])
 
| Q || Flash || integer || sets the type of flashing ([[2DFX#Types of Flashes|see below]])
Line 97: Line 110:
  
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|3}} {{Icon|VC}}
+
! style="width: 3em;"| {{Icon|3}} {{Icon|VC}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 110: Line 123:
 
| H || ''unknown'' || integer || usually 63 or 200
 
| H || ''unknown'' || integer || usually 63 or 200
 
|-
 
|-
| I || 2DFX type || integer || always 1 for particles
+
| I || 2DFXType || integer || always 1 for particles
 
|-
 
|-
 
| J || Particle || integer || particle type ([[2DFX#Types of Particles|see below]])
 
| 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
+
| K,L,M || StrengthX, StrengthY, StrengthZ || 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
 
| N || Scale || float || scale of the particle
Line 143: Line 156:
  
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|3}} {{Icon|VC}}
+
! style="width: 3em;"| {{Icon|3}} {{Icon|VC}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 156: Line 169:
 
| H || ''unknown'' || integer || usually 63 or 200
 
| H || ''unknown'' || integer || usually 63 or 200
 
|-
 
|-
| I || 2DFX type || integer || always 2
+
| I || 2DFXType || integer || always 2
 
|-
 
|-
 
| J || ''unknown'' || integer ||  
 
| J || ''unknown'' || integer ||  
 
|-
 
|-
| K,L,M || ''unknown'' || float[3] ||  
+
| K,L,M || ''unk1'', ''unk2'', ''unk3'' || float[3] ||  
 
|-
 
|-
 
| N || ''unknown'' || integer ||  
 
| N || ''unknown'' || integer ||  
Line 169: Line 182:
  
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|VC}}
+
! style="width: 3em;"| {{Icon|VC}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 182: Line 195:
 
| H || ''unknown'' || integer || usually 0 or 200
 
| H || ''unknown'' || integer || usually 0 or 200
 
|-
 
|-
| I || 2DFX type || integer || always 3 for peds
+
| I || 2DFXType || integer || always 3 for peds
 
|-
 
|-
 
| J || Behavior || integer || behavior type ([[2DFX#Types of Behaviors|see below]])
 
| J || Behavior || integer || behavior type ([[2DFX#Types of Behaviors|see below]])
 
|-
 
|-
| K,L,M || unk1, unk2, unk3 || float[3] || unknown, useless values?
+
| 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
 
| N,O,P || RotX, RotY, RotZ || float[3] || rotation of ped when animation is playing
Line 213: Line 226:
  
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|VC}}
+
! style="width: 3em;"| {{Icon|VC}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 226: Line 239:
 
| H || ''unknown'' || integer || usually 120
 
| H || ''unknown'' || integer || usually 120
 
|-
 
|-
| I || 2DFX type || integer || always 4 for sun reflections
+
| I || 2DFXType || integer || always 4 for sun reflections
 
|}
 
|}
  
Line 243: Line 256:
 
=== Type 1: Particles ===
 
=== Type 1: Particles ===
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|4}}
+
! style="width: 3em;"| {{Icon|4}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 273: Line 286:
 
=== Type 2: Explosion ===
 
=== Type 2: Explosion ===
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|4}}
+
! style="width: 3em;"| {{Icon|4}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 307: Line 320:
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
! width="40px"| {{Icon|4}}
 
! width="40px"| {{Icon|4}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 332: Line 345:
 
=== Type 17: SpawnPoint ===
 
=== Type 17: SpawnPoint ===
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
! width="36px"| {{Icon|4}}
+
! style="width: 3em;"| {{Icon|4}}
! width="150px"| Identifier
+
! style="width: 12em;"| Identifier
! width="100px"| Type
+
! style="width: 6em;" | Type
 
! Description
 
! Description
 
|-
 
|-
Line 361: Line 374:
 
== Statistics ==
 
== Statistics ==
 
Total number of 2DFX entries in:
 
Total number of 2DFX entries in:
:GTA III: 927
+
:GTA III: 927 (max 2000)
 
::Type 0: 859
 
::Type 0: 859
 
::Type 1: 53
 
::Type 1: 53
 
::Type 2: 15
 
::Type 2: 15
  
:Vice City: 1069
+
:Vice City: 1069 (max 1210)
 
::Type 0: 834
 
::Type 0: 834
 
::Type 1: 63
 
::Type 1: 63
Line 386: Line 399:
 
::Type 22: 10
 
::Type 22: 10
 
::Type 23: 19
 
::Type 23: 19
 +
 +
{{N|4|SA|VC|3}}

Revision as of 01:01, 4 August 2015

This article describes the usage of the 2dfx section inside a plain text IDE. For the RW Section of models see 2d Effect (RW Section), for the GTA IV IPL section see 2DFX (IPL Section).
2DFX (IDE section)
Supported games:GTA III, GTA VC, GTA IV
Brief description:Used to place 2D effects and ped behaviors on objects
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

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

2dfx
# type 0: lights
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Corona, Shadow, Distance, OuterRange, Size, InnerRange, ShadowIntensity, Flash, Wet, Flare, Flags
# type 1: particles
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Particle, StrengthX, StrengthY, StrengthZ, Scale
# type 2
ID, X, Y, Z, R, G, B, unknown, 2DFXType, unknown, unk1, unk2, unk3, unknown
# type 3: peds
ID, X, Y, Z, R, G, B, unknown, 2DFXType, Behavior, unk1, unk2, unk3, RotX, RotY, RotZ
# type 4: sun reflections
ID, X, Y, Z, R, G, B, unknown, 2DFXType
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).

GTA III Vice City 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 2DFXType 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 OuterRange 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 InnerRange float the range the light can cast on the ground (shadow)
P ShadowIntensity 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

GTA III Vice City 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 2DFXType integer always 1 for particles
J Particle integer particle type (see below)
K,L,M StrengthX, StrengthY, StrengthZ 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

Ordered from 6 to 0 from left to right, all size is 1 with Tommy at the bottom for comparison
GTA III Vice City Name Description
0 POBJECT_PAVEMENT_STEAM small white smoke
1 POBJECT_WALL_STEAM small white smoke
2 POBJECT_DRY_ICE larger white smoke
3 POBJECT_SMALL_FIRE fire (start new game to see)
4 POBJECT_DARK_SMOKE black smoke
- 5 POBJECT_WATER_FOUNTAIN_VERT water fountain (will spray water droplets on the screen)
- 6 POBJECT_WATER_FOUNTAIN_HORIZ water spray (will spray water droplets on the screen)

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.

GTA III Vice City Identifier 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 2DFXType integer always 2
J unknown integer
K,L,M unk1, unk2, unk3 float[3]
N unknown integer

Type 3: Peds

This can make a ped have simple behaviors around the object.

Vice City 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 2DFXType 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.

Vice City 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 2DFXType 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

GTA IV Identifier Type 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 common\data\effects\
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

GTA IV Identifier Type 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

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

GTA IV Identifier 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 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

Type 15: Audio

Type 17: SpawnPoint

GTA IV Identifier Type 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

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 (max 2000)
Type 0: 859
Type 1: 53
Type 2: 15
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