Skip to content

Releases: SoDOOManiac/So-Doom

So Doom 7.0.0

26 Aug 17:13
Compare
Choose a tag to compare

So Doom 7.0.0 has been released on August 26, 2023. The main feature of this release is the enhanced 1280x800 framebuffer resolution, 4 times the original one by each dimension.
A number of bugs has also been fixed.

So Doom-specific changes

New Features and Improvements

  • Enhanced 1280x800 framebuffer resolution, 4x4 of the original framebuffer.
  • Fast framerate with interpolation of all movements with vsync is now the default option.
  • SoDOOMy menu wording improvements.

Bug Fixes

  • Recoil thrust and Doom 2-only projectile special line bypass settings are now correctly disabled in demos.
  • Intercepts overflow emulation is correctly forced in netgames regardless of its evasion setting.
  • Vsync setting toggle code has been fixed.
  • The bug of not NULL-checking target player pointer in Arch-vile attack, introduced in So Doom 6.0.1 in ROOM.WAD special handling, has been fixed.

Changes pulled from Crispy Doom

New Features and Improvements

  • Brightmaps for certain textures and sprites have been improved by JNechaevsky.
  • Savegame loading from PWADs with spaces in their file name is now supported.

Bug Fixes

  • Freeaim and jump settings are now correctly disabled in demos.
  • Mid-air speed boost bug when using nocleap cheat has been fixed.
  • Complevel 3 in demo footer has been fixed.
  • Door interpolation in Doom 2 MAP19 has been fixed.

So Doom 6.0.1

11 Jun 09:27
Compare
Choose a tag to compare

So Doom 6.0.1 has been released on June 11, 2023. It includes some improvements as well as an exclusive feature for an old but gold joke WAD ROOM.
You can download its latest version here.

So Doom-specific changes

New Features and Improvements

  • Crispy Doom's "Status Bar" option for level stats widget position has been brought back.
  • New cheat codes for obtaining health and armor items (see cheats section).
  • Demo timer in centered position now gives way to chat line.
  • IDDQD messages are now colorized if they had not been DEHACKED.
  • New Physical option: now game can be played with the fixed oversight in triggering linedefs by projectiles
  • In ROOM and its Berserk Edition, punching oneself in the face is 50 times stronger with the Berserk powerup.

Changes pulled from Crispy Doom

New Features and Improvements

  • Plane distortion in the distance was spotted by JNechaevsky and fixed by rfomin with the fix from Eternity Engine, that also fixed the plane texture repeating bug in low detail.
  • Instead of fixed indices, the colors nearest to magenta and bright green are now picked from PLAYPAL palette for IDDT-unrevealed and revealed secret sectors (relevant in BTSX).

So Doom 6.0

09 Apr 14:33
Compare
Choose a tag to compare

So Doom 6.0 has been released on Apr 9, 2023. The aim of this release is to maximize usability and to fix a critical bug I introduced by ignorance in 5.12.0.
As FluidSynth support has been re-introduced, I'm also placing an example SF2 soundfont on the release page.

So Doom-specific changes

New Features and Improvements

  • Options set for Blood fixes setting (Colored blood in Crispy) expanded compared to Crispy Doom.
  • New Demo timer position option: top right corner or top center, the latter to avoid message string and FPS counter interference with the demo timer.
  • New Map rendering stats setting, with a possibility to display FPS counter without a cheat code.
  • While at it, simplified cheat codes: SHOWFPS to FPS, LETITSNOW to SNOW, TNTHOM to HOM. NOMOMENTUM can be triggered by the short SNAIL or a pun MONUMENTUM.
  • Don't exclude the possibility to display player coordinates always.
  • SoDOOMy menu background resolution now depends on the rendering resolution.
  • So Doom logo in the main/options menus can now only be set through editing crispy_logo value in so-doom.cfg file (0 = off, 1 = main menu, 2 = options menu, 3 = both) as there's no more space on the Rendering/Visual SoDOOMy menu page.

Bug Fixes

  • Fixed the crash when setting screenblocks = 13 in a netgame or starting a netgame with this value.

Changes pulled from Crispy Doom

New Features and Improvements

  • Make MIDI device selection less ambiguous.
  • Add default difficulty option (by kiwaph and @mikeday0).
  • Improve smoothness of network games when running uncapped (thanks @rfomin).
  • Disable smooth pixel scaling if software rendering is enforced.
  • Add framerate limiting option (@mikeday0 and @rfomin).
  • Updates from Chocolate Doom:
    • Add -display command line parameter.
    • Support drag-and-drop of demo lumps onto the executable.
  • Updates of Native MIDI on Windows from Chocolate Doom (@ceski-1 and @rfomin):
    • SysEx messages.
    • Proper device reset (winmm_reset_type and winmm_reset_delay config options).
    • Loop points (Final Fantasy and RPG Maker).
    • Full support of EMIDI.
  • Native FluidSynth support (@mikeday0).
  • All music formats now work when the OPL backend is selected (@rfomin).
  • Implement demo footer for Doom and Heretic (@rfomin).
  • Add level stats format setting to So Doom from Crispy, better late than never.
  • Do not cap FPS to the user-entered value and don't calculate fractionaltic in -timedemo (@JNechaevsky).

Bug Fixes

  • Fix crosshair shifting position after changing resolution.
  • Fix Automap line jitter in low res mode (@mikeday0).
  • Widescreen rendering now requires aspect ratio correction.
  • Fix widgets obscuring chat line (@JNechaevsky).
  • Fix glitchy drawing of instant moving sectors when running uncapped (@mikeday0).
  • Fix bogus linedef numbers in P_LoadSegs warning (thanks @tpoppins).

Doom-specific

  • Always interpolate idle weapon bob with uncapped FPS (@ceski-1).
  • Fix free look judder (@ceski-1).
  • Add support for loading REKKR as IWAD (@SoDOOManiac).
  • Do not show the "WAD: map" Automap widget for IWAD levels.
  • Improve brightmap for COMPUTE1 texture (@JNechaevsky).
  • Allow L and R arrow keys in Crispness menu (@mikeday0).
  • Add weapon bobbing interpolation from Woof! (@rrPKrr).
  • Restore colored blood options from previous Crispy Doom versions (@rrPKrr).
  • Add known hashes for Sigil music tracks (@SirYodaJedi).
  • Colored blood setting to change in both directions (@SoDOOManiac).
  • Minor HUD fixes (@SoDOOManiac).

So Doom 5.12.1

31 Jan 09:07
Compare
Choose a tag to compare

So Doom 5.12.1 has been released on Jan 31, 2023.

The most important changes in this release are performance optimizations (visplane hash, drawsegs optimizations, sprite sorting) from Boom family ports originally by Lee Killough, systematized by Julian Nechaevsky.

So Doom-specific changes

  • Fixed a bug of level stats not displayed, brought when merging Crispy codebase.
  • Visplane hash improving the performance at critical vistas of Sunder.wad MAP15 up to 500% speed improvement (from 10 to 60 fps!)
  • DRAWSEGS optimization (~12% of speed improvement on epic.wad MAP05, ~13% of speed improvement on Sunder.wad MAP10)
  • Sprite sorting (~23% of speed improvement on nuts.wad)
  • Fast framerate menu item now comprises the vsync setting (totally uncapped framerate is now with crispy->uncapped 1 or 2 with FPS limit set to 0).
  • Screen wipe is now optional.

Changes pulled from Crispy Doom (most notable ones)

  • FPS limit menu item has been implemented.
  • LETITSNOW cheat is now a harmless one like SHOWFPS.

5.12.1 is the first So Doom version to feature a 64-bit release.

So Doom 5.12.0

22 Dec 12:43
Compare
Choose a tag to compare

So Doom 5.12.0 has been released on Dec 22, 2022.

The aim of this release is to update the port with all the improvements of Crispy Doom code base while keeping the features that were removed from Crispy
(squat weapon down on landing from height, weapon recoil thrust, aspect ratio limitation option for pixel aspect ratio = 1, i.e. square pixels).

Changes pulled from Crispy Doom (most notable ones)

  • Changing settings in SoDOOMy menu with left/right arrow keys has been implemented by Michael Day.
  • Default difficulty feature has been added by Philip Kiwan.
  • Support of REKKRSA.wad and REKKRSL.wad (Sunken Land, Steam edition) IWADs has been implemented, now Crispy and So Doom always attempt to load the DEHACKED lump from the IWADs.
  • By hitting Multiplayer spy key you now get full point of view of the player whose gameplay you're watching, i.e. produced and heard sound positions and status bar with respective status face background color.
  • LETITSNOW cheat code, merry Christmas!

So Doom 5.10.3

01 Sep 10:56
Compare
Choose a tag to compare

So Doom 5.10.3 has been released on Sep 1, 2022.

Known Issues

Free standalone IWAD version of REKKR (REKKRSA.WAD) doesn't run properly with the inner DEHACKED lump (i.e. so-doom -iwad rekkrsa.wad), it should be run with suppressing loading the internal DEH and loading the external REKKR.DEH (i.e. so-doom -iwad rekkrsa.wad -nodeh -deh rekkr.deh). You can get both the WAD and the DEH in this bundle with Chocolate Doom. The same issue is present in Crispy Doom 5.10.3 which So Doom 5.10.3 is based on.

So Doom-specific changes

  • "Color Revealed Secrets" SoDOOMy setting has been changed to "Map Secrets" with expanded set of values: default (not mapping hidden lines or those without floor/ceiling level change or special), default + color revealed (colored mapping of revealed secrets' lines that are not hidden or without floor/ceiling level change or special), force (standard mapping of all seen lines of secret sectors) and force + color revealed (standard mapping of all seen lines of unrevealed secret sectors + green mapping of all revealed secret sectors' lines). Inspired by Revae's REKKR total conversion for Ultimate Doom where most secret sector lines are labeled hidden.
  • Aspect ratio limit option has been introduced, working the same way as Crispy Doom but with more values. This should be useful for playing on really wide monitors with aspect ratios 18:9 and above. To add this option I had to unite the Rendering and Visual menu sections under one header.
  • Changed wording of widescreen rendering and see-through HUD combined option.

Changes pulled from Crispy Doom

New features and improvements

  • The translucency map is now always recalculated and no more loaded from a file or lump.
  • Autoload directories are now also supported for "sideloaded" PWADs - i.e. nerve.wad, masterlevels.wad and sigil.wad (thanks @Raddatoons).
  • Smooth automap rotation and srolling have been implemented (by @JNechaevsky).
  • Autoload directories for PWADs are now supported (thanks @OpenRift412 for the suggestion and @rfomin for the prior implementation in Woof!).
  • Basic accessibility features have been added and can be toggled in the Accessibility menu of the setup tool:
  • Flickering Sector Lighting (disables sectors changing their light levels)
  • Weapon Flash Lighting (disables weapon flashes changing the ambient light levels)
  • Weapon Flash Sprite (disables rendering of weapon flashes sprites)
  • Palette Changes (disables palette changes upon damage, item pickup, or when wearing the radiation suit)
  • Invulnerability Colormap (disables colormap changes during invulnerability)
  • Some colored text has been reverted back to the pristine Vanilla experience. As a rule of thumb, UI that has been inherited from Vanilla does doesn't get any colorization anymore (thanks @OpenRift412).
  • Screenwidth values are now rounded down to the nearest multiple of 4 in hires mode, and up in lores mode. This makes sure we end up with a screenwidth of 852 px for a 16:9 ratio in hires mode, which is exact twice the width of the widescreen assets, and with a screenwidth of 428 px in lores mode, which is the next integer multiple of 4 (thanks @buvk).
  • A CMake toggle has been added for the truecolor mode (by @zx64).

Bug Fixes

  • Rendered sector lightlevels are now saved in savegames if they are different from the logical lightlevels, fixing a regression intruduced with A11Y support (thanks Alaux).
  • The green color translation range has been fine-tuned so that light-blue isn't preferred over green anymore (thanks maxmanium).
  • The CMake build system has been updated for A11Y (thanks @vanfanel).
  • In NRFTL the TITLEPIC is only replaced with the INTERPIC if the former is from the IWAD (thanks @OpenRift412).
  • Overlaid automap remainings are now cleared from the demo loop (by @JNechaevsky).
  • Adjusting of the BLOCKMAP boundaries to match the Vanilla algorithm has been reverted. Although this was done in the Vanilla algorithm, it doesn't match what's done in the algorithms used by MBF and Boom - and thus PrBoom+ which uses the latter. This fixes sync for one demo reported by galileo31dos01 on 5L1C.wad MAP01.
  • The Compatibility menu has been removed from the setup tool, it is obsolete for all games now.
  • The translucency table is now always calculated at gamma level 0, fixing potentially incorrect entries (by @JNechaevsky).
  • The episode menu is now rendered with the HUD font if the graphics are both from an IWAD and if the patch width for "Hell on Earth" is longer than "No Rest for the Living" (thanks thanks @hackneyed-one).
  • Automap rotation variables are now properly initialized, preventing line shaking (by @JNechaevsky).
  • The weapon sprite coordinates now remain unchanged if neither variable bobbing nor weapon sprite centering is enabled. Coincidently, this will bring back the sloppy bobbing of the chainsaw weapon sprite during its idle frames.
  • Interpolation of the Archvile's fire sprite is now suppressed to mitigate it being spawned at the wrong location.
  • Status bar positioning, drawing of fullscreen patches and the bunny scroll screen have been fixed on big-endian systems.
  • The window height is now prevented from shrinking when changing widescreen modes.
  • The smooth automap lines features has been fixed for truecolor mode (by @zx64).

Crispy Heretic

  • The -demoext parameter (even though enabled by default) only applies to demos loaded on the command line.
  • Weapon pickup messages are now shown in cooperative multiplayer mode (by @xttl).
  • All Crispy Doom specific cheats have been ported over and adapted accordingly (by @xttl).
  • An Automap overlay mode has been added.
  • There are now separate mouse sensitivities for turn, strafe and y-axis.
  • Heretic now has a "demowarp" feature, i.e. support for using both -playdemo and -warp on the command line (thanks @thom-wye).

Crispy Hexen

  • Hexen: Restore pointers to mobj_t with garbage identity as NULL pointers (by @Dasperal).

So Doom 5.10.0

24 Aug 09:29
Compare
Choose a tag to compare

So Doom 5.10.0 has been released on Aug 24, 2022.

So Doom-specific changes

  • "Smart Totals" setting subtracting the extra spawned/respawned/resurrected monsters and their kills from the automap level stats has been implemented, requested by Heck Yeah at Doomworld forums.

Changes pulled from Crispy Doom

New features and improvements

  • Proper support for widescreen assets has been added (by @SmileTheory, thanks @ghost and @chungy).
  • The bezel bottom edge to the left and right of the status bar in widescreen mode is now preserved (thanks braders1986 and @SmileTheory).
  • Special treatment is now applied to the No Rest for the Living and The Masterlevels expansions - even during network games, demo recording and playback. This includes level transitions to the secret maps and back, finale text screens, par times, etc. (thanks Coincident and Keyboard_Doomer for input from the DSDA community).
  • Menu scrolling with the mouse wheel has been improved to be more responsive (by @JNechaevsky).
  • 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.
  • Freedoom Phase 2 and FreeDM are now explicitly named in the Doom 2 Episode menu.
  • The status bar is now redrawn in the Main, Episode and Skill menus, where it could get overridden by custom graphics (thanks @JNechaevsky).

Bug fixes

  • A crash has been fixed when the -record and -pistolstart parameters were used simultaneously (thanks Spie812).
  • An optimization inherited from MBF has been fixed which led to sprites not being rendered on the lowest possible floor (thanks @retro65).
  • Only non-sky flats are now checked for the swirling effect.
  • Crushed non-bleeding monsters are not removed off the map anymore, their sprites are replaced with the invisible SPR_TNT1 instead (thanks ZeroMaster010 and sorry for the desyncing demo).
  • Sigil is not auto-loaded anymore with the Freedoom Phase 1 IWAD, since Sigil's own texture definitions may clash with the ones from Freedoom (thanks @Some1NamedNate).
  • A brightmap definition for an animated flat sequence in HacX has been fixed.
  • Some fixes to the "--enable-truecolor" configure option have been implemented (i.e. the --disable-truecolor option, the rendering of the status bar bezel, fuzzy column drawing and the translucency factor - thanks xttl).
  • Window height adjustment when changing window size has been brought back at the cost of the window shrinking when repeatedly changing the widescreen option.
  • Parts of the status bar being visible during the initial wipe in widescreen mode has been fixed (thanks xttl).

So Doom 5.9.2 hotfix

31 Jul 13:46
4b1ead0
Compare
Choose a tag to compare

So Doom 5.9.2 hotfix has been applied on July 31, 2022 to fix text lines of graphic detail and messages on/off drawn despite graphic menu patches present e.g. in REKKRSL.wad with REKBONUS.wad.

So Doom 5.9.2

28 Jul 07:09
Compare
Choose a tag to compare

So Doom 5.9.2 has been released on July 28, 2022 to apply the fix for the critical security issue from Chocolate Doom, merge other Crispy Doom features and improvements and put all the widgets within the narrow screen size in Cockpit HUD.

So Doom-specific changes

  • Pixel aspect ratio option value determined purely by screen size is now called 'stretched'.
  • All the HUD widgets (kills/items/secret etc.) are now within the narrow screen size in Cockpit HUD.
  • Updated the SDL2 library to 2.0.22, and SDL2_mixer and SDL2_net to latest versions.

Changes pulled from Crispy Doom

New features and improvements

  • MASTERLEVELS.wad is now automatically loaded alongside DOOM2.wad just like NERVE.wad was for the BFG Edition DOOM2.wad IWAD before. However, this will now work for any DOOM2.wad IWAD as well (thanks @buvk for reporting a bug in the initial implementation).
  • Support has been added for automatically loading all the 20 separate Master Levels PWADs and arranging them as if they came from the single MASTERLEVELS.wad PWAD.
  • Alternative text entries have been added to the skill menu. Thus, the entries are still there and rendered consistently even if the Nightmare! skill graphics lump is missing when playing with a v1.2 or earlier IWAD (thanks @zx64).
  • The unconditional "fixing" of reversed stereo channels in OPL music playback has been reverted. People got so much used to the flipped channels that the correct channel order has been regarded as a bug (thanks @drivetheory).
  • Two separate finale texts for the Master Levels have been introduced, depending on whether you have found and finished the secret MAP21 or not. The actual texts have been taken from @MadDeCoDeR's Classic-RBDOOM-3-BFG project with some minor wording fixes applied (thanks @icecreamoverlord).
  • Optional Automap lines smoothing has been added with a toggle in the Crispness menu (by @zx64).
  • Doors locked with a key now flash on the Automap, if extended map colours are enabled (by @kitchen-ace).
  • Extended map colours have been adjusted to be closer to Vanilla's (by @kitchen-ace).
  • A "use" button timer has been added and can be enabled in the "Demos" Crispness menu section, apparently useful for practicing speed-running (thanks Looper).
  • A check for segs referencing non-existent linedefs has been ported over from PrBoom+ (thanks @tpoppins).
  • Demo joins are now tracked (by @kraflab).
  • Support for the "Dropped Item" DEHACKED field has been added, which allows to specify the Thing Id to be spawned after the Thing dies. It's a generalization of the same behavior that is hardcoded for MT_WOLFSS, MT_POSSESSED, MT_SHOTGUY and MT_CHAINGUY in Vanilla Doom (by @Ferk).
  • More generalizations de-hardcoding some Vanilla Doom behavior have been added (by @Ferk).
  • The following DEHACKED fields for Things have been added:
  • Melee threshold: Distance to switch from missile to melee attack.
  • Max target range: Maximum distance to start shooting (0 for unlimited).
  • Min missile chance: Minimum chance for firing a missile.
  • Missile chance multiplier: This de-hardcodes the double missile chance that vanilla Cyberdemon, Spider Mastermind, Revent and Lost Souls have. The value is FRACUNIT based (65536 = normal firing chance), also note that the lower the value, the higher the chance.
  • A -levelstat option has been added (by @kraflab).
  • Support for the "new" Nerve PWAD has been improved: If the Nerve PWAD is explicitly loaded and contains a TITLEPIC lump, use it - else use the INTERPIC lump. Consequently, if the Nerve PWAD gets auto-loaded and contains TITLEPIC and an INTERPIC lumps, rename them (thanks @buvk).
  • Graphic patch lumps in widescreen format are now properly centered - but still squashed to Vanilla aspect ratio (thanks @buvk).
  • A -pistolstart command line option has been added (by @mikeday0, thanks @Asais10).
  • The tally screen is now shown after finishing Chex Quest E1M5 (thanks kokrean).
  • Apparently random crashes have been fixed that occured when the (truncated) file name of a loaded demo happens to match the name of an already available lump. Now this lump name collision is detected and the offending demo lump renamed to DEMO1, which is most certainly always the name of a demo lump (thanks galileo31dos01 and plums).

Bug fixes

  • HUD texts are now printed up to the right screen edge again (thanks Grizzly).
  • The DSSECRET fallback sound is now checked for availability. This fixes a crash when playing with a v1.2 or earlier IWAD (thanks @zx64).
  • The HUD widget coordinate re-calculation has been moved from thinker to drawer functions. This should fix the racing condition that caused the wide status bar widget alignment being drawn to the automap status bar with the brick border (thanks @kitchen-ace).
  • The IDCLEV cheat has been fixed for the Master Levels (thanks @buvk).
  • Thing coordinates in the rotated automap have been fixed when the "extended automap colors" feature is disabled (thanks @icecreamoverlord).
  • A segmentation fault has been fixed when changing episodes during the intermission screen (thanks @icecreamoverlord).
  • The "go to next level" cheat key for the Master Levels has been fixed.
  • Endianness issues when loading extended nodes have been fixed (thanks Michael Bäuerle).
  • The IDDT cheat is now reset when restarting a map during demo recording, but not each time the Automap is opened (thanks galileo31dos01).
  • Missing server-side num_players validation (CVE-2020-14983) and missing client-side ticdup validation have been fixed (found by Michał Dardas from LogicalTrust, fixes inherited from Chocolate Doom).
  • Automap panning by keyboard and mouse is now accumulated (thanks @kitchen-ace).
  • Invalid texture/flat animation sequences are now skipped instead of erroring out (thanks @kitchen-ace).
  • The Automap shaking for one frame after changing the view angle has been fixed (thanks @JNechaevsky).
  • The top-right HU widgets have been moved one char to the left to allow for display of multi-thousand FPS (thanks @JNechaevsky).
  • Building without Python has been fixed again (inherited from Chocolate Doom, by @vilhelmgray, thanks Michael Bäuerle).
  • An old bug has been fixed which was caused by SDL2_Mixer opening a different number of audio channels than requested (inherited from Chocolate Doom, thanks Edward850).
  • Auto-loading of the Sigil PWAD has been fixed on file systems with case-sensitive file names (thanks @kitchen-ace and @kbterkelsen).
  • The Sigil PWAD is now only pre-loaded if the gameversion is The Ultimate Doom. This fixes a glitched texture file when Chex Quest is loaded as the IWAD (by @kitchen-ace, thanks Mr.Unsmiley)
  • Check if the map name graphics lumps are actually from the Masterlevels PWAD before renaming them. This fixes an issue with unofficial Masterlevels compilations which do not contain these lumps (thanks @Dark-Jaguar).
  • A string buffer size calculation bug has been fixed in the -levelstat implementation (thanks Eric Claus).

So Doom 5.8.0

17 Apr 07:42
Compare
Choose a tag to compare

So Doom 5.8.0 has been released on April 18, 2020 to merge improvements and bug fixes from Crispy Doom and fix demo timer position in Cockpit HUD.

So Doom-specific changes

  • In case of widescreen rendering with Cockpit HUD the demo timer is now drawn within the narrow screen as well as other widgets.

Changes pulled from Crispy Doom

  • NERVE.WAD support for Vanilla DOOM 2 has been introduced, requested by hkight.
  • Compilation with Code::Blocks and TDM-GCC 5.1 (missing includes) has been fixed by drfrag666.
  • SKY3 texture is now used for MAP04-MAP08 in NRftL, thanks to JNechaevsky for contributing the fix.
  • When calculating weapon bobbing, the check is now performed for attack key/button being held down (thanks to unRyker for helping to choose the criterion) instead of checking for for player being not in attacking state. This fixes wrong weapon alignment in some cases.