PRO file format
Applies to:
BG2, BG2: ToB, BGEE
General Description
This file format describes projectiles, and the files are referenced spells and projectile weapons. Projectile files can control:
- Projectile graphics
- Projectile speed
- Projectile area of effect
- Projectile sound
Detailed Description
Offset | Size (datatype) | Description |
---|---|---|
0x00000 | 4 (char array) | Signature ('PRO ') |
0x00004 | 4 (char array) | Version ('V1.0') |
0x00008 | 2 (word) | Projectile Type
|
0x0000a | 2 (word) |
Projectile Speed (0x01 to 0xFF )
|
0x0000c | 4 (dword) | Sparking flags
|
0x00010 | 8 (resref) |
Fire Sound (WAVC file) (travelling)
|
0x00018 | 8 (resref) |
Impact Sound (WAVC file) (explosion/reach destination)
|
0x00020 | 8 (resref) |
Source Animation (VEF > VVC > BAM)
|
0x00028 | 2 (word) |
Particle Color (from SPRKCLR.2DA)
|
The following fields are used by Enhanced Editions games only: | ||
0x0002a | 2 (word) |
Projectile Width
|
0x0002c | 4 (dword) | Extended flags
|
0x00030 | 4 (strref) |
Displayed Message
|
0x00034 | 4 (dword) |
Pulse Color
|
0x00038 | 2 (word) |
Color speed
|
0x0003a | 2 (word) |
Screen shake amount
|
0x0003c | 2 (word) |
Creature Value 1
|
0x0003e | 2 (word) |
Creature Type 1
|
0x00040 | 2 (word) |
Creature Value 2
|
0x00042 | 2 (word) |
Creature Type 2
|
0x00044 | 8 (resref) | Default spell (SPL) |
0x0004c | 8 (resref) | Success spell (SPL) |
0x00054 | 2 (word) | Angle increase minimum [PSTEE] |
0x00056 | 2 (word) | Angle increase maximum [PSTEE] |
0x00058 | 2 (word) | Curve minimum [PSTEE] |
0x0005a | 2 (word) | Curve maximum [PSTEE] |
0x0005c | 2 (word) | THAC0 bonus [PSTEE] |
0x0005e | 2 (word) | THAC0 bonus (non-actor) [PSTEE] |
0x00060 | 2 (word) | Radius minimum [PSTEE] |
0x00062 | 2 (word) | Radius maximum [PSTEE] |
0x00064 | 156 (bytes) | Unused |
The following struct is added when the projectile is a single target or area effect projectile (see
Projectile Type
). It has 100h
(256
) bytes.Offset | Size (datatype) | Description |
---|---|---|
0x00100 | 4 (dword) | BAM projectile flags
|
0x00104 | 8 (resref) | Traveling Projectile Animation (BAM) |
0x0010c | 8 (resref) |
Shadow Animation (BAM)
|
0x00114 | 1 (byte) |
Projectile number (BAM sequence)
|
0x00115 | 1 (byte) |
Shadow number (BAM sequence)
|
0x00116 | 2 (word) | Light spot intensity |
0x00118 | 2 (word) | Light spot width |
0x0011a | 2 (word) | Light spot height |
0x0011c | 8 (resref) | Palette (BMP)
|
0x00124 | 7 (bytes) | Projectile colours |
0x0012b | 1 (byte) | Smoke Puff Delay |
0x0012c | 7 (bytes) | Smoke colours |
0x00133 | 1 (byte) | Face target granularity / "Projectile Animation" Mirroring
|
0x00134 | 2 (short) |
Projectile smoke animation (ANIMATE.IDS)
|
0x00136 | 8 (resref) | Trailing animation 1 (BAM) |
0x0013e | 8 (resref) | Trailing animation 2 (BAM) |
0x00146 | 8 (resref) | Trailing animation 3 (BAM) |
0x0014e | 2 (word) | Trailing number 1 (BAM sequence) |
0x00150 | 2 (word) | Trailing number 2 (BAM sequence) |
0x00152 | 2 (word) | Trailing number 3 (BAM sequence) |
0x00154 | 4 (dword) | Flags
|
0x00158 | 168 (bytes) | Unused |
If the projectile is an area effect projectile then an additional struct is added to the file. It has
100h
(256
) bytes.Offset | Size (datatype) | Description |
---|---|---|
0x00200 | 4 (dword) | Area projectile flags
|
0x00202 | 2 (word) | Ray Count (EE only...?)
|
0x00204 | 2 (word) | Trigger Radius / Trap Size (divide by approx 8.5 to receive diameter in feet)
|
0x00206 | 2 (word) | Area of effect / Explosion Size (divide by approx 8.5 to receive diameter in feet)
|
0x00208 | 8 (resref) |
Explosion Sound
|
0x00210 | 2 (word) | Explosion delay (Frequency)
|
0x00212 | 2 (short) |
Fragment Animation (ANIMATE.IDS)
|
0x00214 | 2 (word) |
Secondary Projectile (PROJECTL.IDS - 1 )
|
0x00216 | 1 (byte) |
Trigger Count / # Repetitions (used if bits 8 and 9 at 0x200 are not set)
|
0x00217 | 1 (byte) | Explosion Effect (FIREBALL.IDS) |
0x000218 | 1 (byte) | Explosion Color |
0x000219 | 1 (byte) | Unused |
0x00021a | 2 (bytes) |
Explosion Projectile (PROJECTL.IDS), played on affected creatures
|
0x00021c | 8 (resref) |
Explosion Animation (VVC)
|
0x000224 | 2 (word) |
Cone Width / Angle between Rays (0 – 65535 , effectively capped at 359 )
|
The following fields are used by Enhanced Editions games only: | ||
0x00226 | 2 (word) |
Rotate rays clockwise
|
0x00228 | 8 (resref) |
Spread Animation (VEF/VVC/BAM)
|
0x00230 | 8 (resref) |
Ring Animation (VEF/VVC/BAM)
|
0x00238 | 8 (resref) |
Area Sound (WAV)
|
0x00240 | 4 (dword) | Extended flags
|
0x00244 | 2 (word) | # dice for multiple targets |
0x00246 | 2 (word) | Dice size for multiple targets |
0x00248 | 2 (word) | Animation granularity |
0x0024a | 2 (word) | Animation granularity divider |
0x0024c | 180 (bytes) | Unused |