Releases: fabiangreffrath/woof
Releases · fabiangreffrath/woof
Woof! 10.5.0
New Features and Improvements
- Don't draw the status bar or any other UI in savegame snapshots.
- Add "Walk Under Solid Hanging Bodies" feature from PrBoom+.
- Support face gib animations in the status bar widget as in the 3DO/Jaguar/PSX ports (graphics lumps need to occupy the
STFXDTH0
toSTFXDTH9
name space). - Allow COMP cheat to change complevel in-game (report current complevel when entered, expecting two-digit new complevel argument).
- Allow the SSG in Doom 1 if the corresponding assets are available.
- Implement SDL-native sound looping for moving walls (removing clicking noise between sounds).
- Have "Clear Marks" key clear just the last mark in the Automap (by @MrAlaux).
- Limit the number of identical sounds playing at once, based on priority ordering (based on code from Odamex and DSDA-Doom).
- Make color of health and armor count gray in the status bar and HUD widgets when invulnerable (by @MrAlaux).
- Add VGA "porch" behaviour emulation from Chocolate Doom (enabled by
vga_porch_flash
key in the config file). - Implement dark automap overlay (by @MrAlaux).
- Support dedicated music (lump names
D_E4M1
toD_E4M9
) for Episode 4 of Ultimate Doom. Also, support to select these tracks (and the music tracks for UMAPINFO maps) by the IDMUS cheat. - Implement crosshair target lock-on (by @MrAlaux).
- Increase internal maximum horizontal resolution to 1152. This is meant to add support for non-exactly 21:9 screens, such as 3840x1600 (WQHD+).
- Implement crosshair coloring by target health (by @MrAlaux).
- Windows native MIDI player improvements:
- Support for SysEx messages.
- Correctly reset MIDI devices with SysEx messages. Default is GS mode, can be changed with the
winmm_reset_type
config option (by @ceski-1). - The reset delay is configurable using the
winmm_reset_delay
config parameter. Useful for vintage MIDI devices (by @ceski-1). - Implement a "capital tone fallback" emulation that allows MS GS Wavetable Synth, Roland SCVA, Roland SC-55mkII and later devices to work in GS mode without any issues (by @ceski-1).
- Fix looping timing, various optimizations (by @ceski-1).
- Add full support for EMIDI, extensions used in Build engine games (by @ceski-1).
- Implement Final Fantasy and RPG Maker loop points (by @ceski-1).
- No need to restart the program to change MIDI player.
- Ability to select Windows MIDI device in the menu.
- Scan the
soundfonts
folder and show all found.sf2
and.sf3
soundfonts in the menu. - OPL emulation output gain. Allows to increase the OPL volume with the
opl_gain
config option (default 200%). - Allow parsing of cosmetic items in the
OPTIONS
lump for all complevels. - Enable doubled card and skull key display on status bar by default.
- Gamepad analog controls improvemets:
- The turning/looking speed does not depend on the run key.
- Ability to invert each axis separately.
- Separate sensitivities for movement, turning and looking.
- Possibility to disable the axis (choose "None" in the menu).
- Do not allow simultaneous use of mouse and controller in strict mode when recording demo (new DSDA rule).
- Unify gamma correction: Both the F11 key and the menu slider cycle through the same gamma correction tables, with positive integers corresponding to the Vanilla tables.
Bug Fixes
- Take into account "smooth diminishing lighting" for "level brightness" feature.
- Set 'fastdemo_timer' to false before warping (by @rrPKrr).
- Fix starting "new game" or "load game" when fast-forwarding a demo.
- Do not switch timer if fastdemo is not enabled.
- Fix midi_player config setting description.
- Fix background drawing on screen size 3 in 21:9 widescreen mode.
- UMAPINFO: Don't show menu for only one episode.
- Fix "Show Demo Progress Bar" being disabled in the menu instead of "Default Compatibility" if the
-complevel
command-line parameter was used (by @MrAlaux). - Do not allow autoloading in shareware gamemode.
- An IWAD called
doom1.wad
is now always checked for its content instead of blindly assuming the shareware IWAD. - Fix NULL string comparison in DEH parser.
- Fix skull position in the help screen for Doom 2.
- UMAPINFO: Provide a default map progression if neither
next
norendpic
are set. - Add the missing OPUS DLLs to the 32-bit build.
Miscellaneous
Woof! 10.4.0
New Features and Improvements
- Add snapshots to savegames.
- Separate mouse sensitivities for turn/strafe/move/look.
- Add mouse WheelLeft/WheelRight buttons (by @rrPKrr).
- Offer a choice of widescreen ratios (16:10, 16:9, 21:9) in the config file.
- Remove SPEED and TIME prefixes from the level time widget.
- Disable toggles and menu shortcuts when typing on chat.
- Add level brightness feature and ability to disable (or fade) menu background.
Bug Fixes
- Draw par times for IWAD maps and if set by DEH or UMAPINFO.
- UMAPINFO: Draw par times on intermission screen before endpic.
- Fix par time array overflow for Episode 4.
- Check
demoplayback
when calculatingCRITICAL
(by @rrPKrr).
Miscellaneous
- Convert main executable to .dll and add .exe and .com launchers.
Woof! 10.3.0
New Features and Improvements
- Add new steam dirs for Unity IWAD and Final Doom.
- Add optional BLOCKMAP bug fix by Terry Hearst. Add a "compatibility breaking" menu category for this and "Pistol Starts".
- Implement player view/weapon bobbing (off, full, 75%).
- Complete "missed backside" emulation and disable it by default.
- Avoid demo lump name collisions (e.g.
MAP01.lmp
). - Add rudimentary support for "REKKR: Sunken Land" (rename IWAD extension to
.wad
), fixes unwanted colored blood. - Add reverb/chorus settings for Native MIDI.
- Let exit lines blink on the Automap as well if "blinking keyed doors" are enabled.
- Add smooth texture and flat scrolling.
- Synchronize animated flats.
- Remove the "STS" prefix from the Level Stats widget.
Bug Fixes
- Skip response file in
M_CheckCommandLine()
, fixes network games initiated from the setup tool. - Fixes for netgame demos and automap (fix playback skipping and progress bar for netgame demos, fix angles and interpolate other player arrows in automap, allow restart level/demo in deathmatch).
- Try loading a song again if SDL_Mixer couldn't detect it, fixes playback of some obscure MP3 files.
- Fix binding the mouse wheel to any action, excluding movement (forward/backward, turning and strafe).
- Fix Windows native MIDI level transitions (by @ceski-1).
- Remove SDL version check for Windows 11 "freezing" issue.
- Fix printing of timing demo results.
- Fix an issue with caching zero-sized lumps.
- Fix blood color setting (resp. unsetting) in DEH.
- Fix brightmap of the COMPUTE1 texture (by @JNechaevsky).
Miscellaneous
- The code base has been made compatible with Clang 15 and now requires a C99 capable compiler.
Woof! 10.2.0
New Features and Improvements
- Continue demo recording: Start the game with
-playdemo demo1 -record demo2
or-recordfromto demo1 demo2
(also works in multiplayer). - Join demo key that allows to start recording a demo from anywhere while the demo is playing (also works in multiplayer).
- Looking up/down with gamepad (padlook key).
- Add a FluidSynth gain setting to config. It allows to manually adjust the volume for "quiet" soundfonts.
- Replace the "Enable translucency" option with "Enable predefined translucency". Turn off translucency for things that were defined in Boom/MBF, but don't change the translucency defined in PWAD/Dehacked.
- The cosmetic recoil option works with some MBF21 codepointers. All weapons in Vesper.wad now have recoil.
- Implement NOTARGET cheat.
- Always display level title in automap overlay mode.
- Print complevel in console when loading level.
-skipsec
takes negative numbers to skip from the end of the demo instead of from the start.- Restart level/demo key also restarts demo playback.
Bug Fixes
- Fix of hanging decoration disappearing (FW.wad MAP02).
- Compatibility for non-Latin paths in environment variables on Windows (e.g. DOOMWADDIR).
- Fix misplaced level stats text on Boom HUD.
- "Pain/pickup/powerup flashes" option also affect invulnerability.
- Enable colored blood in strict mode, but don't change vanilla monsters. Fixes colored blood in Judgement.wad
- Don't allow strafe and turn at the same time with gamepad (prevent easy SR50).
- Fix suppress savegame in
G_ReadDemoTiccmd()
. - Fix restart demo recording after death in single player.
- "Demo recording" message did not appear after restarting level.
- Fix a crash when loading a saved game with the automap open.
- Fix forced savegame load.
- Properly update status bar every tick (MAYhem19.wad, Avactor.wad).
- Allow adding
*.zip
files from DOOMWADDIR and other standard paths. - Remove beta assets, add UMAPDEF for BETALEVL.WAD.
- Reset weapon bobbing interpolation when changing screen size/automap leaving.
Woof! 10.1.0
New Features and Improvements
- Now you can load zip archives with WAD, lmp and music files. Use the usual
-file
parameter or put them in theautoload
folder or drag-and-drop them onto thewoof
executable. - Support for high quality music packs (see https://sc55.duke4.net/ or http://sc-d70.retrohost.net/). Unpack them into the
autoload
folder or load as zip archives. - Apply various interpolations for automap (@JNechaevsky).
- Pan/zoom automap faster by holding run button (@JNechaevsky).
- Choose use button action on death (default reborn, load last save or nothing).
- Optimization for drawing huge amount of drawsegs from PrBoom+. Improve FPS on planisf2.wad and Eviternity.wad MAP26 and others (@JNechaevsky).
- Support
-skill 0
in complevel vanilla. - Show "Demo recording" message in game.
- Check the command line options. Show an error message if the parameters are incorrect.
- Working console output on Windows. Start the game in the console with the command
woof
orwoof.com
. - Add
-help
command, CMDLINE.txt with full list of command line options. - Optional solid color status bar background for widescreen mode.
- Smooth automap lines from Crispy Doom.
- Allow automap panning in overlay mode.
- Add "Pain/pickup/radsuit flashes" and "Screen melt" menu options.
Bug Fixes
- Update to SDL_Mixer 2.6.1, which fixes loop points in .mod, .ogg, .flac, .mp3 music files.
- UMAPINFO: fix
exitpic
andenterpic
fields. - Ask for confirmation on window close with Alt-F4 (@joanbm).
- Fix Boom weapon autoswitch (from DSDA-Doom).
- Set window focus on startup (fix wrong player's angle at the start if using
-warp
). - UMAPINFO: fix desync in finale skipping (fixes DBP37_AUGZEN.wad AUGZEND2ALL-00027.lmp demo).
- Don't let failed loadgame attempts reset
gameepisode
/gamemap
. - Switch automap to FRACTOMAPBITS coordinate system from PrBoom+. Fixes automap glitches on planisf2.wad and others (@JNechaevsky).
- Center mouse if permanent mouselook is disabled.
- Disable interpolation for sectors without thinkers. Fixes flickering on PAR.wad E1M2.
- Initialize the monsec widget's y coordinate with dummy values (fixes top of Eviternity.wad status bar overridden by 1 px).
Woof! 10.0.3
New Features and Improvements
- Two-colored HUD widgets (as in Crispy Doom).
Bug Fixes
- Fix complevel vanilla scrollers.
- Fix reload level during intermission.
- Check if the lump can be a Doom patch in
R_GenerateLookup()
. - Fix
gcc-12 -O3
compiler warnings. - Only create autoload subdirectory relative to
D_DoomPrefDir()
. - Workaround for optimization bug in clang (taken from Eternity Engine, fixes
desync in competn/doom/fp2-3655.lmp and dmn01m909.lmp).
Woof! 10.0.0
New Features and Improvements
- Allow
-warp EM
for Doom 1 (instead of-warp E M
). - Try harder to find
-deh
files in WAD paths. - Explicitly count "extrakills" in the STS widget.
- Determine audio slice size from samplerate and TICRATE.
- Add mouse smoothing in uncapped rendering mode.
- Remove DOS references from the game quit confirmation dialogs.
- Implement Crispy HUD as an alternative to Boom HUD.
- Move "default skill" to a config menu item.
- Add mouselook implementation.
- Stretch short skies (< 200 px height) optionally, else fill with a solid color (from Eternity Engine).
- Add "Invert Vertical Mouse Axis" option.
- Add "Linear Horizontal Sky Scrolling" option.
- Add a simple Unix manpage, explaining the most important command line options and environment variables.
- Add a
-version
parameter to print the program version and exit. - Implement hot plugging of game controllers.
- Add INTERCEPTS overflow emulation from Chocolate Doom.
- Provide a choice to disable overflow emulations in Vanilla complevel.
- Catch
playeringame[]
overflow. - Allow Time and STS status bar widgets to show independently.
- Add Recoil Pitch feature from Crispy Doom.
- Add variable SFX pitch bend range (100 none, 120 original, 200 Woof default).
- Enable hires, uncapped and fullscreen by default.
- Add cosmetic bobbing setting (from DSDA-Doom).
- Fix wiggling on edges of floors/ceilings.
- Different colors for different thing classes on the Automap.
- Menus rearrangement with small cosmetic fixes.
- More demo playback QOL features (progress bar,
-skipsec
, fast-forward key). - Keys for changing the gamespeed.
- Smooth diminishing lightning from Crispy Doom.
- Gradual decrease/increase of gamma from Doom Retro (the old gamma levels are still available with the default F11 key).
- Interpolation for weapon bobbing from PrBoom+.
- Brightmaps for textures and sprites from Crispy Doom.
- "Center messages" option, multi-line messages.
- Port over the SPECHITS cheat from Crispy Doom.
- Proper monster kills counting in cooperative games.
- STS widget shows proper stats in cooperative games.
- Indicate overflow emulation in demo footer.
- Blue excess ammo count also in the classic HUD.
- Add
woof-setup
multiplayer launcher with master server browser (from Chocolate Doom). - Selective translucency for walls and things.
- Colorize player messages (from Crispy Doom).
- Add support for
-shotdir
parameter. - Set netgame player name in the menu.
- Add support for SMMU swirling flats.
- Implement Deathmatch 3.0 (parameter
-dm3
). - Strict mode (sets compatibility and cosmetic settings according to DSDA rules).
Bug Fixes
- Fix building with Fluidsynth < 2.2.0 and fix intro music not playing with old Fluidsynth.
- Add some sanity checks when loading flats from a savegame.
- Fix netgame level reload.
- Show "Secret Revealed" message when revealing sectors with generalized secret mask and finally uncouple from general "Show Messages" setting.
- Make sure the weapon widget string is always terminated.
- Always build the time widget string (for the intermission screen).
- Prevent bottom pixels from getting mixed into spectre sprites.
- Init graphics before HUD widgets for a correct WIDESCREENDELTA value.
- Restore fuzzy spectre rendering contrast in blocky hires mode.
- Fix chat in netgame.
- UMAPINFO: allow uppercase episode shortcuts.
- Don't let taking a screenshot eat the key.
- Work-around a bug in Windows 11's Direct3D9 VSync timer.
- Properly initialize the monsec widget's y coordinate.
- Save shifted versions of
'='
,','
,'.'
to config. - Always initialize the translucency map.
- Gracefully handle missing M_EPISOD patch lump in Episode menu.
- UMAPINFO: fix nextsecret inconsistencies.
- UMAPINFO: show CREDIT lump for default Doom 2 ending.
- Fix empty lump name in MUSINFO savegame load.
- Fix overlapping uses of global variables for MBF21 complevel (desync in Judgment.wad MAP03 demos).
- Sometimes ARMS numbers didn't display properly.
- UMAPINFO: fix endpic affects secretexit.
- Add P_SubstNullMobj from Chocolate Doom (fixes NOVA2.wad MAP32 crash).
- Add emulation of missed back side on two-sided lines from Chocolate Doom/PrBoom+ (fixes some obscure vanilla desyncs).
- Fix Beta BFG barrage of projectiles sometimes disappears (taken from SMMU).
- Proper reading of 64-bit values in savegames (fixes abandon_beta1.wad MAP06 saves).
- Fix reversed mouse wheel zooming in the Automap.
- Fix uncapped mode in netgame (needs more testing).
- Fix rendering of the infinite ocean effect.
Woof! 9.0.0
New Features and Improvements
- Integration of Chocolate Doom network code.
- Implement low-res turning (and
-shorttics
). - Implement Fluidsynth music backend.
- Additional widget colors options, i.e. "backpack changes thresholds" and "color of armor depends on type".
- Complete crosshair implementation with 4 different shapes (cross, angle, dot and big cross), color by player health and highlight on target.
- Support up to 8 pages of savegames.
- Skip quicksave/quickload questions, allow quickload before quicksave.
- Add IDBEHOLDO cheat to disable all powerups (and invisibility) at once.
- Import
R_ClipWallSegment()
function from PrBoom. - Draw Time widget on intermission screen.
- Add config key and input binding to disable vertical mouse movement (novert).
- Improve menu legibility for the other three IWADs, i.e. Chex Quest, HACX and REKKR.
- Properly tab-aligned HU string widgets.
- Generalize the BFG Edition IWAD fixes.
- Implement netgame reload level.
- IDMYPOS prints high precision coordinates.
- Implement render stats cheat.
- Implement BUDDHA cheat and IDDQD after death.
- Implement
-coop_spawns
parameter. - Show game speed in the time widget if not 100 pct.
- Missing weapons leave a small gap in the Boom HUD.
- Re-arrange the General menu.
- Always append WAD file name to savegame names, even for IWADs.
- Implement SNDFONT lump.
- Improve fuzzed sprite visibility in hires mode.
- Add umapdef for SIGIL_v1_21.wad.
- Show DMENUPIC if TITLEPIC is unavailable or from the IWAD.
Bug Fixes
- Fix scaled time interpolation.
- Allow the DEH parser to skip blank lines.
- Automap: fix drawing marks > 9.
- Fix player mobj is always in S_PLAY_RUN1 state in complevel boom.
- Initialize certain video parameters only once, e.g. apply scalefactor from command line only once during initialization.
- Fix display level title in overlay automap mode if STS/Time widget is on.
- Fix vanilla Doom has at most 10 deathmatch starts.
- Fix menu selection for items with alphaKey == 0.
- Fix total time display on the intermission screen.
- Fix vertical position of the Time/STS widgets.
- Fix levelname on automap screen with Time/STS widget enabled.
- Fix widescreen rendering of shareware HELP2 screen.
- Split dirname and basename at both types of slashes on Windows.
- Fix possible integer overflows in timing functions.
- Fix a potential crash in the demo reel.
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).