Skip to content

Releases: fabiangreffrath/woof

Woof! 15.0.0

23 Nov 22:17
Compare
Choose a tag to compare

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.
  • 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 in woof.cfg.
    • Added quickstart cache option (from DSDA-Doom): see quickstart_cache_tics in woof.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).
  • Gamepad:

    • 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 in woof.cfg.
    • Added option to force keyboard or gamepad menu help text, useful for mixed input devices: see menu_help in woof.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 or NOSECTOR 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 by SBARDEF.
  • 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

30 Apr 05:44
Compare
Choose a tag to compare

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 and max_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 and doom2-all autoload folders.
  • Allowed autoloading in shareware mode.
  • Unified Vanilla Doom and Boom HUD widgets, which are now configurable -- see woofhud.lmp in the all-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

15 Mar 07:17
Compare
Choose a tag to compare

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

05 Mar 08:05
Compare
Choose a tag to compare

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

29 Feb 21:01
Compare
Choose a tag to compare

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 to input_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

16 Feb 11:05
Compare
Choose a tag to compare

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.
  • 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 and secretexit 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.
  • 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

13 Dec 09:47
Compare
Choose a tag to compare

Bug Fixes

  • Fix support for non power of two sky textures sizes.

Woof! 12.0.1

11 Dec 17:43
Compare
Choose a tag to compare

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

15 Sep 06:27
Compare
Choose a tag to compare

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

Woof! 11.3.0

06 Jul 06:34
Compare
Choose a tag to compare

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).