Index  •  2DA  •  Effects  •  File Formats  •  Actions  •  Identifiers  •  Triggers  •  Appendices  •  Site Info  •  Legal

VVC file format

Applies to:
BG2, BG2: ToB

General Description
This file format describes visual "spell casting" effects (BAM files) with optional sounds (WAVC files). VVCs can be invoked by some script actions (e.g. CreateVisualEffect, CreateVisualEffectObject) and by some effects (e.g. "Play 3D effect").

VVC Files use a 3D co-ordinates system when playing the exact location of VVC animations. Infinity Engine Games are rendered from an isometric angle; this means that the X-Y-Z axis need to be percieved within this isometric frame to properly understand how VVC files will play. The screenshot below demonstrates each axis, accordingly:
X is up or down.
Y is the distance between the feet of the character and the animation
Z is the distance between the head of the character and the animation


Detailed Description

These files have constant length 1ECh bytes.
Offset Size (data type) Description
0x0000 4 (char array) Signature ('VVC ')
0x0004 4 (char array) Version ('V1.0')
0x0008 8 (resref) Animation resref (BAM)
0x0010 8 (resref ?) Unknown
0x0018 2 (word) Display flags
  • bit 0: Unknown
  • bit 1: Transparent
  • bit 2: Unknown
  • bit 3: Translucent
  • bit 4: Mirror Y axis
  • bit 5: Mirror X axis
  • bit 6: Unknown
  • bit 7: Unknown
  • bit 8: Unknown
  • bit 9: Unknown
  • bit 10: Unknown
  • bit 11: Unknown
  • bit 12: Unknown
  • bit 13: Unknown
  • bit 14: Unknown
  • bit 15: Unknown
0x001a 2 (word) Colour flags
  • bit 0: Unknown
  • bit 1: Blend
  • bit 2: Unknown
  • bit 3: Greyscale
  • bit 4: Unknown
  • bit 5: Brighten
  • bit 6: Unknown
  • bit 7: Unknown
  • bit 8: Unknown
  • bit 9: Sepia
  • bit 10: Unknown
  • bit 11: Unknown
  • bit 12: Unknown
  • bit 13: Unknown
  • bit 14: Unknown
  • bit 15: Unknown
0x001c 4 (dword) Unknown
0x0020 4 (dword) Sequence flags
  • bit 0: Looping
  • bit 1: Sequence 2
  • bit 2: Sequence 4
  • bit 3: Draw animation
  • bit 4: Unknown
  • bit 5: Unknown
  • bit 6: Wallgroups do not cover
  • bit 7: Unknown
  • bit 8: Use BAM
0x0024 4 (dword) Unknown
0x0028 4 (dword) X position (0 is smallest)
0x002c 4 (dword) Y position - distance between feet and animation (0 is the highest and FF is lowest)
0x0030 4 (dword) Unknown
0x0034 4 (dword) Frame rate (1 = slow)
0x0038 4 (dword) Face Target
0x003c 4 (dword) Unknown
0x0040 4 (dword) Position flags
  • bit 0: Orbit target
  • bit 1: Relative to target
0x0044 4 (dword) Unknown
0x0048 4 (dword) Unknown
0x004c 4 (dword) Z position - distance between head and animation (0 is lowest and FF is highest)
0x0050 4 (dword) Unknown
0x0054 8 (resref ?) Unknown
0x005c 4 (dword) Duration (frames)
0x0060 8 (resref ?) Unknown, always 0
0x0068 4 (dword) First BAM sequence (introduction)
0x006c 4 (dword) Second BAM sequence (duration)
0x0070 8 (resref ?) Unknown
0x0078 8 (resref) First WAVC sound (introduction)
0x0080 8 (resref) Second WAVC sound (duration)
0x0088 4 (long) Unknown
0x008c 4 (long) Unknown
0x0090 4 (dword) Third BAM sequence (ending)
0x0094 8 (resref) Third WAVC soud (ending)
0x009c 336 (bytes) Unknown