|Initial release||0.9.0 (2020-02-21, 3 years ago)|
|Latest release||12.0.0 (2023-09-15, 6 days ago)|
|License||GNU General Public License v2+|
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.
- 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.
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.
|vanilla||3||Ultimate Doom & Doom95|
|vanilla||4||Final Doom (emulates exclusively the release with bugged teleports)|
Woof! formally started development on December 11, 2019, when Fabian Greffrath in a Doomworld thread titled: "WinMBF goes 64 bit (WinMBF64 aka 3.0)" mentioned in a 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 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]".
|Source code genealogy|
|Based on||Name||Base for|