Synopsis
Crispy Doom is a friendly fork of Chocolate Doom that provides a 
higher display resolution, removes the static limits of the Doom engine 
and offers further optional visual, tactical and physical enhancements 
while remaining entirely config file, savegame, netplay and demo 
compatibile with the original.
Objectives and features
Crispy Doom is a source port that aims to provide a faithful Doom 
gaming experience while also featuring some user-requested improvements 
and enhancements. It is forked off of Chocolate Doom to take 
advantage of its free and open-source code base, portability, accuracy 
and compatibility with Vanilla Doom.
Its core features are:
Enhanced 640x400 display resolution, with the original 320x200 
resolution still available in the "Graphics Detail: Low" mode.
Removal of all static engine limits, or at least raising of the less 
crucial ones.
Full support for the "Doom Classic" WADs shipped with 
the "Doom 3: BFG Edition", especially the "No Rest For The Living" 
episode shipped in the NERVE.WAD file.
Furthermore, the following optional user-visible features are available:
Jumping.
Free vertical looking, including mouse look and vertical aiming.
A new minimal Crispy HUD, displaying only the status bar numbers.
Colorized status bar numbers, HUD texts and blood sprites for certain 
monsters.
Tranlucency for certain sprites and status bar elements in the Crispy HUD.
Randomly mirrored death animations and corpse sprites.
Players may walk over or under monsters and hanging corpses.
Aiming support by a crosshair that may get directly rendered into the 
game world.
Centered Weapons when firing, weapon recoil thrust and pitch.
Reports whenever a secret is revealed.
Level statistics in the Automap.
All of these features are disabled by default and need to get enabled 
either in the in-game "Crispness" menu or in the crispy-doom-setup tool.
They are implemented in a way that preserves demo-compatibility with 
Vanilla Doom and network game compatibility with Chocolate Doom. 
Furthermore, Crispy Doom's savegames and config files are compatible, 
though not identical, to Vanilla Doom's.
Crispy Doom strives for maximum compatibility with all "limit-removing 
Vanilla" maps -- but not Boom or ZDoom maps. Many additional less 
user-visible features have been implemented, e.g. fixed engine 
limitations and crashes, fixed rendering bugs, fixed harmless game logic 
bugs, full support for DEHACKED files and lumps in BEX format, 
additional and improved cheat codes, an improved Automap, and many more!
For a detailed list of features and changes please refer to the release
 notes below.
New command line parameters
-mergedump <file> merges the PWAD file(s) given on the command line 
with the IWAD file and writes the resulting data into the <file> given 
as argument. Might be considered as a replacement for the DEUSF.EXE 
tool.
-fliplevels loads mirrored versions of the maps.
-blockmap force a (re-)building of the BLOCKMAP lumps for loaded maps.
New cheat codes
TNTWEAP followed by a weapon number gives or removes this weapon (8 = Chainsaw, 9 = SSG). 
Try to load Doom 1 with DOOM2.WAD as a PWAD and type TNTWEAP9 to play the SSG in Doom 1.
TNTEM kills all monsters on the current map (and disables all cube spitters).
SPECHITS triggers all Linedef actions on a map at once, no matter if they are enabled by pushing, 
walking over or shooting or whether they require a key or not. It also triggers all boss monster and Commander Keen actions if possible.
NOTARGET toggles deaf and blind monsters that do not act until attacked.
TNTHOM toggles the flashing HOM indicator (disabled by default).
SHOWFPS toggles printing the FPS in the upper right corner.
NOMOMENTUM toggles a debug aid for pixel-perfect positioning on a map (not recommended to use in-game).
GOOBERS triggers an easter egg, i.e. an "homage to an old friend". ;-)
IDBEHOLD0 disables all currently active power-ups.
Compatibility
Savegames saved by Crispy Doom are still compatible with Vanilla Doom, 
but are not identical anymore to the files that Vanilla Doom would have 
saved. This is caused by several reasons:
In order to distinguish the NRFTL levels from the regular Doom 2 levels,
Crispy Doom uses the gameepisode variable, which is used in Doom 1 
to distinguish between the game episodes but is hitherto unused in 
Doom 2 (e.g. Chocolate Doom ignores the gameepisode variable in Doom 2).
Consequently, savegames that have been recorded playing NRFTL in Crispy
Doom can be loaded in Chocolate Doom if the latter is invoked with
"-file nerve.wad". On the other hand, savegames that are recorded in 
Chocolate Doom with the "-file nerve.wad" parameter cannot immediately
be loaded in Crispy Doom without the "-file nerve.wad" parameter. In 
order to "convert" savegames to Crispy Doom, run it with the 
"-file nerve.wad" parameter, load the savegames and save them again. 
It should then be possible to load them without the "-file nerve.wad"
parameter in Crispy Doom.
Crispy Doom preserves the mobj->target and mobj->tracers fields when 
saving a game by replacing their contents with specific indices. These 
indices are then converted back into the corresponding pointers in 
Crispy Doom when the game is loaded again. In Vanilla Doom, however, 
the contents of the mobj->target and mobj->tracers fields are 
disregarded and get overwritten with NULL when loading the game. Games 
saved in Vanilla Doom, on the other hand, still contain pointers in 
the mobj->target and mobj->tracers fields, but these will not match any 
of the indices expected by Crispy Doom and will thus get overwritten 
with NULL as in Vanilla Doom.
If you are going to share savegames between Crispy Doom and 
Chocolate Doom, make sure to load all PWADs with the -merge parameter 
in the latter.
The Crispy HUD is displayed when blocksize == 12, which isn't supported
by Chocolate Doom. To retain config file compatibility, 
quit the game with any other view size.
The "flipped levels" and "SSG available in Doom 1" features introduced 
in Crispy Doom 1.3 are considered strictly experimental! They may 
produce savegames, demo files or netgames that are not compatible with 
Chocolate Doom, Vanilla Doom or previous versions of Crispy Doom at all.
Furthermore, the SPECHITS cheat introduced in Crispy Doom 1.5 may 
leave a map in a completely inconsistent state and games saved after 
using it may even cause Vanilla to crash by exceeding static limits.
  |