From DoomWiki.org

Codebase WinMBF
Developer(s) Fabian Greffrath
Initial release 0.9.0 (2020-02-21, 3 years ago)
Latest release 12.0.0 (2023-09-15, 6 days ago)
Development status Active
Written in C
Target Platform Cross-Platform
License GNU General Public License v2+
Website Homepage
Source Repository



Woof! is a source port developed by Fabian Greffrath forked from WinMBF. Woof! is developed based on the WinMBF code with the aim to make MBF, originally by Lee Killough, more widely available and convenient to use on modern systems.

To achieve this goal, Woof! is less strict regarding its faithfulness to the original MBF. It is focused on quality-of-life enhancements, bug fixes and compatibility improvements. However, all changes have been introduced in good faith that they are in line with the original author's intentions and even for the trained eye, this source port should be hard to distinguish from the original MBF.

Woof!'s name was inspired by Doom's logo turned upside down, which spells Wood. As this would be a rather silly name, it was thus named Woof, after the barking sound dogs make, and a reference to Marine's Best Friend.

Main features[edit]

  • The code has been made 64-bit compatible.
  • The code has been ported to SDL-2, the game scene is now rendered to screen using hardware acceleration (if available).
  • The level building code has been upgraded to use unsigned data types internally, which allows for loading maps that have been built in "extended nodes" format. Furthermore, maps using nodes in DeePBSP and (compressed or uncompressed) ZDBSP formats can now be loaded.
  • The renderer has been upgraded to use 32-bit integer variables internally, which fixes crashes in levels with extreme heights or height differences (e.g. ludicrm.wad MAP03).
  • Fullscreen mode can be toggled in the General menu section or by pressing Alt+Enter, and it is now saved in the config file.
  • The complete SDL input and event handling system has been overhauled based on code from Chocolate Doom 3.0.
  • The search path for IWADs has been adapted to modern requirements, taking the install locations for common download packages into account.
  • On Windows systems, support for dragging and dropping WAD and DeHackEd files onto the executable has been added.
  • Screenshots may be saved in PNG format if the SDL2_Image library is found at runtime.
  • The sound system has been completely overhauled, using SDL_Mixer.
  • The original Spectre/Partial invisibility effect has been brought back.
  • The flashing disk icon has been brought back.
  • Support for helper dogs and beta emulation from MBF is now unconditionally enabled.
  • Support for the DEHEXTRA standard. (Version 3.1.0 onward)
  • Support for the MBF21 specification. (Version 6.0.0 onward))
  • Support for the DSDHacked extension. (Version 7.0.0 onward)
  • UMAPINFO support.
  • Modern WASD movement scheme by default.
  • Playback of Vanilla Doom demos has been vastly improved.
  • Support for the Doom 3: BFG Edition IWAD files.
  • Support for the Freedoom IWAD files.

Compatibility modes[edit]

Woof! supports various of compatibility settings to adjust its behavior, much like those initially implemented for MBF. In addition to individual settings for each difference in behavior, it allows the user to set compatibility levels to behave like earlier versions and modifications of the Doom engine. With the compatibility levels Woof! may provide almost flawless compatibility with regular demos, as well as those recorded with Boom engines.

To change compatibility levels, the Default complevel menu setting can be used ingame. The game can also be launched with the -complevel parameter followed by one of the following aliases or numbers:

Alias Level Emulated engine
vanilla 2 Doom v1.9
vanilla 3 Ultimate Doom & Doom95
vanilla 4 Final Doom (emulates exclusively the release with bugged teleports)
boom 9 Boom v2.02
mbf 11 MBF
mbf21 21 MBF21


Woof! formally started development on December 11, 2019, when Fabian Greffrath in a Doomworld thread titled: "WinMBF goes 64 bit (WinMBF64 aka 3.0)"[1] mentioned in a post to "have started my own branch to achieve 64-bit compatibility meanwhile". These first builds still carried the WinMBF moniker.

Starting at version 0.9.0, released on January 21 through this post the port changed to its current name. It required the libraries shipped with Fabian's other port, Crispy Doom. After receiving enough feedback, Fabian then officially announced Woof! version 1.0.0 in a Doomworld thread titled: "This is Woof! 1.0.0 (Feb 28, 2020) [Updated WinMBF]"[2].

External links[edit]


  1. Doomworld forums thread
  2. Doomworld forums thread

Source code genealogy
Based on Name Base for
WinMBF Woof! Active