This program created using reverse engineering by sirlemonhead, so it works absolutelly the same as BARF for DOS, but under Windows. As result you will get faster RFF archive creating and removed restrictions for files extraction (now ALL files can be extracted - not only MAP, RAW and MID files). You will able to generate very informative RFS scripts: now script contains all ID's for all files.
The syntax is the same as for DOS BARF: BARFC filename[.rff] [commands]
Extraction and script generation is also supported from Blood 0.91 to 1.21.
You can specify a script file by @filename[.RFS] for any command.
RFS script is a text file that contains information about what files should be added to RFF archive. Most of files that need to be replaced have it's unique ID numbers, and you must write RFS script for them. See syntax examples below.
To learn required file IDs, type "barfc [rff name]" -r". This will generate RFS script with already existing files in archive. It will contain all IDs and flags.
To add files using RFS script, just type "barfc [rff name] -a @myscript.rfs"
// Two backslashes means comment. Comments usually serves as notes. resource "file1.qav" as 6; // Add file1.qav with ID #6. resource "file2.qav" as 10, PRELOAD; // Add file2.qav with ID #10 // and load this file in memory while // game is initializing. resource "file3.qav" as 20; // Add file3.qav with ID #20. resource "mymap1.map"; // Add mymap.map with no ID. This one equals to BARF -a|-f|-u mymap.map resource "mykvx.kvx" as 68; // Add "mykvx.kvx" with ID #68. ; // Don't forget put symbol ";" at the end! It's important!
RFS can not just add files, but also create new ones inside of RFF archive. Those files is usually used as data to store sound settings (format, sample rate, pitch, etc...) Note that sounds and midi files should be added in sound rff archive (default is SOUNDS.RFF).
resource "NewSnd.raw"; // Add NewSnd.raw file. data "NewSnd.SFX" as 20050: 255, 0x22050, 0x0, 1, -1, "NewSnd"; // - "data" This word tells BARF to create .SFX file inside of archive. // - "NewSnd.SFX" Is the name of .SFX file. // - "20050" Is the ID of the file. For example, you can listen this sound in MAPEDIT by // typing 20050 in one of Data fields and pressing F10 key. // - "255" Is the max. volume of the sound. Min is 0. // - "0x22050" Is the pitch of sound. // - "0x0" Is the random pitch range. If non-zero, it will change in range of pitch - range. // - "1" Is the format of audio. Supported two types: 1 - 11025, 5 - 22050. // - "-1" Loop sound or not. -1 Means no looping, any other digits is position to start // looping from in micro-seconds. // - "NewSnd" The displaying name of the sound. This will be displayed in MAPEDIT // when listening. Must be equal to raw file name. ; // Don't forget put symbol ";" at the end! It's important!