Woof! 8.1.0
-----------
- The engine is now able to load any map between E1M99 and E99M99 or MAP00
and MAP99, respectively, without necessary UMAPINFO support, e.g. by
means of the IDCLEV cheat or the -warp command line parameter (@rfomin).
- The current and next map are now reported when the IDCLEV cheat is
entered without a target map number (PrBoom+).
- The -noload and -noautoload parameters were added which prevent
autoloading of WADs and DEHs.
- Double-click acting as "use" has been fixed for subsequent clicks
(regression introduced in 8.0.0).
- Textures are now only composed of patches that are in the range of known
patches, fixes a crash at startup with t-drought_RC2.wad.
- The maximum screen width in widescreen mode is now capped at 1120 px
which corresponds to a 21:9 ratio in hires mode.
- The implementation of the Lost Soul bounce fix has been brought in line
with PrBoom+ (@rfomin).
Woof! 8.0.0
-----------
- Workaround for SDL_Mixer MP3 header check (fixes music in PREACHER.WAD)
(@rfomin).
- Fix order of DEH files processing (@rfomin).
- Fix automap marks in overlay mode (@rfomin).
- Multiple key (or mouse/gamepad button) bindings for all actions
(@rfomin).
- Modern gamepad support (@rfomin).
- Add (optional) transparent ghost monsters from Crispy Doom (@rfomin).
- Fix spectre/fuzz effect (taken from SMMU and Crispy Doom) (@rfomin).
- Uncouple showing "secret revealed" message from general messages.
- Add flashing in the automap for key based switches from Crispy Doom
(@rfomin).
- Fix things display in automap overlay mode (@rfomin).
- Error reporting when detecting PNG patches (@rfomin).
- Add forgotten codepointers to the [CODEPTR] dehacked section (fixes
axolotlx.wad) (@rfomin).
- Config settings for mouse acceleration (@rfomin).
- Fix idclev for UMAPINFO defined maps (@rfomin).
- Show time/STS widgets above status bar (extended HUD from DSDA-Doom)
(@rfomin).
- UMAPDEF lumps for internal UMAPINFO (fixes No Rest for the Living
midipack) (@rfomin).
- Cosmetic menu groups (@rfomin).
- Add comp_reservedlineflag (MBF21 v1.4 update) (@rfomin).
- Bring comp_ledgeblock implementation in line with DSDA-Doom (@rfomin).
- Save the setup menus' cursor positions.
- Reset the column drawing function (fixes some rendering issues).
- Print a message when toggling "always run".
- Add Chex Quest support (@rfomin).
- When drawing introductory levelname, use height of entering patch
(fixes CWILV graphics from Eviternity.wad) (@rfomin)
- Save window position across fullscreen toggles.
- Fix musinfo lumpnum reset (@rfomin).
- Port exclusive fullscreen over from Chocolate Doom (fullscreen_width
and fullscreen_height in config).
- Convert pusher source thing pointers into indices (fixes rare savegame
issue) (@rfomin).
- Add ENDOOM support from Chocolate Doom (@rfomin).
- Fix UMAPINFO enterpic field (@rfomin).
- Add global autoload directories to search before local ones (fixes
autoload on *NIX systems).
Woof! 7.0.0
-----------
- Options loaded from a PWAD are now disabled in the menu instead of
merely skipped (@rfomin).
- Trim trailing spaces off the demo footer.
- OPL emulation based on Nuked OPL3 Version1.8 has been ported over
from Chocolate Doom.
- Avoid namespace clash with the time symbol, e.g. on SmartOS.
- Use unambigious integer types in the BMP screenshot saving code.
- The Alt-Tab bug workaround has been extended to SDL 2.0.16 (@rfomin).
- The actual sample frequency is now fed back into snd_samplerate config
variable.
- Native Windows MIDI support has been implemented, replacing
woof-midiproc (@rfomin).
- The demo_version value is now logged in P_SetupLevel().
- Don't change MUSINFO music if nomusicparm is set (@rfomin).
- Fix wrong generalised door sounds (@rfomin).
- Fix the Boom elevators movement interpolation (@rfomin).
- Enable cosmetic compatibility options for all complevels, i.e.
comp_blazing, comp_doorlight and comp_skymap (@rfomin).
- Next level key also skips the current demo (@rfomin).
- cmake: always unzip SDL2 binaries in build directory (@melak47).
- Fix M_PAUSE graphics location in hires mode (@rfomin).
- Make keyed doors flash on the automap, ported over from Crispy Doom
(@rfomin).
- Keep the map static in overlay mode if not following the player.
- Implement DSDHacked support (@rfomin).
- Fix the dehacked string replacement behavior (@rfomin).
- Fixed a bug in DeHackEd string replacements with a length of exactly
four (@JadingTsunami).
- Add comp_voodooscroller, MBF21 v1.3 update (@rfomin).
- Demo features (@rfomin).
- If a new game is started during demo recording, start a new demo.
- Add key to finish demo recording.
- Count spawned monsters
- Add demo file name suffix counter, rngseed is generated before
restart recording.
- Use SDL functions to load a WAV lump (@rfomin).
Woof! 6.3.1
-----------
- SDL's endianness swapping functions are now used.
- A demo footer is added when recording a demo (@rfomin).
- The EV_BuildStairs() implementation has been brought in line with
PrBoom+ (@rfomin).
- Support for the COMPLVL lump has been added (@rfomin).
- The UMAPINFO demo extension header has been deprecated (@rfomin).
Woof! 6.3.0
-----------
- Initialization of the total time counter on the intermission screen
has been fixed, which affects 'complevel mbf' demo compatibility
(@rfomin).
- Resetting of the compatibility vector has been fixed when loading
'complevel vanilla' savegames (@rfomin).
- Saving during demo playback has been fixed (@rfomin).
- Status bar refresh is enforced in the Main, Episode and Skill menus
as in Crispy Doom (@rfomin).
- Loading savegames during multiplayer demo playback (e.g. AV.WAD
DEMO1) has been fixed (@rfomin).
- Demos without 'PR+UM' signature are now ignored (@rfomin).
- SFX are now interpolated in a 16-bit int domain.
- The default endpic has been fixed for UMAPINFO (@rfomin).
- Dehacked patches from the command line are now processed after
mobjinfo initialization (@rfomin).
- Randomly mirrored death animations have been ported over from
Crispy Doom (@rfomin).
- Blood color patches have been added for Rekkr and Hacx (@rfomin).
Woof! 6.2.0
-----------
- The low-pass filter for sound effects has been ported over from
Chocolate Doom, optional and disabled by default.
- The map title widget string is now capped at the first line break.
- The fix for A_SpawnObject() not transferring pointers as intended
if called in a missile's death state has been ported over from
DSDA-Doom.
- Calling S_StartSound() for sfx_None does not quit with an error
message anymore.
- Deleting savegames from the "Save" menu has been fixed (@rfomin).
- Numerical values already set for MBF21 Bits fields are not overridden
anymore by checking for mnemonics.
- The WI_updateStats() timing has been adjusted for demo compatibility
with PrBoom+ (@rfomin).
- Unsigned integers are now read in deh_GetData() (@rfomin).
Woof! 6.1.0
-----------
- The DEHEXTRA implementation has been enhanced and completed:
- 200 dummy sounds have been added (@rfomin).
- Support for the 'Dropped item' DEHACKED field has been added
(@rfomin).
- The engine does not quit anymore if joystick initialization failed.
Also, errors that occur during SDL initialization are now properly
reported (@rfomin).
- Saving of the "window_position" config parameter has been fixed.
- Missing IWAD headers are now non-fatal, preparing support for
additional IWADs such as HACX or REKKR.
- Specific support for the HACX IWAD has been aded.
- The CI system has been migrated to Github actions (@rfomin).
- The -levelstat option to write level statistics upon exit has been
ported over from Crispy Doom (@rfomin).
- A typo in saveg_read_ceiling_t() has been fixed which messes up
savegames (@rfomin).
- The console is now enabled for MSVC debug builds (@rfomin).
Woof! 6.0.0
-----------
- Support for the MBF21 complevel has been added, compliant to Rev 1.2
of the spec (@rfomin).
- Support for the label field has been added to the UMAPINFO
implementation, bumping compliance to Rev 2 of the spec (@rfomin).
- Support for ExM0 maps has been fixed, the INTERPIC patch is used for
intermission screens for episode > 3 (@rfomin).
- Support for autoloading from PWAD autoload directories has been added
(@rfomin).
- Support for deleting savegames from the menu has been added (@rfomin).
- The "next level" key has been fixed for the last map in a UMAPINFO
sequence (@rfomin).
- UMAPINFO lumps have been added to get autoloaded for MASTERLEVELS.WAD,
NERVE.WAD, E1M4B.WAD and E1M8B.WAD (@rfomin).
- Parsing of the episode field in the UMAPINFO implementation has been
fixed (@rfomin).
- Support for backward compatible savegames has been added (@rfomin).
- The colored blood feature has been ported over from PrBoom+ (@rfomin).
- The "Enemies" menu is not completely disabled in the Vanilla complevel
anymore (@rfomin).
- The Automap overlay and rotate modes have been ported over from Crispy
Doom (@rfomin).
- An option has been added to always show level stats.
- The UMAPINFO demo extension has been added (@rfomin).
- The ability to keep the default intermission screen for a map with an
UMAPINFO entry has been fixed (@rfomin).
- Map entries without a 'levelname' field in their UMAPINFO entry now
fall back to the default map title (@rfomin).
- The ability to set 'partime' with an UMAPINFO entry has been fixed
(@rfomin).
Woof! 5.1.0
-----------
- The flashing disc icon position has been fixed in wide screen mode
(@rfomin).
- The double binding of the "menu up" and "menu down" keys has been
removed.
- Texture offsets are now always recalculated.
- Path names with Unicode encoding are now supported on Windows
(@rfomin).
- The "Next Level" key has been fixed for Episode 4 (@rfomin).
- An end-of-line character mismatch has been fixed in the Dehacked
string parser.
- Demo compatibility when recording in Vanilla mode has been fixed
(@rfomin).
- The REJECT table overflow emulation from PrBoom+/Chocolate Doom has
been ported over (@rfomin).
- MIDI controller values are now clamped into the [0..127] range,
fixing MUS music for e.g. TNT MAP02.
- In Vanilla and Boom complevels some entries in the Setup menu are
now disabled if they don't apply (@rfomin).
- 64 MB of RAM are now allocated by default (@rfomin).
- The widescreen offsets for the Advanced HUD and custom messges has
been fixed (@rfomin).
- Extended HELP screens have been fixed and HELP screens are now
loaded from PWADs, if available (@rfomin).
Woof! 5.0.0
-----------
- Support for the "UMAPINFO" lump has been added, compliant to Rev 1.6 of
the spec (@rfomin).
- The concept of compatibility levels has been added, currently offering
"Vanilla", "Boom" and "MBF" (default). The default compatibility level
may be changed through the menu and overridden with the -complevel
parameter, allowing for both numeric and named arguments as in PrBoom+
(@rfomin).
- The comp_3keydoor compatibility flag has been removed for better
compatibility with PrBoom+. Fixing this bug is now handled through
compatibility levels.
- Mouse button bindings for backward motion and turning right/left have
been added.
- Support for recording and playing back Vanilla demos without reduced
turning resolution has been added through the -longtics parameter
(@rfomin).
- Support for "autoload" directories has been added, both for common
("doom-all") and per IWAD files. WAD files in these directories are
loaded before those passed to the -file parameter, DEHACKED files in
these directories are processed after those passed to the -deh parameter
and before those embedded into WAD files.
- The limit for the values set by the mouse sensitivity thermometers in the
menu has been removed.
- The instruction message for multiple choice menu items has been fixed
(@rfomin).
- Some portability issues caused by different platforms using either
/ or \ as directory separators have been fixed (@rfomin).
- The order of the demo sequence has been changed to show the CREDIT
graphic screen after the first demo and the port's own credit screen
after the second.
- The widescreen offset for the color picker cursor in the menu has been
fixed (@rfomin).
- Comments and helps strings are now saved in the correct order in the
config file (@rfomin).
- Widescreen graphics for Doom 1 endings have been fixed (@rfomin).
- Boom friction is now properly saved in savegames (@rfomin).
Woof! 4.0.2
-----------
- Add a config example for Vanilla automap colors (thanks @OpenRift412).
- Do not collapse leading slashes on Windows anymore in NormalizeSlashes()
to recognize canonicalized Windows paths (@rfomin).
- Prevent running out of stack space in P_SetMobjState() (@rfomin).
- Only save MUSINFO music in savegames if it's actually playing.
- Keep the comp_3keydoor compatibility flag out of the comp[] array to
prevent demo header mismatch with PrBoom+
Woof! 4.0.1
-----------
- Compatibility with PrBoom+ complevel 11 has been vastly improved:
- Player bobbing calculation has been fixed (@rfomin).
- Resetting of the doomednum feature for the MT_SCEPTRE and MT_BIBLE
things has been removed, which would lead to these map things not
being spawned if not in "beta emulation" mode (@rfomin).
- The implementations of P_Move(), P_CreateBlockMap() and
P_FindShortestTextureAround()/P_FindShortestUpperAround() have been
modified to match the ones from Boom, which are unconditionally used
in PrBoom+ (@rfomin).
- More MBF code pointers have been disabled in Boom compatibility mode
(@rfomin).
- Compatibility defaults have been brought in line with PrBoom+:
- Enable "Zombie players can exit levels".
- Disable "Build stairs exactly the same way that Doom does".
- Enable "Fix 3-key door works with only 2 keys".
- The padvalue typo in the REJECT buffer overflow emulation has been
fixed (@rfomin).
- Data is now properly free()d in some functions in i_sound.c (@rfomin).
- A wrong function argument in MUSINFO logging has been fixed (@rfomin).
- A dummy entry has been added to the S_music[] array for the NUMMUSIC
counter, fixing a crash when changing music from a MUSINFO track.
Woof! 4.0.0
-----------
- The -fast and -respawn options are now properly reloaded from
savegames.
- PNG screenshots are now exact reproductions# of the actual
game# screen.
- Framebuffer overflows are now prevented in V_DrawPatchGeneral() and
V_CopyRect().
- The bmp2c.c tool now builds with MSVC build (@rfomin).
- A workaround for the SDL 2.0.14 Alt-Tab bug on Windows has been
introduced (@rfomin).
- A woof-midiproc.exe has been ported over from Crispy Doom, allowing to
set SFX and music volume separately on Windows (@rfomin).
- The SPECHITS overflow emulation has been ported over from Chocolate
Doom / PrBoom+, allowing for some more obscure Vanilla demos to keep
sync.
- The "IDKFA" cheat string has been externalized, allowing it to be
replaced by DEHACKED.
- The widescreen rendering mode has been ported over from Crispy Doom
with proper support for the widescreen assets found e.g. in the Unity
version of Doom (@rfomin).
- MIDI playback on big-endian systems has been fixed (@BeWorld2018).
- The "HI_START"/"HI_END" namespace has been introduced to avoid
conflicts with high-resolution textures (@rfomin).
- The option to show the "A secret is revealed!" message has been added
(@rfomin).
- The window geometry and display index settings are now saved across
restarts (@rfomin).
- The -pistolstart command line option has been added (@rfomin).
- Support for 16-bit WAV sound lumps has been added (@rfomin).
- Support for the "MUSINFO" lump has been added (@rfomin).
- Demo compatibility with Boom 2.02 has been vastly improved:
- MBF codepointers are now disabled during Boom demo playback (@rfomin).
- The P_FindShortestTextureAround() function has been fixed (@rfomin).
- Boom's friction code has been restored (@rfomin).
- Boom's BLOCKMAP generation code has been integrated (@rfomin).
- Sprite lumps smaller than 8 bytes are now ignored (@rfomin).
- Empty music lumps (i.e. with zero length) are now properly handled
(@rfomin).
- The weapon attack alignment implementation has been brought in line
with Crispy Doom.
- The "no fog on spawn west" Vanilla Doom bug is now properly emulated
(@rfomin).
- Switches definitions referencing unknown texture names are now ignored
instead of exiting (@rfomin).
- A crash has been fixed when reading out joystick button states.
- Endianess issues with positioning the status bar patch, drawing the
bunny scroll screen and fullscreen patches have been fixed.
Unfortunately, some of these changes made it necessary to change the
savegame format which is now incompatible to previous releases.
Changelog:
- A choice of a centered or bobbing weapon sprite during attack has been
added.
- A default save slot name is generated when the user saves to an empty
slot.
- The total time for all completed levels is now calculated.
* The player coordinates widget on the Automap is now optional.
* Sounds may now be played in their full length. However, this only
applies to sounds originating from (removed) map objects, not to
those that emerge "in the player's head".
* All textures are now always composed, whether they are multi-
patched or not. Furthermore, two separate composites are created,
one for opaque and one for translucent mid-textures on 2S walls.
Additionally, textures may now be arbitrarily tall.
* A new wrapping column getter function has been introduced to allow
for non-power-of-two wide mid-textures on 2S walls.
* Parts of the renderer have been upgraded to use 64-bit integer types.
* Empty DEHACKED lumps are now skipped.
- Binaries are now built with optimization flags and debugging information
(stripped for release).
- A "secret" option to force integer video scaling factors has been added
("integer_scaling").
- A mouse button binding for the "Use" action has been added. Double click
acting as "Use" has been made optional.
- The "Ouch Face" and the "Picked up a Medikit that you really need" message
are now shown as intended.
You may have to rebind your mouse buttons!
- Level stats and level time widgets have been added to the automap.
- The weapon sprites can now be centered during attacks.
- A crash when a Dehacked patch attempts to assign a non-existent code
pointer has been fixed.
Bug-fix release, fixing linedef type 242 rendering with moving control
sectors and SDL2_Mixer opening a different number of audio channels than
requested.
Changelog:
- The code has been prepared to compile with GCC 10.1.
- Support for tall textures and sprites in DeePsea format has been added.
- Missing textures are now treated as non-fatal.
Woof! is a continuation of Lee Killough's Doom source port MBF targeted
at modern systems.
MBF stands for "Marine's Best Friend" and is regarded by many as the
successor of the Boom source port by TeamTNT.