Releases: fabiangreffrath/woof
Releases · fabiangreffrath/woof
Woof! 15.0.0
New Features and Improvements
-
Mod Support:
- ID24 features:
SBARDEF
, with additional widescreen layout and widgets.SKYDEFS
.UMAPINFO
intermission extensions.extras.wad
, which will be autoloaded if found.
- Added support for
TRAKINFO
(remixed soundtrack from "Doom + Doom II"). - Added support for PNG graphics, textures, flats, and sprites, which are automatically converted to palettized Doom graphics. 32-bit PNGs are converted to 8-bit with color degradation (not recommended).
- Added resource directories and partial support for PK3 archives.
- Added
VX_START
/VX_END
namespace for voxels.
- ID24 features:
-
Video:
- Added 32:9 aspect ratio support for ultrawide monitors.
- Draw sprites overlapping into visible sectors: enhancement to stop things from disappearing due to "anchor" sector not being in line of sight (thanks to @SirBofu).
- Limited max distance for sprites to 8192 map units, as before (improves performance in
comatose.wad
). - Improved FPS limiter (thanks to @gendlin).
-
Sound:
- Added 4-band equalizer for sound effects.
- Added output limiter and SFX channels options to menu.
- Added OpenAL Doppler effect option to menu.
- Added click/pop prevention for sound lumps that start or end with a non-zero amplitude.
-
Music:
- Added auto gain (loudness normalization) menu option for music, which applies to sampled music (MP3/OGG/XM/etc.), FluidSynth, and OPL3.
- Added support for multiple OPL3 chips, and made various improvements (thanks to @jpernst).
- Changed native MIDI music volume curve to linear.
- Added FluidSynth and OPL3 menu items.
- Updated default FluidSynth reverb and chorus parameters. These parameters are configurable in
woof.cfg
. - Improved EMIDI support to match behavior of Build engine games.
- Added DMXOPL enhanced FM patch set.
-
Input:
- Added option for fake high-resolution turning when using short tics: see
fake_longtics
inwoof.cfg
. - Added quickstart cache option (from DSDA-Doom): see
quickstart_cache_tics
inwoof.cfg
. - Added a "Weapon Carousel" to visualize switching weapons using the mouse wheel or "Next"/"Prev" buttons (thanks to @JNechaevsky for the graphics).
- Added "Vanilla Weapon Cycle" option.
- Added "Last" weapon key binding.
- Added support for SSG key binding when using vanilla compatibility level.
- Improved performance when handling many input events at once.
- Optimized input polling for older computers (thanks to @gendlin).
- Added support for native keyboard input (from Chocolate Doom).
- Added option for fake high-resolution turning when using short tics: see
-
- Added custom weapon slots: the default configuration uses the D-pad and matches the Doom II Xbox 360 port.
- Added rumble support. Rumble patterns are generated dynamically from sound files. Supports weapon mods.
- Added gyro support.
- Added flick stick support.
- Added option to force platform-specific (i.e. Xbox, Playstation, or Switch) button names: see
joy_platform
inwoof.cfg
. - Added option to force keyboard or gamepad menu help text, useful for mixed input devices: see
menu_help
inwoof.cfg
. - Streamlined save game menu when using a gamepad.
-
Quality of Life:
- Added "Auto Save" option: the game is automatically saved at the beginning of a map, after completing the previous one.
- Added compatibility database from DSDA-Doom (
COMPDB
lump), which automatically applies compatibility options. - Added option to correct the automap's aspect ratio (thanks to @thearst3rd).
- Added aliases for popular command-line parameters (
-cl
,-nomo
,-uv
,-nm
). - Added announcement of map titles (from DSDA-Doom).
- Added Crispy Doom automap color scheme.
- Added "count" option for secret-revealed message (thanks to @MrAlaux).
- Added level stats widget format settings (thanks to @MrAlaux).
- Added fast exit when pressing Alt+F4 or the window close button.
- Improved deathmatch HUD widgets (scoreboard and level time countdown).
-
Tools:
- Added advanced coordinates widget (from DSDA-Doom).
- Added command history widget (from DSDA-Doom).
-
Miscellaneous:
- Replaced "Show ENDOOM Screen" menu item with "Exit Sequence" (Off, Sound Only, PWAD ENDOOM, Full).
- Added drag-and-drop on non-Windows systems.
- Added
SPEED
cheat to show a speedometer. - Rewrote help strings in
woof.cfg
(thanks to @MrAlaux). - Added interpolation of wipe melt animation (from Rum and Raisin Doom).
- Fit finale text to widescreen instead of inserting line breaks.
- Always use traditional menu ordering (removed Boom choice).
- Moved all autoload and internal resources to
woof.pk3
archive. - Allowed setting
gamedescription
(and thus the window title) with DEHACKED. - Allowed up to 10 episodes in UMAPINFO.
- Added more paths to find IWADs.
- Removed source port credits screen, restoring the vanilla demo loop.
Bug Fixes
- Fixed player being added to monster friend list when damaged below 50% health, improving performance on maps with many monsters (from DSDA-Doom).
- Fixed
UMAPINFO
bossaction
walk-over actions (from DSDA-Doom). - Fixed MBF21 SSG autoswitch causing weapons to disappear (from DSDA-Doom).
- Fixed MBF21 ripper weapons causing additional damage when "Improved Hit Detection" is enabled.
- Fixed adding/removing
NOBLOCKMAP
orNOSECTOR
with MBF21 DEHACKED (from DSDA-Doom). - Fixed sound origin for huge levels (from PrBoom+).
- Fixed direct SSG switches in vanilla demos (fixes desync in
b109xm-00463.lmp
). - Fixed highlighting of death-exit sectors on automap.
- Fixed pressing Alt+Tab and Windows key when using exclusive fullscreen.
- Fixed OpenGL exclusive fullscreen.
- Fixed free look range.
- Fixed free look behavior when loading a level or using toggles.
- Fixed various issues with the "On Death Action" feature.
- Fixed misaligned 200-pixels-tall sky textures.
- Fixed stretching of vertically scrolling skies.
- Fixed looping of MIDIs that don't set initial channel volumes.
- Fixed ENDOOM aspect ratio.
- Fixed game speed changes affecting MIDI playback.
- Fixed a crash in the MAP06->MAP07 transition in
PUSS33_DIEROWDY.wad
. - Fixed potential desyncs by MBF's correction of the SSG flash.
- Fixed garbage columns when aspect ratio correction is disabled.
- Fixed automap thing interpolation with the
FREEZE
cheat enabled. - Fixed resolution affecting minimum/maximum automap scale.
- Fixed crosshair target lock-on not working on voxel models.
- Fixed clean screenshots on demo and intermission screens.
- Fixed game speed affecting dynamic resolution.
Regressions
- Removed the Boom HUD and
WOOFHUD
support, they are replaced bySBARDEF
. - Removed the "Blink Missing Keys" feature.
Acknowledgments
- El Juancho for testing and providing feedback on quickstart cache.
- gendlin and Trov (bangstk) for testing and providing feedback on fake high-resolution turning.
- gendlin for FPS limiter improvements and various general optimizations.
- Jibb Smart for publishing reference implementations of gyro and flick stick features.
- JustinWayland, protocultor, sndein, and AL2009man for testing and providing feedback on gyro and flick stick features.
- Julia Nechaevskaya for help with 32:9 support.
Woof! 14.5.0
New Features and Improvements
- Implemented support for native MIDI output on all major platforms (WinMM on Windows, ALSA on Linux, Core MIDI on macOS):
- As a result, Woof! can now output to any software or hardware device that uses a MIDI port and supports General MIDI. Nuked-SC55 is recommended for accurate Roland SC-55 emulation.
- Features previously exclusive to Windows are now available on all platforms. This includes
midi_complevel
,midi_reset_type
, full EMIDI support, loop points (Final Fantasy, RPG Maker), and more. - Automatic reset delay for better compatibility with Roland and Yamaha hardware. See
midi_reset_delay
config option. - Capital tone fallback to fix songs with invalid instruments. Emulates the behavior of early SC-55 models. See
midi_ctf
config option. - Smoother switching between MIDI songs.
- Context-related sound pitch shifting.
- Independent keyboard/mouse controls in menus. Mouse movement does not affect keyboard cursor. Various minor improvements.
- Ability to set maximum resolution -- see
max_video_width
andmax_video_height
in config. - Added
change_display_resolution
config option, which will only work if exclusive fullscreen mode is enabled and the maximum resolution is set. For CRT monitors users. - Better support for
-1
,-2
and-3
command-line parameters. - Added
all-all
,doom-all
,doom1-all
anddoom2-all
autoload folders. - Allowed autoloading in shareware mode.
- Unified Vanilla Doom and Boom HUD widgets, which are now configurable -- see
woofhud.lmp
in theall-all
autoload folder. - Added a parser for
Obituary_Deh_Actor
DEHACKED strings (thanks to @SirBofu). - Save files now use UMAPINFO labels instead of map markers.
- Moved secret message higher, and prevented it from disabling the crosshair.
- Added
snd_limiter
config key to toggle the sound limiter. - Restored "Resampler" option in the "General: Audio" menu.
- The order in which automap lines are drawn has been changed to improve visual consistency.
Bug Fixes
- Fixed error-out with some weapon sprites on some resolutions.
- Fixed various HOM columns that appeared on some resolutions.
- Prevented light scale overflow, fixing dark strips of light on very-close walls.
- Fixed skies being shifted down a few pixels.
- Fixed mouse movement after running the game with the
-warp
parameter on Linux. - Fixed UMAPINFO lump not being parsed in IWADs (fixes chex3v.wad).
- Compatibility menu items are now disabled according to command-line parameters.
- Fixed savegames restoring pitch even with freelook disabled.
- Fixed gamepad analog movement when using
joy_scale_diagonal_movement
. - Fixed gamepad initialization in multiplayer.
- Fixed erasing of
align_bottom
HUD widgets. - Fixed wrong keycard sometimes being displayed in the Boom HUD on Windows (thanks to @xemonix0).
- Fixed some weapon-switching issues.
- Fixed wrong usage of
DBIGFONT
for menu strings in some cases (fixes chex3v.wad). - Fixed blinking Tower of Babel on intermission screen.
- Fixed exit text being lower than it should be normally.
Miscellaneous
- Made the build reproducible.
- AppImage for Linux now supports music in MP3 format.
Woof! 14.3.0
New Features and Improvements
- Add "Crossfade" and "Fizzle" screen wipe options.
- Improve simultaneous mouse and gamepad input.
- Don't apply threshold to raw mouse input. Fix "sluggish" mouse movement at high frame rates.
- Display "off" when mouse acceleration is disabled.
- Add support for the `DBIGFONT' lump. Improve large font menus in some PWADs (Eviternity I-II, Dimension of the Boomed).
- "-complevel" parameter takes precedence over the
COMPLVL
lump. - Draw the IDRATE widget exclusively.
- Do not increase the default gain of the FluidSynth MIDI player to avoid distortion. This can be set using the
mus_gain
config parameter. - Open menu with mouse click during demo playback.
- Disable "Classic BFG" in strict mode.
- Print warning instead of error out with empty PWAD (fix NULL.WAD in eternal.zip).
Bug Fixes
- Fix "Monsters can see through walls" bug with "Fast Line-of-Sight Calculation" option enabled. Taken from ZDoom.
- Revert changes to mouse look calculations (fix "garbage" pixels on some sprites).
- Print date and time in the Load/Save Game menus in the current locale.
- Fix initialisation with invalid
video_display
setting (thanks to @joanbm). - Using "-strict" always disables related menu items.
- Fix "Invulnerability Effect" option affecting beta light amplifier.
Woof! 14.2.0
New Features and Improvements
- Add "Fast Line-of-Sight Calculation" option, a faster blockmap-based algorithm from Doom 1.2 (also Heretic).
- Add "Invulnerability Effect" option to override the MBF "sky fix", and provide a "Gray" colormap that is easier on the eyes.
Bug Fixes
- Apply deadzone to gamepad for strict mode check.
- Prevent turning on first tic of an SR50.
- Render linedef texture instead of sky if flat is missing.
- Make light levels independent of screen size.
- Fix menu tab centering.
Woof! 14.1.0
New Features and Improvements
- Add percentage settings for weapon and view bobbing (sliders in the Weapons menu).
- Increase main thread priority when window is visible and focused.
- Bring back "Emulate Intercepts Overflow" option to the "Doom Compatibility" menu.
- Apply free look toggle to current input type only. Rename
input_mouselook
toinput_freelook
in config. - Add
shorttics
config item. - "Back" key/button also works in the main menu.
- Restore vanilla "Read This!" screens.
- Redo translucency options.
- Rename "Enable Translucency" to "Sprite Translucency".
- Instantly enable/disable translucency for things.
- Show preview of currently selected crosshair in the menu.
- "Run" key/button no longer affects gamepad turn speed.
- Change automap "Flashing Keyed Doors" to "Color Keyed Doors" with "Off", "On", and "Flashing" options.
- Remove conditional disabling of HUD menu items.
- Rename "Forward Sensitivity" to "Move Sensitivity".
- Use
M_OPTTTL
patch for "Options" menu title. - In deathmatch show "Frags" widget instead of "Level Stats".
- Do not reset chosen player view across levels in multiplayer demo playback spy mode.
Bug Fixes
- Fix framerate limiter in capped mode.
- Remove SDL renderer option from the config due to poor frame times with Direct3D11. The renderer can still be changed with the
SDL_RENDER_DRIVER
environment variable (works with any SDL2 application). - Fix HOM line appearing when using various non-standard FOV and resolution values.
- Fix mouse controls in menu on macOS.
- Restore original fix for "garbage lines at the top of weapon sprites". This will help for weapons "wobble" issue.
- Fix status bar height calculation endianess issue.
- Prevent on-death-action reloads from activating specials (thanks @JNechaevsky).
- Fix
HOM
cheat crash. - Fix drawing "unlimited" thermo values (mouse sensitivity).
- Fix translucent columns drawing.
- Fix
ENDOOM
crash. - Fix main menu item hilighting for e.g.
hr2final.wad
. - Fix bottom-aligned widgets being drawn one pixel too high.
- Fix mis-colored blood voxels after invulnarability.
Miscellaneous
- Limit auto aspect ratio to 21:9.
Woof! 14.0.0
New Features and Improvements
- Implement support for arbitrary resolutions. Inspired by the solution in Eternity Engine.
- Resolution scale slider. From 100% (original 320x200) up to native display resolution.
- Dynamic resolution scaling. Automatically changes the internal resolution to maintain a target framerate (display refresh rate by default).
- "Blocky Spectre Drawing" adapted to any resolution. Fixed some visual artifacts.
- Vanilla wipe at any resolution (from Diet Boom).
- Add adjustable field of view (FOV). This uses a 4:3 horizontal FOV that is scaled internally. The default value of 90 is correct for all aspect ratios.
- Integration of the voxel code by Andrew Apted. Support for models in KVX format. Recommended mod: Voxel Doom II v2.3. Load the ZIP/PK3 file using the
-file
parameter or place it in the autoload folder. - Mouse controls overhaul.
- Fast mouse polling. Mouse input is sampled per frame instead of per tic. This lowers perceived input lag at high framerates, especially when using a high refresh rate monitor. Toggle with the
raw_input
config setting. Inspired by a similar concept in Odamex. - Turn and look sensitivity are now consistent with each other (1:1).
- Smoother free look using a solution adapted from PrBoom+.
- Improvements to direct vertical aiming.
- Fast mouse polling. Mouse input is sampled per frame instead of per tic. This lowers perceived input lag at high framerates, especially when using a high refresh rate monitor. Toggle with the
- Gamepad controls overhaul.
- Fast gamepad polling. See above mouse details.
- Response curve support. Configurable from 1.0 (linear) to 3.0 (cubed).
- Deadzone support. Stick magnitude is remapped properly for precise control. Two deadzone types are available: axial or radial (default).
- Independent adjustment of forward, strafe, turn, and look sensitivity.
- Optional extra sensitivity at outer threshold of analog stick, with a configurable ramp time.
- Optional diagonal movement correction. Remaps circular analog input to a square to account for Doom's unique diagonal movement.
- "Run" switches between two speeds for turning and looking, similar to existing forward and strafe behavior.
- Axes configuration is simplified to 4 presets (default, swap, legacy, legacy swap).
- Add auto "strafe50" option.
- Menu overhaul. Retains the classic Doom menu, supports original graphics and 320x200 in the revamped Boom/MBF options menu.
- Implement mouse controls for all menu elements.
- Tabs for fast page switching.
- Rearrange menu items for simplicity and faster navigation.
- Don't limit menus to 35 fps.
- Introduce Automap color presets - Vanilla, Boom (default) and ZDoom.
- Don't disable menu items during demo playback.
- HUD widgets improvements.
- Show smart kill count in stats widget (from DSDA-Doom).
- Remove kills percent from level stats widget.
- "Use" button timer.
- Add key binding to toggle level stats and time.
- Integration of the NanoBSP node builder by Andrew Apted. Run using the
-bsp
parameter to fix various problems, e.g. slime trails (not demo compatible). - Implement per-PWAD savegame directories and "Organize Save Files" QOL option. Will be enabled by default if no saves are found in the source port's directory.
- Fade in sounds to prevent clicking. Applies to sounds that start at a non-zero initial amplitude (e.g. all original Doom sounds).
- Apply brightmaps to translucent and translated columns (thanks to @JNechaevsky).
- Adapt Eternity Engine's smooth Automap line drawing approach.
- Add "Blink Missing Keys" option.
- Improve logging to terminal.
- Add ability to set SDL render driver (
sdl_renderdriver
in config). - Don't autoload from doom-all folder for FreeDoom and miniwad.
Bug Fixes
- Fix for Hexen flowing water from DSDA-Doom (fixes midtex bleeding in "Eviternity II RC5.wad" MAP18).
- Fix crash on Chex intermission.
- Report (and secure)
weaponinfo
overruns. - Fix overflow hiding distant sprites (from DSDA-Doom).
- Fix level stats widget string overflow.
IDDQD
: fix reviving if god mode was already enabled (thanks to @tomas7770).- UMAPINFO:
- Fix music when using
-skisec
. - Behavior of
endpic
andsecretexit
are now compatible with PrBoom+/DSDA-Doom. - Fix off-center level names on intermission screen.
- Update forgotten
nextsecret
map entry (fix secret exit in NERVE.WAD). - Fix episode selection for nightmare skill.
- Fix music when using
- Automap:
- Do not highlight monster-only teleporter lines.
- Fix initial min/max automap zoom factor.
- Fix key-locked one-sided lines getting colored on automap.
- No horizontal padding for Vanilla HUD widgets.
- Fix
Max Health
setting in Dehacked using vanilla complevel. - Optimize HUD widget erasing, avoid flicker when screen size is reduced.
- Fix MIDI looping with native macOS player.
Miscellaneous
- Remove non-functioning "interpolation fix" for multiplayer. The
-oldsync
parameter is recommended for uncapped mode at the expense of latency. - Default player name is "Player". Change using
net_player_name
config setting.
Woof! 12.0.2
Bug Fixes
- Fix support for non power of two sky textures sizes.
Woof! 12.0.1
New Features and Improvements
- Support for non power of two sky textures sizes (fix sky in Sigil II).
- Windows Native MIDI: Improvements to shutdown sequence, fix stability issues.
- Fluidsynth: Support relative paths in soundfont directory.
- Load complevel from save files.
Bug Fixes
- Ignore zero length sound lumps (fix "Evirenity II RC1.wad").
- Do not apply the single color fill to vertically scrolling skies.
- Fix MUSINFO fails sometimes when loading saves (thanks to @DRON12261).
- BRGHTMPS: Fix parsing lump names, crash when overwrite brightmaps (thanks to @andrikpowell).
- Fix parsing lump names in MUSINFO.
- Fix "you need a key" messages in multiplayer.
- Fix WAD paths in setup tool on Windows.
Woof! 12.0.0
New Features and Improvements
- 3D audio support (@ceski-1)
- Stereo and up to 7.1 surround sound.
- HRTF mode ("Headphones mode" in the General menu).
- Air absorption and Doppler effects settings in the config.
- PC Speaker emulation sound module (taken from Chocolate Doom).
- Various HUD additions and fixes:
- Optional widescreen widget arrangement.
- Bring back three-lined coords/stats widgets.
- Optionally draw bar graphs in Boom HUD widgets.
- Ability to position "message" and "secret" text widgets by WOOFHUD lump.
- Add obituaries from ZDoom, enabled by default (Options->Setup->Messages->Show Obituaries option).
- Add support for XGLN/ZGLN nodes.
- Color console messages and optional verbosity level (
default_verbosity
in config). - Allow separate key binding for the numeric keypad.
- Replace and extend crosshair patches with the shaded variants from Nugget Doom.
- Ignore DMX sound padding (@ceski-1).
- Implement sky top color algorithm from Eternity Engine (@tomas7770).
- Attempt to play
demo4
also for Doom 2 (Final Doom). - Clean screenshots are taken with the base palette.
Bug Fixes
- Fix a savegame loading crash related to the use of MUSINFO.
- Consistently rename
-nodehlump
command line parameter to-nodeh
. - Fix mouselook/padlook checks for direct vertical aiming (@ceski-1).
- Fix sector movement doesn't render sometimes using Boom fake floors (Line action 242), when uncapped framerate is enabled.
- Fix automap marks in non-follow mode.
- Various fixes to weapon lowering and switching animation (thanks to @MrAlaux).
- Disable returning to the episodes menu if only one episode is present.
- Fix ESC reset with mini-thermo menu items affects multi-choice select items.
- Reset menu string editing with ESC.
- Fix
PIT_ApplyTorque
when line has no length (from DSDA-Doom). - Reorder sprites rendering, so that objects with higher map indices appear in front (thanks to @JNechaevsky).
- Various brightmaps fixes (@JNechaevsky).
- Skip "hidden" files in ZIP archives (fixes opening archives created by MacOS).
- Reinitialize automap if screen size changes while it is enabled (thanks to @MrAlaux).
Miscellaneous
- Add Linux distribution package in AppImage format (@qurious-pixel).
Woof! 11.3.0
New Features and Improvements
- Add direct aiming from Crispy Doom. More accurate vertical aiming (thanks to @ceski-1).
- Optimizations for plane rendering, taken from Eternity Engine (thanks to @JNechaevsky).
- Add
-dedicated
,-uncapped
and-nouncapped
command line parmeters (thanks to @loopfz). - Rename
-nodehlump
to-nodeh
for consistency with other ports. - Use sector lightlevel for sprites in Boom and Vanilla complevels.
Bug Fixes
- Avoid the
midiOutUnprepareHeader()
function in the Windows MIDI music module. This may fix rare crashes for some users. - Fixed flickering sectors rendering when interpolation is enabled (Ancient Aliens MAP24 and others).
- Do not apply weapon centering in strict mode.
- Fix pause for Fluidsynth v2.3.3.
- Fix the rightmost column when rendering weapons with interpolation enabled (thanks to @MrAlaux).
- Fix replacing the same string twice in Dehacked for music (PL2.wad MAP27 music track).