Woof!
From DoomWiki.org
Woof! | |
Codebase | WinMBF |
---|---|
Developer(s) | Fabian Greffrath |
Initial release | 0.9.0 (2020-02-21, 4 years ago) |
Latest release | 14.5.0 (2024-04-30, 5 months ago) |
Development status | Active |
Written in | C |
Target platform | Cross-Platform |
License | GPLv2+ |
Source Repository
(Git) |
GitHub |
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 SDL2, 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. MAP03 of Ludicrium).
- 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 (v3.1.0 onward)
- Support for the MBF21 specification (v6.0.0 onward))
- Support for the DSDHacked extension (v7.0.0 onward)
- UMAPINFO and COMPLVL 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.
- Uses NanoBSP as an optional internal node builder (v14.0.0 onward).
- Support for voxel models, made specifically for Voxel Doom.
Compatibility modes[edit]
Woof! supports various 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 in-game. 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 |
History[edit]
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].
See also[edit]
External links[edit]
- Woof! repository hosted on GitHub
- Latest Woof! release build, hosted on GitHub
- Woof! thread on the Doomworld forums
References[edit]
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
WinMBF | Woof! | Nugget Doom |