Chocolate Doom

Chocolate Doom is a Doom source port developed by Simon "Fraggle" Howard. Its name is a joke around the phrase Vanilla Doom. Unlike other ports which attempt to fix the bugs in the original engine and add new features, Chocolate Doom deliberately attempts to behave as identically as possible to the original Vanilla Doom.

In particular, Chocolate Doom aims for:


 * Demo compatibility with DOS Doom 1.9
 * Savegame compatibility with DOS Doom 1.9
 * Bug compatibility with DOS Doom 1.9 (it should be subject to the same limits as Vanilla Doom)
 * Compatibility with DOS Doom 1.9 configuration files.

The port deliberately maintains the original Vanilla Doom limits in order to be useful to level designers. As most ports fix Doom's bugs, designing a level to work for Vanilla Doom usually requires using the DOS Vanilla Doom executable to test the level. Chocolate Doom provides the same functionality under modern operating systems. Furthermore, the fact that it is much closer to the original source code means that it may be useful in the future as a tool for checking demo compatibility in other ports.

Chocolate Doom is based on LibSDL which makes it portable across multiple operating systems. It runs on Microsoft Windows and GNU/Linux. Chocolate Doom is currently in the process of having multiplayer added, of which an alpha version has been released.

Extra features
In general there are few extra features included in Chocolate Doom, due to the nature of the port. The few extra features which do exist add functionality which was previously available in DOS tools. Some examples are:


 * Dehacked support, adding the functionality that the DOS dehacked program provided.
 * The ability to "merge" sprites and flats into the IWAD's list, adding the functionality that DeuTex provided and allowing many TCs to be played.
 * Compatibility with the Doom v1.91 turning resolution fix.
 * Mouse acceleration control, which was previously available through certain mouse drivers.
 * The ability to turn off vertical mouse movement. This was previously possible using a DOS program called "novert".