github dhewm/dhewm3 1.5.5
dhewm3 1.5.5

4 hours ago
hireme-180-shadow2

Rejoice, dhewm3 1.5.5 is here!

There have been lots of changes (see below for details), one highlight is that several sources of microstutters have been removed (like the old 60 vs 62.5fps problem) so the game should run smoother than before, especially when using VSync.

Another great new feature is the support for widescreen GUIs. It requires adjusting the .ui files; Arl created versions for the base game, Resurrection of Evil and The Lost Mission, they are provided as an optional Download (dhewm3-wide-guis-*.zip).
Note that especially the main menus may have some little glitches here and there - they're very big/complex, so converting them to widescreen wasn't exactly straightforward.

Furthermore, dhewm3 now supports BC7-compressed (BPTC) .dds textures. They offer better quality than the older S3TC/DXT/BC1-3 texture compression standard that Doom3 always supported, at the same size as DXT3-5. Useful for high-res retexturing packs. See the full changelog below for more details.

You can download a signed and notarized build for macOS (Apple Silicon and 64bit Intel) at https://www.macsourceports.com/game/doom3

dhewm3-mods contains some new mods:

  • ELDOOM
  • Grimm
  • HeXen: Edge Of Chaos Demo
  • Real Gibs
    • Note: The page says it only works with the 32bit version of dhewm3, but that refers to the realgibs.dll they ship.
      Use their gamedata with the .dll/.so provided here (or build the lib yourself)
  • Blood Mod has been updated to v1.8 and now also supports Resurrection Of Evil
  • LibreCoop is now maintained as part of dhewm3-sdk, until upstream becomes active again.
    This means that you should use the librecoop.dll/.so/.dylib provided by the dhewm3-mods download
  • All mods got updated with gamecode changes from dhewm3 1.5.5

Changes since 1.5.4:

  • Enable/disable Soft Particles when loading a graphics quality preset (only enabled in Ultra preset,
    though you can still configure it independently like before; #604)
  • Greatly improve precision of internal timing, which should eliminate micro stutters
    (that were esp. noticeable when using VSync with 60Hz displays).
    Related: com_showFPS is now more precise and com_showFPS 2 shows additional information
  • Support BC7-compressed (BPTC) .dds textures. They offer better quality than the older S3TC/DXT/BC1-3
    texture compression standard that Doom3 always supported. Mostly relevant for high-res retexturing
    packs, because they offer similar quality as uncompressed TGAs while being smaller, using only
    a quarter of the VRAM (TGA: 4 bytes per pixel, BC7: 1 byte per pixel) and loading significantly
    faster because mipmaps are contained and don't have to be generated on load.
    If you have such DDS files and want to use them (instead of TGAs), you must set
    image_usePrecompressedTextures 1 and image_useNormalCompression 2.
    You can also set image_usePrecompressedTextures 2, then dhewm3 will only load .dds textures
    with BC7 data - if it only finds an old one (with S3TC/DXT/BC-13 compression) it will use the
    uncompressed TGA textures instead.
    If you want to create .dds files with BC7 texture data, you can use any common texture compression
    tool, except for normalmaps, those must be created with my
    customized bc7enc with the -r2a flag!
    (Because Doom3 requires that normalmaps have the red channel moved into the alpha channel,
    id confusingly called that "RXGB", and AFAIK no other tool supports that for BC7.)

    Just like the old DXT .dds files, they must be in the dds/ subdirectory of a mod (either directly
    in the filesystem or in a .pk4).
  • Allow creating aspect-ratio-independent GUIs (HUD and menus), based on code from
    CstDoom3, but greatly extended (#324).
    Note that this won't work out of the box with the original Doom3 game data, but requires updated GUIs.
    See docs/GUIs.md for how to use these features when creating GUIs.
  • Support SDL3 (SDL2 and, to some degree, SDL1.2 are also still supported)
  • Fix bugs on 64bit Big Endian platforms (#472, #625)
  • Fixes for high-poly models (use heap allocation instead of alloca() for big buffers; #528)
  • Fix building dhewm3ded with newer OpenAL Soft headers (#633)
  • Better support for High-DPI mice:
    • Don't ignore mouse input on fast movement ("ridiculous mouse delta"; #616)
    • Allow setting sensitivity to values < 1 in the dhewm3 settings menu to allow sane speeds
      for looking around with High-DPI mice (otherwise it might be way too fast)
  • Fix a crash (assertion) on start with ImGui if SDL_GetWindowDisplayIndex()
    or SDL_GetDisplayDPI() failed and the imgui_scale CVar was set to the default value of -1
    (setting it to 1 worked around the bug; #632)
  • Fix scaling of Grabber cursor in Resurrection of Evil in non-4:3 resolutions (#637)
  • Add com_disableAutoSaves CVar: If set to 1, Autosaves (when starting a level) are disabled (#620)
  • Add support for "nospecular" parm of lights, enabled by setting "allow_nospecular" "1" in a maps
    worldspawn, or by setting the r_allowNoSpecular CVar to 1.
    Note that this required changing the format of demos. dhewm3 can still play old demos, but ones
    recorded with current dhewm3 are not compatible with older dhewm3 versions, original Doom3 or
    other source ports (unless they do the same change).
  • Make sure macOS doesn't show popups for key-alternatives when pressing a key for longer while ingame
  • Windows: Show error MessageBox if dhewm3log.txt can't be created on startup (#544)
  • Running a timedemo with sound disabled (s_noSound 1) doesn't crash anymore (#163)
  • Show some OpenGL/GPU information in the Video Options tab of the dhewm3 Settings Menu
  • Fix saving/loading of idSpring (func_spring) entity (#31)
  • Fix several issues (incl. crashes and missing shadows) with MD3 models (#698)
  • Fix the "shrivel" effect of MD5 models (SHADERPARM_MD5_SKINSCALE)
  • Optionally integrate the Tracy profiler.
    Disabled unless you enable it in CMake.
  • Fixed a crash in AI pathfinding code that could happen in the lotsaimps testmap (#721)
  • Disabled assertion in TestHugeTranslation() that led to "crashes" in several user-maps (#720)
  • Fixed concatenation of timed GUI commands that sometimes lead to glitches in UIs
  • Added fs_gameDllPath CVar: If set, game DLLs will be searched in that directory before the other
    standard places (like next to the executable). Especially useful for developing/debugging mod DLLs
    (you can just set fs_gameDllPath to the build dir, no need to copy the DLL/.so/.dylib)
  • Fixed a crash when using an incomplete cubemap texture (missing one side).
    Will now print a warning about the missing side.
  • Fix bug in map compiling (dmap) that could lead to errors when loading the map,
    due to "dangling edges" in collision models (#742)
  • Fix wrong (flipped) labels of Prev./Next Weapon in dhewm3 settings menu (#731)
  • Gamepad trigger axes can now also be used for ducking and jumping (#733)
  • Updated Dear ImGui to v1.92.5 (thanks Klaus Silveira!)
  • Fix that after dying the wrong autosave might be loaded (#762)
  • Increase MAX_EYEBALL_TRIS to 20, so mods can have eyeballs with more triangles in their models (#758)
  • Work around a problem with compiler math optimizations leading to assertion errors on Raspberry Pi 5 (#749)
  • Default to building as C++98 if ImGui is disabled - with ImGui it still defaults to C++11.
    The dhewm3-sdk does the same to avoid issues with compilers defaulting to C++20 that are unhappy
    about variables named "requires" (which is a keyword in C++20).
  • Several smaller fixes for all kinds of things incl. build issues

Don't miss a new dhewm3 release

NewReleases is sending notifications on new releases.