JFWitchaven is based on code published by Les Bird, programmer at Capstone in 1996. That code was made available under no particular license, so JFWitchaven is made available under similar terms. Visit the JFWitchaven website for the latest information. The source code for JFWitchaven can be found in this Git repository.
System Requirements
At minimum, you need:
- 64-bit Intel, AMD, or compatible CPU
- OpenGL 2.1 capable GPU
- (Windows) Vista or newer (7, 8, 10+)
- (Mac) macOS 10.15 (Catalina) or newer
Additionally, these platforms and architectures are supported when building from source code:
- 32-bit Intel/AMD, and 32 or 64-bit ARM CPUs
- OpenGL ES 2.0 capable GPUs, e.g. Broadcom VideoCore IV (tested with Raspberry Pi 3 B+)
Installation and Setup
After unzipping the JFWitchaven package somewhere on your computer, run the main executable: JFWitchaven.app on macOS, whaven.exe on Windows. You ought to see the startup window open at the Configuration tab.
You will now need to import the game data from a commercial release or the 3-level preview version of Witchaven as the game will not work without it.
- Click the "Choose a location..." button, then navigate to a location where Witchaven data can be found.
- Choose a folder and JFWitchaven will then scan the location you've selected, copying any compatible game data it finds.
Where game data files are stored by JFWitchaven depends on the operating system you are using:
- (Linux, shared with all users)
/usr/local/share/games/jfwhaven - (Linux, single user)
~/.jfwhaven - (macOS, single user)
~/Library/Application Support/JFWitchaven - (Windows) wherever you've put whaven.exe
Below are known locations of Witchaven game data for various sources:
- MS DOS Registered version CD-ROM
- In the
WHAVENdirectory of the disc. - Registered version from GOG.com on Windows
- In GOG Galaxy 2, go to Witchaven, open the 'options' menu (beside Play), choose Manage installation > Show folder. Make note of this location to use for importing.
- Registered version from Steam on Windows
- In Steam, go to Witchaven, open the 'gear' menu, choose Manage > Browse local files. Make note of this location to use for importing.
- MS DOS 3-level Preview version
- You can fetch whcdpreview.zip from my site ready to unzip and point JFWitchaven at for importing.
"Portable" Installation
Typically the game will store its configuration information and saved games in a private location for your user account:
- (Linux)
~/.jfwhaven - (macOS)
~/Library/Application Support/JFWitchaven - (Windows)
C:\Users\your-name\AppData\JFWitchaven
To have the game instead store these files in the working directory where the game was started, create an empty file named user_profiles_disabled (no extension) beside the executable. You can put the game data files in the same location, thus making everything self-contained and 'portable'.
Console Commands
This is a list of more useful console commands and settings and their purpose:
- mousebutton <1–2> <action>
- mousebutton list
- Set a mouse button action. The 'list' parameter will show current action mappings.
- joystickbutton <1–4> <action>
- joystickbutton list
- Set a joystick button action. The 'list' parameter will show current action mappings.
- keybutton <hex scancode> <action>
- keybutton list
- Set a keyboard button action. The 'list' parameter will show current action mappings.
- clear
- Clear the console.
- glinfo
- Displays some information about the OpenGL driver. Use "glinfo exts" to display supported OpenGL extensions.
- glmultisample <0, 1, 2, …>
- Enable OpenGL multisample antialiasing. 0 disables it. You need to use "restartvid" to apply any changes to this value.
- gltextureanisotropy <level>
- Sets the OpenGL anisotropic filtering level. The default is the highest level supported by the hardware.
- gltexturemode <mode-number>
- Sets the OpenGL texturing mode. Valid values are:
0 GL_NEAREST 1 GL_LINEAR 2 GL_NEAREST_MIPMAP_NEAREST 3 GL_LINEAR_MIPMAP_NEAREST (bilinear) 4 GL_NEAREST_MIPMAP_LINEAR (gives an unfiltered appearance like the original software renderer) 5 GL_LINEAR_MIPMAP_LINEAR (trilinear, the default) - glusetexcompr <0 or 1>
- Enables or disables the use of OpenGL texture compression for replacement textures. You need to use "restartvid" to apply any changes to this value.
- help <name>
- Displays a help message for a particular console variable or command.
- listsymbols
- Displays the names of all commands and variables available in the console.
- osdrows <num>
- Sets the number of visible lines of the console when it is open.
- restartvid
- Reinitialise video to apply settings changes.
- screencaptureformat <0 or 1 or 2>
- 0 = Targa, 1 = PCX, 2 = PNG (default)
- usegammabrightness <0 or 1 or 2>
- Set brightness in one of several ways. 0 = palette-based, 1 = shader-based (default), 2 = system gamma. System gamma will brighten the whole display when in windowed mode.
- usegoodalpha <0 or 1>
- If 1, a lower alpha cutoff value is used when rendering textures with transparency, which gives better looking transparent textures at the expense of some sprites behind the transparent item potentially being invisible in certain circumstances. 0 is a more compatible value (and is the default) for this option but slight visual degradation will result.
- vidmode <bpp>
vidmode <xdim> <ydim> [bpp [fs [display]]] - Change the video mode. xdim ydim are the resolution. bpp is the colour depth (8, 16, 24, 32). fs is 0 for windowed, 1 for fullscreen. display is a display number for fullscreen mode, with 0 being the primary display.
- maxrefreshfreq <0 or freq>
- Set the highest display refresh frequency for fullscreen OpenGL modes. 0 is the default representing 'no maximum'.
License
JFWitchaven is not licensed under any discernable terms. Let's all just hope no spectre of Capstone or Intracorp one day rises to stomp on it.
The JFBuild engine used in JFWitchaven is used under the terms of the BUILD Source Code License.