Witchaven II/Modding Tips
Map Editing
CD releases of Witchaven II came with a copy of the BUILD editor on the disc. However, this appears to have been omitted from digital re-releases. Having the Witchaven II NAMES.H is also helpful as it will label tiles with special properties according to their given name in the source code.
The manual included a basic overview of using the editor.
Map Loading Parameter
The Witchaven II manual is in error about the name of the map loading parameter, but such a parameter does exist. The correct parameter is "MAP #", e.g.
WH2 MAP 15
You can only load numbered maps in the form of LEVEL#.MAP, not arbitrary file names like Doom (and other games with good custom map support) allow. BME made a frontend that works around this, but it does so by swapping file names on the fly. You can also name your maps with level numbers higher than those included with the game. The game can load levels up to LEVEL999; at this point you're probably limited by DOS file name lengths. If you make sure to give every map set a unique block of level numbers (and have a note or batch file to correctly select the starting map number) it would probably be possible for quite a few maps and sets to coexist even in the vanilla game although it is not certain that the music will play correctly beyond level 15.
Music and Sound
In Witchaven II, the FM and wavetable versions of the soundtrack are stored separately in F_SONGS and W_SONGS respectively. These are in JOESND format. Each of the 15 levels get four tracks; the first two are the "calm" music and the second pair are battle music. Some tracks are duplicated, for example the two regular music tracks for level 1 are duplicates of the same song. The "level 16" tracks are the menu music (duplicated four times). The music is in HMP format, version 2 (HMIMIDIP013195).
Sound effects from JOESND are stored as raw PCM. The correct settings to use when loading them in an audio program are unsigned 8 bit PCM, mono, and 11025 sample rate. (In Audacity, this can be done with the menu option Import > Raw Data). In both Witchaven and Witchaven II's source code, the file SNDMOD.H attaches names to the sound index numbers. They are unnamed in the archives themselves; JOESND format does not store file names.
GRP files
There is some support for placing the MAP and ART files in a GRP archive under the filename STUFF.DAT. GRP utilities for Duke Nukem 3D can work with these. However, there are apparently some issues with reading the palette files out of STUFF.DAT. It's possible that this was an incomplete feature in the versions of BUILD used in these games.
Links
An extended/corrected version of the map editor instructions on RTCM