MakeVBM

MakeVBM is a standalone command-line utility used to create .vbm files for use in Red Faction 1. These are animated or single-frame 2D bitmaps, in a proprietary Volition format. Volition's MakeVBM program is included in the Official RF Toolkit.

In 2020, rafalh released his own completely rewritten version of MakeVBM, which adds many enhanced features over the original. This enhanced tool uses the same syntax as the Volition tool, adds additional functionality, and retains all functionality of the original.

Key improvements in rafalh's enhanced MakeVBM are:
 * Support for high resolution image files
 * Support for many common image formats as input (.jpg, .png, .dds, etc.), rather than only .tga like the Volition tool

Usage
The source input for MakeVBM is one or more image files, either 24 or 32 bit with alpha, in a supported image file format. A list of supported image file formats is available here.

The first step is to get your image files in one place, and name them correctly. MakeVBM requires sequences to be named like so:

name-0000.tga name-0001.tga ... and so on.

“name” can be any prefix you like, but it must be followed by the “-XXXX” ending. Once you have your files together, decide what color format your VBM will use.

While all VBMs use 16 bits of color, that 16 bits can be broken down several ways. The output VBMs can be in one of four color formats. The numbers represent the ARG and B channels (alpha, red, green, and blue).

Next, decide what framerate the animation will need, measured in frames-per-second.

When you’re ready, open a command prompt window, make sure “makevbm.exe” is on your path, and go to the directory where your frames are located. Then type:

makevbm  .tga

Where is either 4444, 1555, or 565, is an integer like 15 or 30, and is the first part of your sequence filenames, minus the “-XXXX” suffix.

The Red Faction invulnerability overlay effect is a .vbm using 565 color mode at 8 frames per second. To create that file from its frames, I would type:

makevbm 565 15 pow.tga

This would create “pow.vbm”, which the game can now use.

When everything is run correctly, the output spew looks like this: