dsda-dev Posted May 29, 2023 (edited) dsda-doom v0.26.0 This update brings beta udmf support, expanded line actions, zip file loading, level table progress tracking, text color and extended hud configuration, build mode refinements, new console commands, better opengl fuzz, indexed light mode fixes, improved heretic and hexen support, and much more. You can see the full details here (with formatting and working links) or below in plain text. Thanks to bkoropoff aka snax for lots of improvements to the opengl renderer. If you like the new fuzz and general performance and compatibility improvements, please give them a shout on discord. Thanks for all your hard work! Thanks to @ZeroMaster010 for comprehensive regression testing to ensure demo syncing. Thanks to the beta testers for tracking down many bugs and giving feedback: @almostmatt1 @RockyGaming4725 @Bytefyre @Napsalm @Bdubzzz @GarrettChan @Rayziik @Maribo @Master Medi @ZeroMaster010 @Keyboard_Doomer @akolai @TheLoneliness Thanks to the udmf testers for tracking down udmf issues and making maps: @Major Arlene @Bdubzzz @msx2plus @Master Medi You can find the test maps over here. Download the latest release here. This release is incompatible with past save files. Spoiler ### v0.26.0 This update brings beta udmf support, expanded line actions, zip file loading, level table progress tracking, text color and extended hud configuration, build mode refinements, new console commands, better opengl fuzz, indexed light mode fixes, improved heretic and hexen support, and much more. Check out all the changes in detail below. #### UDMF (beta) - Added support for UDMF - Added support for the zdoom v1.33 namespace - Added support for zdbsp nodes x/z gl n/2/3 - Highlights: - Mid texture wrapping and clipping - 3d mid textures (walking on fences) - Separate line flags for blocking projectiles and hitscan - Multi-tagging for sectors and lines - Texture and flat scaling - Flat rotation and offsets - Separate scale, offset, and light for top, mid, and bottom textures - Non-integer vertex positions - Sector gravity - Thing translucency, gravity, health, and secrets - See the [doc](../docs/udmf.md) for comprehensive information #### New Line Actions - Stairs_BuildUpDoomCrush - Floor_Stop - Ceiling_Stop - Floor_MoveToValueAndCrush - Ceiling_MoveToValueAndCrush - Line_SetAutomapFlags - Line_SetAutomapStyle - Sector_SetRotation - Sector_SetCeilingScale - Sector_SetFloorScale - Sector_SetCeilingScale2 - Sector_SetFloorScale2 - Sector_ChangeFlags - Line_SetTextureScale #### Line Action Updates - The following actions are now fully supported: - Scroll_Wall - Line_SetTextureOffset - Scroll_Texture_Left - Scroll_Texture_Right - Scroll_Texture_Up - Scroll_Texture_Down - Scroll_Texture_Offsets - Line_SetBlocking - TranslucentLine now supports alpha values #### Quality of Life - Added `-bex` alias for `-deh` - Added `-command X` - Executes one or more console commands on the first tic the player has control - Example: `-command "idclip; iddqd"` (start the game with noclip and god mode on) - Added "organize failed demos" option - Puts failed demos in `dsda_doom_data/.../failed_demos/` (path based on wad) - Added "Locked doors blink" automap option - Added "announce map on entry" option - Added zip file support for `-file` (FtZPetruska) - Added support for the dome sky in indexed light mode - Added `-game_speed <speed>` command line option - Game speed no longer persists between sessions - Replaced persistent `realtic_clock_rate` with transient `game_speed` - Associated keybindings and console commands work as before - Added optional sfx for movement toggles - The tntcomp cheat now accepts two digits for the complevel - It also rejects the unspecified complevels, 18-20 - Menus with font replacements now have correct vertical spacing - Menus now scroll vertically if there is not enough room to fit the text #### Level Table - Added a level table (currently at the bottom of the options submenu) - Added tracking for completion of individual levels - Kills, items, and secrets - Time, max time, and skill 5 time for pistol starts on each map - Added wad stats summary page with overall completion statistics - You can warp to maps from the level table #### Text Color - Migrated from fixed CR Table lumps to dynamic color ranges - Added the DSDACR lump for color range configuration - See the [doc](../docs/color_range.md) for more information - Wads with font replacements should have expected colors in the menus - There are exceptions for palettes with limited hues - Adjusted some existing colors - Added the DSDATC lump for text component color configuration - See the [doc](../docs/text_color.md) for more information #### Wad Preferences - Added DSDAPREF lump to define dsda-doom-specific preferences - Can add renderer preference (e.g., because software rendering tricks are used) - Will show an alert if the user is on a different renderer - More to come - See the [doc](../docs/dsdapref.md) for more information #### HUD - Added ex hud scale and ratio options to control stretching - Added minimap option (automap menu) - The location, size, and scale of the minimap can be edited in the hud config - Migrated the automap layout to dsdahud.lmp - Migrated message widgets to dsdahud.lmp - Added arguments to some hud components - `stat_totals`: you can now configure which stats are displayed and the stat orientation - `weapon_text`: you can now toggle a grid configuration (bkoropoff) - `ammo_text`: you can now toggle the ammo names - `composite_time`: you can now toggle the "time" label - `speed_text`: you can now toggle the "speed" label - `keys`: you can now toggle a horizontal configuration - Added new components: - `message` - `secret_message` - `map_totals` - `map_time` - `map_coordinates` - `map_title` - `minimap` - `color_test` - `free_text` - Adjusted and added config options for automap component visibility - The `big_health` component now shows the berserk kit when in berserk mode - See the [hud doc](../docs/hud.md) for more details #### Console - Added `player.set_angle <angle>` - Added `player.round_angle` - Added `level.exit <position>`: exit to intermission screen - Added `level.secret_exit <position>`: secret exit to intermission screen - Added `demo.join`: join demo playback - same as key binding - Added `game.quit`: quit immediately without a prompt - Added `game.describe`: show the level, skill, and monster params - Added `config.forget`: do not overwrite config file on exit - Added `config.remember`: do overwrite config file on exit - Added `wad_stats.forget`: do not update wad stats on exit - Added `wad_stats.remember`: do update wad stats on exit - Added `free_text.update`: update free text component - Added `free_text.clear`: clear free text component - `iddt` now works whether the automap is active or not #### Tools - Added `brute_force.frame / bf.frame <frame> <ranges> <buttons>` console command (specify frame-specific brute force ranges / buttons) - Use `brute_force.start / bf.start <depth> <conditions>` to run the frames - See the [build mode guide](../docs/build_mode.md) for more info. - Increased brute force depth limit to 35 tics - Added `-quit_after_brute_force` (quit the game automatically when brute force ends) - Joining during recordfromto now adds the remaining playback buffer to the command queue - Build mode now edits the previous command and updates the game state as the command changes - There are various small improvements to the workflow - There may be some edge case bugs; please report any unexpected behaviour #### Heretic & Hexen Support - Mouselook pitch is now translated to the mechanical look direction - Vertical look boundaries now match heretic and hexen - You aim where you are looking even when using the mouse - This currently does not work while recording because of demo format restrictions - This will be resolved in the future - Look direction does not center on landing if using mouselook - Fixed sky height and offsets in heretic and hexen - Fixed the notarget cheat in heretic & hexen - Fixed the fly cheat in heretic & hexen - Fixed animated midtextures not working in heretic and hexen - Fixed heretic pacifist tracking when hitting pods - Fixed broken hexen music tracks (bkoropoff) - Fixed an issue with heretic torch colormaps (bkoropoff) - Fixed missing advisory patch on heretic title screen (fabiangreffrath) #### Miscellaneous - Revised TRANMAP handling - TRANMAPs are now stored inside dsda_doom_data/tranmaps - TRANMAPs are now indexed by PLAYPAL - Removed comperr_zerotag setting - Removed reduced view - Removed the legacy screen sky mode - Removed gldefs support - Removed old light modes - Removed hi-res support (not supported by either rendering mode) - Removed `gl_tex_format_string` option (bkoropoff) - Removed `gl_blend_animations` option - Added `-chain_episodes` (e.g., e1m8 leads to e2m1) - This supports recording and playback - The `idmypos` cheat now toggles the coordinate display - Added demo file fallback in case the target file location is inaccessible - Split extended hud text axis scaling options - Turn 180 is now disabled in strict mode - Adjusted raven automap colors - Improved time to write first demo of a session when there are many demos present - Updated to umapinfo rev 2.2 (author field) - The `-file` argument can now locate all supported file types when omitting the extension - Improved opengl fuzz style (bkoropoff) - Improved performance in opengl (bkoropoff) - Improved vram consumption in opengl (bkoropoff) #### Bug Fixes - Fixed a crash caused by png texture patches (they are now ignored) - Fixed vertical look boundaries not properly resetting when changing video mode - Fixed an issue with the nontextured overlay automap in indexed light mode - Fixed an issue with the textured automap when scaling the window in opengl (bkoropoff) - Fixed invuln colors leaking into the intermission screen in indexed light mode - Fixed bright invuln fuzz in indexed light mode - Fixed invuln colors affecting sky during nonzero palette in indexed light mode in cl 2 - Fixed an issue with sky textures in indexed light mode (bkoropoff) - Fixed an issue with boom colormaps in indexed light mode (bkoropoff) - Fixed chaingun with 0 ammo during fullclip - Fixed some cheats working in strict mode - Fixed `-1` out of range config values being set to `0` rather than the default - Fixed hud flicker the first time changing zoom level - Fixed extended hud message overlap caused by nonstandard font heights - Fixed icon-spawned archvile resurrections affecting the stat totals - Fixed overrun footer data carrying across demo attempts - Fixed an overrun in a texture warning - Fixed `0` counting as an unset time in split tracking - Fixed a case where you could jump in midair (in casual play) - Fixed issue with opengl melt screen (JadingTsunami) - Fixed non-latin paths on windows (rfomin) - Fixed an issue with music volume in portmidi (ceski) - Fixed an issue with gl vbo memory (bkoropoff) - Fixed an issue with 2D frustum calculation in opengl (bkoropoff) - Fixed an issue that would sometimes cause disappearing walls in opengl (bkoropoff) - Fixed an issue with weapon sprite coordinates in opengl (bkoropoff) - Fixed hang on terminal interrupt on linux (bkoropoff) - Fixed an issue with mid-level music changes in portmidi (ceski) - Fixed a crash in blockmap generation (andrey-budko) #### Development Environment - Replaced `-devparm` with `-sigsegv` (disable SIGSEGV signal handler) - Reduced default mapping error logs (use `-verbose` when testing) - Fixed many warnings and potential future bugs (bkoropoff) - Improved cmake configuration (FtZPetruska) - Improved CI configuration (FtZPetruska) - Added [windows build guide](../docs/guides/building_on_windows.md) (FtZPetruska) - Fixed detection of dsda-doom.wad in the exe dir for portable non-windows builds (FtZPetruska) - Fixed the dboolean type for C23 (FtZPetruska) v0.25 thread Edited June 6, 2023 by Maribo : Added link to sampler wad 67 Share this post Link to post
dsda-dev Posted May 29, 2023 @RHhe82 and @EngineerKappa you might find the level table feature interesting. Quote #### Level Table - Added a level table (currently at the bottom of the options submenu) - Added tracking for completion of individual levels - Kills, items, and secrets - Time, max time, and skill 5 time for pistol starts on each map - Added wad stats summary page with overall completion statistics - You can warp to maps from the level table 5 Share this post Link to post
RHhe82 Posted May 29, 2023 (edited) 1 hour ago, dsda-dev said: @RHhe82 and @EngineerKappa you might find the level table feature interesting. Well, this is a surprise! I certainly wasn’t expecting anything like this when I mentioned something like this in the crazy source port features! Gotta test it later tonight! Edit: Loving the level table feature already! Edited May 29, 2023 by RHhe82 : Tested <3 (I’m so easily pleased) 2 Share this post Link to post
Mr Masker Posted May 29, 2023 Out of curiosity, what kind of wads could you play with the compatibility this offers? Just so I know what to try it out with. 0 Share this post Link to post
msx2plus Posted May 29, 2023 18 minutes ago, Mr Masker said: what kind of wads could you play with the compatibility this offers? at the moment, not a ton if you're thinking stuff that uses "zdoom features" - you'd need to cross-check what's implemented. no 3d floors, no ACS (at the moment), no decorate (not part of the map format), etc. the list of supported features is here: https://github.com/kraflab/dsda-doom/blob/master/docs/udmf.md and specials etc are listed here https://github.com/kraflab/dsda-doom/blob/master/docs/doom_in_hexen.md - it's still early days. 2 Share this post Link to post
boris Posted May 29, 2023 What does "zdoom 1.33" namespace mean? The ZDoom UDMF specs version 1.33? Because there are features before that that are not supported by dsda-doom. Wouldn't it make more sense to make a new namespace? 2 Share this post Link to post
RHhe82 Posted May 29, 2023 By the way; Not sure if this has to do with my settings -- probably does, as each time I try to be perceptive and report supposed bugs, it's always something wrong at my end :P -- but suddenly automap doesn't display map name? The associated automap setting ("level title") is set to "ON". Also, "A secret is revealed" message is no longer displayed, but the secret found sound still plays. 0 Share this post Link to post
Mr Masker Posted May 29, 2023 23 minutes ago, msx2plus said: at the moment, not a ton if you're thinking stuff that uses "zdoom features" - you'd need to cross-check what's implemented. no 3d floors, no ACS (at the moment), no decorate (not part of the map format), etc. the list of supported features is here: https://github.com/kraflab/dsda-doom/blob/master/docs/udmf.md and specials etc are listed here https://github.com/kraflab/dsda-doom/blob/master/docs/doom_in_hexen.md - it's still early days. Fair enough, good proof of concept though. Maybe people will make some cool stuff for DSDA Doom with this. 0 Share this post Link to post
Dweller Dark Posted May 29, 2023 I suppose that if you wanted to make a vanilla or limit-removing WAD with the basic UDMF features, DSDA-Doom can run it now, right? 0 Share this post Link to post
dsda-dev Posted May 29, 2023 17 minutes ago, RHhe82 said: By the way; Not sure if this has to do with my settings -- probably does, as each time I try to be perceptive and report supposed bugs, it's always something wrong at my end :P -- but suddenly automap doesn't display map name? The associated automap setting ("level title") is set to "ON". Also, "A secret is revealed" message is no longer displayed, but the secret found sound still plays. There were some updates to the hud config stuff (basically, finalizing the migration). Most likely you need to add the new components to your custom hud, assuming you're using one. 0 Share this post Link to post
dsda-dev Posted May 29, 2023 29 minutes ago, boris said: Wouldn't it make more sense to make a new namespace? Since it's a strict subset and is still in development, I don't know if it makes sense to have a new namespace yet. The port supports the zdoom namespace in the sense that it loads it, subject to the constraints outlined in the docs. Once things are stable, and if udb support will happen (because if not, then nothing would be writing the new namespace anyway), then it probably would make sense to have a separately named namespace for convenience and so there is a "standard" that can be referenced more easily. 2 Share this post Link to post
Ramon_Demestre Posted May 29, 2023 Win32 build of dsda-doom v0.26.0: https://github.com/RamonUnch/dsda-doom/releases/download/v0.26.0/DSDADoom-0.26.0-win32.7z Mostly untested, I just got it to compile after painfully updating my build environment. Zip file loading seems to work most of the time, However there is a problem with one of the first wad I tested (breach.zip) because it contains thumbnails in the __MACOSX directory, removing the directory fixes the problem 2 Share this post Link to post
RHhe82 Posted May 29, 2023 1 hour ago, dsda-dev said: There were some updates to the hud config stuff (basically, finalizing the migration). Most likely you need to add the new components to your custom hud, assuming you're using one. Oops, my bad. I haven't dabbled into custom huds (yet), but it was an issue of my DoomLauncher setup using 0.25.6 version of the dsda-doom.wad. I just knew the problem had to be at my end :P 0 Share this post Link to post
PsychEyeball Posted May 29, 2023 Thanks for the new release! Hopefully this version will work better for me in OpenGL mode than the last one. If not, there's always software rendering to fall back on. 0 Share this post Link to post
Gregor Posted May 29, 2023 It's interesting to see that the "freeze" mode in DSDA-Doom is even more extensive than in GZDoom since it also freezes sector height updates, even though line actions are still triggered. 0 Share this post Link to post
HEXWALKER Posted May 29, 2023 This is very exciting! Gonna try this out today and see where it goes. 0 Share this post Link to post
Arsinikk Posted May 29, 2023 Congrats on the release! I've been doing some testing and have noticed a couple things so far: ENDOOM crashes when quitting DSDA Doom I'm on Windows 11 (64-bit), and if you have ansi_endoom set to 1 in the config, DSDA Doom (v0.26) will always crash with a Signal 11 (0x0000) error when pressing quit. This is on a fresh config, mind you. It doesn't matter if there's an ENDOOM lump in the PWAD or not, it will always crash (I assume this means it crashes when trying to print the Vanilla Doom 2 ENDOOM). In the last major release, ENDOOM would always print correctly without a crash. 6 hours ago, dsda-dev said: - Can add renderer preference (e.g., because software rendering tricks are used) Not sure how I feel about this. To be honest, I need to test what this actually does. I don't think this would be too useful for me, since players often use OpenGL for performance reasons over Software. For people with less capable computers, they may be forced to use OpenGL regardless. I'd rather try and get OpenGL as close to Software, instead of forcing people to use another render mode. I guess I'm glad it's an option, but I probably wouldn't use it in my WADs. -shrug- DEHACKED Blood Color causes different coloured corpses after being crushed I was meaning to bring this up in an earlier version, but I thought I'd test this version to see if it was fixed. There is a minor oversight regarding DEHACKED value Blood Color. So Blood Color does 2 things. When you shoot an enemy, it changes the color of the blood splatter that comes off the enemy (example: red -> blue). What it also does is when an enemy corpse is crushed, the Doom engine changes the corpse to a smaller pool of blood. Blood Color also changes this blood pool to match the spatter color. I did notice that the way this version of DSDA Doom does Blood Color is a bit different. Previous version would take some red values from the palette and translate them to match the Blood Color value. However it seems like this new version does it differently and recolours the entire sprite. How do I know this? Well, because the Blood Color effect on the pool of blood is not reverted if the enemy is resurrected by an Archvile. This leads to the resurrected monster having the colour of Blood Color value. In the old versions of DSDA Doom, this was less noticeable because it only affected the dark red values that were the same values of the pool of blood corpse. This meant that it was only really noticeable with the Cacodemon since it shared some of the same red palette values as the recoloured pool of blood. However because of how the new version of DSDA Doom colours the pool of blood, it's alot more noticeable now. I'm sure that other monsters will become fully recoloured and notable now. Anyway it probably seems like the best way to fix this would be to put a check when a monster crushed corpse is resurrected to return to its normal palette. OpenGL Indexed Render Mode is getting better, but still isn't perfect. I will say that I did test out the new DSDA Doom with some Vanilla style maps, and it does seem to render stuff a bit better than the last version. Specifically on of my pet peeves was how it would always render floors above ceilings and the walls would always be visible above the sky, whereas in Software the sky would obscure the wall. You can see from the screenshots below, the improvement:Software Renderer: OpenGL Indexed DSDA v0.25.6:OpenGL Indexed DSDA v0.26: As you can see it's not perfect. It seems that it still doesn't like when a floor is above the ceiling when that ceiling isn't the sky. As for another thing on my Indexed wishlist, it'd be support for midtex bleeds: Overall it is great to see the port get improvements. Glad to see DSDA Doom is still getting updates! 6 Share this post Link to post
s4f3s3x Posted May 29, 2023 Exclusive Fullscreen mode for OpenGL is still not recognized on MacOs 0 Share this post Link to post
alastortenebris Posted May 29, 2023 (edited) So compiling it on linux now requires libzip, but for some reason it also requires having /usr/bin/fluidsynth and /usr/bin/zipcmp installed at build time, and not just the development libraries for libzip and fluidsynth. Even stranger is that you don't need /usr/bin/zipcmp nor /usr/bin/fluidsynth installed to run dsda-doom. 1 Share this post Link to post
dsda-dev Posted May 29, 2023 Quote For people with less capable computers, they may be forced to use OpenGL regardless. I'd rather try and get OpenGL as close to Software, instead of forcing people to use another render mode. I guess I'm glad it's an option, but I probably wouldn't use it in my WADs. -shrug- The point of this feature is for exceptions where the renderer is critical. For instance, if you play Major Arlene's drudge map with the software renderer it will be completely messed up because it uses things only supported in opengl currently. It shows a warning message in the top left in that case so the player knows. Another case would be vanilla maps heavily reliant on software visual tricks. For most cases this feature isn't needed, but that's up to the author's discretion. 0 Share this post Link to post
dsda-dev Posted May 29, 2023 1 hour ago, Arsinikk said: This leads to the resurrected monster having the colour of Blood Color value. Wow that's a funny bug 😄 I'll have it fixed for the next patch 2 Share this post Link to post
Pomps Posted May 29, 2023 Should you be able to see the .exe screen before the game starts? Or is my laptop just old and slow 😅😅 0 Share this post Link to post
pltr Posted May 30, 2023 I haven't been getting any stutters on the OpenGL renderer, which is great! I do have a few HUD wishlist items: There should be a way to remove the "WPN" label for the weapon_text component like what you can do for ammo_text and composite_time big_ammo is always red; it isn't yellow, green, or blue based on the amount of ammo you have There's no way to change the color of big_armor_text, big_health_text, etc. with the DSDATC lump like you can with health_text Also, if you're on the full HUD, is it possible to have the black BG automap along with no status bar? 0 Share this post Link to post
Doomkid Posted May 30, 2023 I'm SO stoked to see a new release out. I've totally dropped the ball on testing/finding stuff but I'll be doing all my Dooming with this new build and will of course share if I find any issues. Happy as hell about all the progress! 3 Share this post Link to post
Gez Posted May 30, 2023 Why are comments not marked as supported in the docs? All that's needed to "support" comments is to silently ignore them... 1 Share this post Link to post
ReaperAA Posted May 30, 2023 Just now, boris said: What does "zdoom 1.33" namespace mean? The ZDoom UDMF specs version 1.33? Because there are features before that that are not supported by dsda-doom. Wouldn't it make more sense to make a new namespace? I was also wondering about the ZDoom 1.33 namespace. What does that mean? There were ZDoom version 1.23 builds and then the version number jumped to 2.0. There was no ZDoom 1.33 (unless this number is something else that I don't get). 0 Share this post Link to post
dsda-dev Posted May 30, 2023 4 hours ago, Gez said: Why are comments not marked as supported in the docs? All that's needed to "support" comments is to silently ignore them... They're not supported in the sense that they aren't parsed and don't do anything. I'm planning on adding an option to display the comment in the port, and then I will mark them supported (something like a console command to access the comment of the current sector for instance). 0 Share this post Link to post
dsda-dev Posted May 30, 2023 27 minutes ago, ReaperAA said: I was also wondering about the ZDoom 1.33 namespace. What does that mean? There were ZDoom version 1.23 builds and then the version number jumped to 2.0. There was no ZDoom 1.33 (unless this number is something else that I don't get). As boris mentioned in his comment, this is the namespace version. 1 Share this post Link to post
Yousuf Anik Posted May 30, 2023 I'm not sure if I should be asking this here, if it was previously discussed please let me know. I was recording demo on v0.25.6 (not shifted to the latest yet) and found this. How many attempts I took I see that these many demo files created. I want to share this too So I want to know if there is any way to prevent this. Like how I record demo on PrBoom, it overrides the existing demo file. 0 Share this post Link to post