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) | WAVC file (travelling) |
0x00018 | 8 (resref) | WAVC file (explosion/reach destination) |
0x00020 | 8 (resref) | Travelling VEF/VVC/BAM |
0x00028 | 2 (word) | Spark colour (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) | Display message |
0x00034 | 4 (dword) | Pulse colour (byte order: blue, green, red, unused) |
0x00038 | 2 (word) | Colour speed |
0x0003a | 2 (word) | Screen shake amount |
0x0003c | 2 (word) | First creature target: Value If Extended Flags bit 30 is
|
0x0003e | 2 (word) | First creature target: Type If Extended Flags bit 30 is unset: use IDS targets
|
0x00040 | 2 (word) | Second creature target: Value |
0x00042 | 2 (word) | Second creature target: Type |
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' at offset 0x00008). It has 100h (256) bytes.
Offset | Size (datatype) | Description |
---|---|---|
0x00100 | 4 (dword) | BAM projectile flags
|
0x00104 | 8 (resref) | 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 period |
0x0012c | 7 (bytes) | Smoke colours |
0x00133 | 1 (byte) | Face target granularity
|
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
*Target selection is relative to caster: |
0x00204 | 2 (word) | Trigger radius (divide by approx 8.5 to receive diameter in feet) |
0x00206 | 2 (word) | Area of effect (divide by approx 8.5 to receive diameter in feet) |
0x00208 | 8 (resref) | Trigger sound |
0x00210 | 2 (word) | Explosion delay |
0x00212 | 2 (short) | Fragment animation (animate.ids) |
0x00214 | 2 (word) | Secondary projectile (projectl.ids-1) |
0x00216 | 1 (byte) | Trigger count (used if bits 8 and 9 at 0x200 are not set) |
0x00217 | 1 (byte) | Explosion animation (fireball.ids) |
0x000218 | 1 (byte) | Explosion colour |
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 (1 to 359) |
The following fields are used by Enhanced Editions games only: | ||
0x00226 | 2 (word) | Unused |
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 thrown for multiple targets |
0x00246 | 2 (word) | Dice sides for multiple targets |
0x00248 | 2 (word) | Animation granularity |
0x0024a | 2 (word) | Animation granularity divider |
0x0024c | 180 (bytes) | Unused |