dhewm3

dhewm 3 main repository

GPL-3.0 License

Stars
1.8K
Committers
46

Bot releases are visible (Hide)

dhewm3 - dhewm3 1.5.4 Latest Release

Published by DanielGibson 3 months ago

Release 1.5.4 of our Doom 3 Sourceport

Celebrating 20 years of Doom 3!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.0-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.0).

An up-to-date version for macOS is available at http://www.macsourceports.com/sourceport/dhewm3

Changes since 1.5.3:

  • dhewm3-mods now contains game DLLs/libs for several new mods:
  • A brand new settings menu that uses Dear ImGui.
    Can be opened with F10 (unless that key is bound already) or by entering dhewm3Settings
    in the console. It has lots of settings that the original options menu doesn't have and
    can be easily navigated with gamepad or keyboard (or the mouse, of course).
    It can also be opened while in the game, which then is paused (if Single Player) but still visible,
    so the effect of most graphics settings can be seen immediately.
    Needs SDL2 and C++11.
  • "Soft" Particles (that don't "cut" into geometry but fade smoothly), based on code from The Dark Mod
    2.04. Can be enabled/disabled with r_useSoftParticles, is applied automatically for all appropriate
    particles (view-aligned, using additive or alpha blending and not too small)
  • r_enableDepthCapture: Enable capturing depth buffer to texture, needed for the soft particles.
    Can be used in custom materials by using the "_currentDepth" texture
  • Replaced dependency on (external) zlib with integrated miniz
  • HighDPI/Retina support
  • Allow inverted mouse look (horizontally, vertically or both) with m_invertLook
  • CVar to allow always run in single player (still drains stamina though!): in_allowAlwaysRunInSP
  • VSync can be enabled/disabled on the fly, without restarting the renderer (still with r_swapInterval
    or in the menu, of course; needs SDL2)
  • Allow enabling/disabling HRTF with s_alHRTF
  • s_alOutputLimiter: Configure OpenAL's output-limiter which temporarily reduces the overall
    volume when too many too loud sounds play at once, to avoid issues like clipping
  • s_scaleDownAndClamp: Clamp and reduce volume of all sounds to prevent clipping or temporary
    downscaling by OpenAL's output limiter
  • If r_windowResizable is set, the dhewm3 window (when in windowed mode..) can be freely resized.
    Needs SDL2; with 2.0.5 and newer it's applied immediately, otherwise when creating the window.
  • If switching between fullscreen and windowed mode or similar changes causes issues (like here), you can set r_vidRestartAlwaysFull 1, so (again) a full vid_restart is done, instead of the partial one which usually suffices for just changing the resolution or fullscreen state. If you run into that issue (probably a driver bug), you'll probably also want to set r_windowResizable 0, because resizing the window that way also triggered the bug, and in that case no vid_restart is done at all
  • Fixed screenshots when using native Wayland (SDL_VIDEODRIVER=wayland)
  • If you enter the map command in the console, without any arguments, the current map name is printed
  • Support OpenGL debug contexts and messages (GL_ARB_debug_output). Can be enabled with r_glDebugContext 1.
    Changing that CVar requires a vid_restart (or set it as startup argument)
  • In the Win32 release, updated the bundled SDL2 to 2.30.5 and cURL to 8.9.0
  • In the dhewm3-mods archive for Linux, the librecoop libs have been rebuild (fix #589)

Thank you very much to everyone who tested this, especially @j4reporting, @ALord7, @Eonfge and @tomkidd (who also maintains the macOS port at http://www.macsourceports.com/sourceport/dhewm3)!

Special thanks to Valkyries733 from the idtech4 Discord channel who created the picture celebrating 20years of Doom3 used in the newspost

dhewm3 - dhewm3 1.5.4 Release Candidate 3

Published by DanielGibson 3 months ago

Release Candidate 3 for the upcoming version 1.5.4 of our Doom 3 Sourceport
(hopefully the last one)

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

The only change since RC2 is a fix for Soft Particles (that made the muzzle flash in Dentonmod look wrong).

The mods themselves haven't changed, download them from RC2

dhewm3 - dhewm3 1.5.4 Release Candidate 2

Published by DanielGibson 3 months ago

Release Candidate 2 for the upcoming version 1.5.4 of our Doom 3 Sourceport

NOTE: The dhewm3 binaries here are outdated. The mods DLLs are not, so download them here, but download dhewm3 from 1.5.4 RC3

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.0-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.0).

Changes since 1.5.4 RC1:

  • Fixed mods menu to support Perfected Doom 3 ROE and Sikkmod RoE (so they automatically get fs_game_base set to d3xp when started from the menu)
  • Make entries for base game and Resurrection of Evil (d3xp) in mods menu clearer
  • Fixed Perfected Doom 3 ROE (so it actually starts)
  • Applied fix to Perfected Doom 3 and Sikkmod so the crosshair is round in widescreen resolutions
dhewm3 - dhewm3 1.5.4 Release Candidate 1

Published by DanielGibson 3 months ago

Release Candidate 1 for the upcoming version 1.5.4 of our Doom 3 Sourceport

This is outdated, please use 1.5.4 RC3 instead!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.0-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.0).

Changes since 1.5.3:

  • dhewm3-mods now contains game DLLs/libs for several new mods:
  • A brand new settings menu that uses Dear ImGui.
    Can be opened with F10 (unless that key is bound already) or by entering dhewm3Settings
    in the console. It has lots of settings that the original options menu doesn't have and
    can be easily navigated with gamepad or keyboard (or the mouse, of course).
    It can also be opened while in the game, which then is paused (if Single Player) but still visible,
    so the effect of most graphics settings can be seen immediately.
    Needs SDL2 and C++11.
  • "Soft" Particles (that don't "cut" into geometry but fade smoothly), based on code from The Dark Mod
    2.04. Can be enabled/disabled with r_useSoftParticles, is applied automatically for all appropriate
    particles (view-aligned, using additive or alpha blending and not too small)
  • r_enableDepthCapture: Enable capturing depth buffer to texture, needed for the soft particles.
    Can be used in custom materials by using the "_currentDepth" texture
  • Replaced dependency on (external) zlib with integrated miniz
  • HighDPI/Retina support
  • Allow inverted mouse look (horizontally, vertically or both) with m_invertLook
  • CVar to allow always run in single player (still drains stamina though!): in_allowAlwaysRunInSP
  • VSync can be enabled/disabled on the fly, without restarting the renderer (still with r_swapInterval
    or in the menu, of course; needs SDL2)
  • Allow enabling/disabling HRTF with s_alHRTF
  • s_alOutputLimiter: Configure OpenAL's output-limiter which temporarily reduces the overall
    volume when too many too loud sounds play at once, to avoid issues like clipping
  • s_scaleDownAndClamp: Clamp and reduce volume of all sounds to prevent clipping or temporary
    downscaling by OpenAL's output limiter
  • If r_windowResizable is set, the dhewm3 window (when in windowed mode..) can be freely resized.
    Needs SDL2; with 2.0.5 and newer it's applied immediately, otherwise when creating the window.
  • If switching between fullscreen and windowed mode or similar changes causes issues (like here), you can set r_vidRestartAlwaysFull 1, so (again) a full vid_restart is done, instead of the partial one which usually suffices for just changing the resolution or fullscreen state. If you run into that issue (probably a driver bug), you'll probably also want to set r_windowResizable 0, because resizing the window that way also triggered the bug, and in that case no vid_restart is done at all
  • Fixed screenshots when using native Wayland (SDL_VIDEODRIVER=wayland)
  • If you enter the map command in the console, without any arguments, the current map name is printed
  • Support OpenGL debug contexts and messages (GL_ARB_debug_output). Can be enabled with r_glDebugContext 1.
    Changing that CVar requires a vid_restart (or set it as startup argument)
  • In the Win32 release, updated the bundled SDL2 to 2.30.5 and cURL to 8.9.0
  • In the dhewm3-mods archive for Linux, the librecoop libs have been rebuild (fix #589)
dhewm3 - dhewm3 1.5.3

Published by DanielGibson 7 months ago

Release 1.5.3 of our Doom 3 Sourceport

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.1-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.1).

Changes since 1.5.2:

  • Support for gamepads (based on code from Quadrilateral Cowboy,
    but heavily expanded). See Configuration.md for more information. Needs SDL2.
  • Support different file formats for screenshots by setting the r_screenshotFormat CVar
    (0 = TGA, still the default, 1 = BMP, 2 = PNG, 3 = JPG). r_screenshotJpgQuality and
    r_screenshotPngCompression allow configuring how JPG/PNG are compressed.
    Thanks eezstreet (Nick Whitlock)!
  • Fixed problems with lights after loading a savegame (#495)
  • Fix volume of some weapon sounds, like chaingun being too quit (#326)
  • Increase stack size on Windows to 8MB (instead default of 1MB) to make loading huge models work
  • Fixed crash in Radiant Model Preview Dialog (#496)
  • Fix MD3 model support
  • Several new CMake options:
    • To enable Clang/GCC Address Sanitizer and Undefined Behavior Sanitizer
    • Hardlink the game code into the executable (instead of using game DLLs,
      only supports base or d3xp then; needed for Undefined Behavior Sanitizer)
    • Force colored diagnostic output from GCC or Clang (esp. useful when building with ninja)
  • Fix several compiler warnings
  • Added build instructions for Linux (and similar systems) to README.md
  • Added documentation for dhewm3-specific settings (mostly CVars): Configuration
  • Updated stb_image and stb_vorbis
  • Updated minizip (from zlib/contrib) to latest upstream code
  • Added in_namePressed CVar to print currently pressed key/button (useful for binding keys
    in the console or configs). Thanks Biel Bestué de Luna!
  • Updated bundled libs on Windows: OpenAL Soft 1.23.1, SDL 2.30.1, cURL 8.6.0, zlib 1.3.1
  • Linux binary build provided here now requires SDL 2.0.12 or newer (I provide an updated libSDL2-2.0.so.0 though).
    If you compile dhewm3 yourself, older SDL2 versions (and SDL1.2) are still supported (however, SDL1.2 doesn't support gamepads).
dhewm3 - dhewm3 1.5.3 Release Candidate 2

Published by DanielGibson 7 months ago

Release Candidate 2 for the upcoming version 1.5.3 of our Doom 3 Sourceport

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.0-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.0).

Changes since 1.5.3 RC1:

  • Updated minizip (from zlib/contrib) to latest upstream code
  • Fix bug with detecting if cursor is on ingame-UI or not, leading to mixing up the A/B/X/Y buttons on gamepads in normal gameplay.
    (NOTE: This fix requires changes in the game DLLs, so if you want to play the supported mods make sure to use the latest builds linked below, or rebuild them yourself from latest git code)
dhewm3 - dhewm3 1.5.3 Release Candidate 1

Published by DanielGibson 9 months ago

Release Candidate 1 for the upcoming version 1.5.3 of our Doom 3 Sourceport

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information.

Note: The provided Linux build now requires SDL 2.0.12 or newer.
If your system has an older version of SDL2 (e.g. 2.0.10 on Ubuntu 20.04), you can put the libSDL2-2.0.so.0 from sdl-2.30.0-linux-amd64.tar.gz into dhewm3/libs/ to make dhewm3 use this updated version of SDL2 (2.30.0).

Note: There are no new builds of mod .DLL/.so files yet, the ones from 1.5.2 work with 1.5.3 as well.

Changes since 1.5.2:

  • Support for gamepads (based on code from Quadrilateral Cowboy,
    but heavily expanded). See Configuration.md for more information.
  • Support different file formats for screenshots by setting the r_screenshotFormat CVar
    (0 = TGA, still the default, 1 = BMP, 2 = PNG, 3 = JPG). r_screenshotJpgQuality and
    r_screenshotPngCompression allow configuring how JPG/PNG are compressed.
    Thanks eezstreet (Nick Whitlock)!
  • Fixed problems with lights after loading a savegame (#495)
  • Fix volume of some weapon sounds, like chaingun being too quit (#326)
  • Increase stack size on Windows to 8MB (instead default of 1MB) to make loading huge models work
  • Fixed crash in Radiant Model Preview Dialog (#496)
  • Fix MD3 model support
  • Several new CMake options:
    • To enable Clang/GCC Address Sanitizer and Undefined Behavior Sanitizer
    • Hardlink the game code into the executable (instead of using game DLLs,
      only supports base or d3xp then; needed for Undefined Behavior Sanitizer)
    • Force colored diagnostic output from GCC or Clang (esp. useful when building with ninja)
  • Fix several compiler warnings
  • Added build instructions for Linux (and similar systems) to README.md
  • Updated stb_image and stb_vorbis
  • Updated bundled libs on Windows: OpenAL Soft 1.23.1, SDL 2.30.0, cURL 8.6.0, zlib 1.3.1
  • Linux binary build provided here now requires SDL 2.0.12 or newer.
    If you compile dhewm3 yourself, older SDL2 versions (and SDL1.2) are still supported.
dhewm3 - dhewm3 1.5.2

Published by DanielGibson over 2 years ago

Release 1.5.2 of our Doom3 Sourceport.

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

UPDATE 2022-06-13 13:32:19 UTC: Replaced dhewm3-mods_1.5.2_win32.zip - the original archive's d3le.dll was broken

  • Gamma and Brightness are now applied in the shaders instead of by setting hardware gamma.
    Can be disabled (so hardware gamma is used again) with r_gammaInShaders 0
  • Improvements for (Windows-only) MFC-based tools:
    • Added the script debugger! (thanks HarrievG!)
      Original Doom3 didn't have it (Quake4 did), but the Doom3 GPL source contained
      most of it. HarrievG implemented the missing parts and we added some new
      features. It can even be used over the network and while the client part
      (the debugger GUI) is Windows-only, the server can run on all supported
      platforms, so you can debug a game running on Linux or macOS, for example.
      Relevant CVars for network debugging are:
      com_enableDebuggerServer and com_dbgClientAdr and com_dbgServerAdr.
      To debug the running game on the same PC, just enter debugger in the console.
    • All tools can now be built in 64bit (thanks raynorpat!)
    • HighDPI support (thanks HarrievG!)
    • PDAEditor works now
    • Additional bugfixes
  • Cycle through multiple Quicksave slots instead of immediately overwriting the last
    Quicksave. The com_numQuicksaves CVar allows setting the number of QuickSaves (#392)
  • Make r_locksurfaces work (#357)
    It doesn't do exactly what its description and name suggests: it renders
    everything that is currently visible from the position/view the player had
    when setting r_locksurfaces 1. Originally it was supposed to render exactly
    the surfaces that were visible then, but I couldn't get that to work.
    This is pretty similar, but there may be differences with opened doors and such.
  • Keyboard input improvements (mostly SDL2-only):
    • Support (hopefully) all keyboard keys on all kinds of keyboard layouts
      by using scancodes for otherwise unknown keys
    • Support typing in non-ASCII characters, if supported by Doom3 (it supports ISO-8859-1)
    • Support the clipboard also on non-Windows platforms
      You can paste text from the clipboard into the console or other edit fields
      with Shift+Insert
    • Explicit support for Right Ctrl, Alt and Shift keys
      (can be bound to different actions than their left counterparts)
    • Added in_grabKeyboard CVar to make sure dhewm3 gets all keyboard input
      Prevents the Windows-key or Alt-Tab or whatever from taking focus from the game
    • Added in_ignoreConsoleKey - if set to 1, the console is only opened with
      Shift+Esc, and the "console key" (that key between Esc, 1 and Tab) can be freely
      bound to an action (and its char can be typed in the console without closing it).
    • Added (SDL2-only) "auto" option for in_kbd: When not disabling the console key,
      dhewm3 will try to automatically detect it if in_kbd is set to "auto" (now default)
  • Reworked mouse-input and -grabbing code, using absolute mouse mode in fullscreen GUIs
    (except for the PDA, because it's implemented weirdly).
    This made releasing the mouse in the main menu possible, as now the ingame cursor
    is at the same position as the system cursor.
  • s_alReverbGain CVar to reduce EFX reverb effect intensity (#365)
  • Pause (looped) sounds when entering menu (#330)
  • Fixes for looped sounds (#390)
  • Replace libjpeg with stb_image and libogg/libvorbis(file) with stb_vorbis
    • Now the only required external dependencies should be OpenAL, SDL, zlib
      and optionally libCURL (and of course the C and C++ runtimes)
  • (Optionally) use libbacktrace on non-Windows platforms for more useful
    backtraces in case of crashes (usually linked statically)
  • Fixed a deadlock (freeze) on Windows when printing messages from another thread
  • Fixed endless loop (game locking up at startup) if graphics settings couldn't be applied (#386)
  • Fixed some warnings and uninitialized variables (thanks turol!)
  • Work around dmap bug caused by GCC using FMA "optimizations" (#147)
  • Prevent dhewm3 from being run as root on Unix-like systems to improve security
  • Replaced most usages of strncpy() with something safer to prevent buffer overflows
    (remaining cases should be safe).
    • Just a precaution, I don't know if any of them could actually be exploited,
      but there were some compiler warnings in newer GCC versions.
  • Console output is now logged to dhewm3log.txt (last log is renamed to dhewm3log-old.txt)
    • On Windows it's in My Documents/My Games/dhewm3/
    • On Mac it's in $HOME/Library/Application Support/dhewm3/
    • On other Unix-like systems like Linux it's in $XDG_DATA_HOME/dhewm3/
      (usually $HOME/.local/share/dhewm3/)
  • Improved compatibility with Wayland (#426)
  • Work around assertion in AlphaLabs4 due to "ride_of_death" yeeting
    the dead "monster_zsec_shotgun_12" into the void (#409)
  • Support loading some mods known to need fs_game_base d3xp via Mods menu
    (currently, The Lost Mission and LibreCoop d3xp are supported)
  • Disable assertion in idSampleDecoderLocal::DecodeOGG() that triggered
    when starting a new Classic Doom3 game (#461)
dhewm3 - dhewm3 1.5.2 Release Candidate 2

Published by DanielGibson over 2 years ago

Release Candidate 2 for the upcoming version 1.5.2 of our Doom 3 Sourceport

This is outdated, please use 1.5.2 instead.

Also providing updated mod DLLs!

Small Update: Added dhewm3_1.5.2rc2_win32_lighteditor-fix.zip which has a bugfix that makes the Lights Editor work in the D3Radiant (Windows-only level editor) again. It contains just dhewm3.exe, take the other files from dhewm3_1.5.2_RC2_win32.zip.

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

  • Updated the code of all mods hosted in dhewm3-sdk repository with relevant changes from dhewm3. Corresponding binaries are in the dhewm3-mods_* archives you can download below.
  • The SDL2.dll in the Windows download has been downgraded to 2.0.20 to avoid a regression in SDL 2.0.22 (#460)
  • Support loading some mods known to need fs_game_base d3xp via Mods menu
    (currently, The Lost Mission and LibreCoop d3xp are supported)
  • Disable assertion in idSampleDecoderLocal::DecodeOGG() that triggered
    when starting a new Classic Doom3 game (#461)
  • Fix assertion when loading a mod via menu (#458)
    (this was a regression introduced with the keyboard improvements after 1.5.1)
  • Fix mouse remaining ungrabbed when running map from Radiant
    (this was a regression introduced with the reworked mouse grabbing code after 1.5.1)
dhewm3 - dhewm3 1.5.2 Release Candidate 1

Published by DanielGibson over 2 years ago

Release Candidate 1 for the upcoming version 1.5.2 of our Doom 3 Sourceport

This is outdated, please use 1.5.2 instead.

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

  • Gamma and Brightness are now applied in the shaders instead of by setting hardware gamma.
    Can be disabled (so hardware gamma is used again) with r_gammaInShaders 0
  • Improvements for (Windows-only) MFC-based tools:
    • Added the script debugger! (thanks HarrievG!)
      Original Doom3 didn't have it (Quake4 did), but the Doom3 GPL source contained
      most of it. HarrievG implemented the missing parts and we added some new
      features. It can even be used over the network and while the client part
      (the debugger GUI) is Windows-only, the server can run on all supported
      platforms, so you can debug a game running on Linux or macOS, for example.
      Relevant CVars for network debugging are:
      com_enableDebuggerServer and com_dbgClientAdr and com_dbgServerAdr.
      To debug the running game on the same PC, just enter debugger in the console.
    • All tools can now be built in 64bit (thanks raynorpat!)
    • HighDPI support (thanks HarrievG!)
    • PDAEditor works now
    • Additional bugfixes
  • Cycle through multiple Quicksave slots instead of immediately overwriting the last
    Quicksave. The com_numQuicksaves CVar allows setting the number of QuickSaves (#392)
  • Make r_locksurfaces work (#357)
    It doesn't do exactly what its description and name suggests: it renders
    everything that is currently visible from the position/view the player had
    when setting r_locksurfaces 1. Originally it was supposed to render exactly
    the surfaces that were visible then, but I couldn't get that to work.
    This is pretty similar, but there may be differences with opened doors and such.
  • Keyboard input improvements (mostly SDL2-only):
    • Support (hopefully) all keyboard keys on all kinds of keyboard layouts
      by using scancodes for otherwise unknown keys
    • Support typing in non-ASCII characters, if supported by Doom3 (it supports ISO-8859-1)
    • Support the clipboard also on non-Windows platforms
      You can paste text from the clipboard into the console or other edit fields
      with Shift+Insert
    • Explicit support for Right Ctrl, Alt and Shift keys
      (can be bound to different actions than their left counterparts)
    • Added in_grabKeyboard CVar to make sure dhewm3 gets all keyboard input
      Prevents the Windows-key or Alt-Tab or whatever from taking focus from the game
    • Added in_ignoreConsoleKey - if set to 1, the console is only opened with
      Shift+Esc, and the "console key" (that key between Esc, 1 and Tab) can be freely
      bound to an action (and its char can be typed in the console without closing it).
    • Added (SDL2-only) "auto" option for in_kbd: When not disabling the console key,
      dhewm3 will try to automatically detect it if in_kbd is set to "auto" (now default)
  • Reworked mouse-input and -grabbing code, using absolute mouse mode in fullscreen GUIs
    (except for the PDA, because it's implemented weirdly).
    This made releasing the mouse in the main menu possible, as now the ingame cursor
    is at the same position as the system cursor.
  • s_alReverbGain CVar to reduce EFX reverb effect intensity (#365)
  • Pause (looped) sounds when entering menu (#330)
  • Fixes for looped sounds (#390)
  • Replace libjpeg with stb_image and libogg/libvorbis(file) with stb_vorbis
    • Now the only required external dependencies should be OpenAL, SDL, zlib
      and optionally libCURL (and of course the C and C++ runtimes)
  • (Optionally) use libbacktrace on non-Windows platforms for more useful
    backtraces in case of crashes (usually linked statically)
  • Fixed a deadlock (freeze) on Windows when printing messages from another thread
  • Fixed endless loop (game locking up at startup) if graphics settings couldn't be applied (#386)
  • Fixed some warnings and uninitialized variables (thanks turol!)
  • Work around dmap bug caused by GCC using FMA "optimizations" (#147)
  • Prevent dhewm3 from being run as root on Unix-like systems to improve security
  • Replaced most usages of strncpy() with something safer to prevent buffer overflows
    (remaining cases should be safe).
    • Just a precaution, I don't know if any of them could actually be exploited,
      but there were some compiler warnings in newer GCC versions.
  • Console output is now logged to dhewm3log.txt (last log is renamed to dhewm3log-old.txt)
    • On Windows it's in My Documents/My Games/dhewm3/
    • On Mac it's in $HOME/Library/Application Support/dhewm3/
    • On other Unix-like systems like Linux it's in $XDG_DATA_HOME/dhewm3/
      (usually $HOME/.local/share/dhewm3/)
  • Improved compatibility with Wayland (#426)
  • Work around assertion in AlphaLabs4 due to "ride_of_death" yeeting
    the dead "monster_zsec_shotgun_12" into the void (#409)
dhewm3 - dhewm3 1.5.1

Published by DanielGibson over 3 years ago

Release 1.5.1 of our Doom3 Sourceport.

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

By the way: There is a newer release - you probably want that instead :)

UPDATE 2021-05-04: Turns out dhewm3-mods_1.5.1_win32.zip was missing cdoom.dll.
Added dhewm3-mods-1.5.1_upd_win32.zip that contains all mod dlls, including cdoom.dll (for CLASSIC DOOM III). No further changes.

UPDATE 2021-12-20: Added Win32 and Linux amd64 binaries for the Doom 3: Hard Corps Mod

  • The (Windows-only) integrated editing tools of Doom3 are back!
    • They can only be built with non-Express versions of Visual Studio (tested Community Editions of VS2013 and VS2017) and can be disabled via CMake
    • Official dhewm3 Windows binaries are built with tools enabled, of course.
    • Only supports 32bit builds, because in contrast to the rest of dhewm3's code, the tool code is not 64bit compatible at all.
    • Based on Code from the dhewm3 branch of SteelStorm2, thanks to Motorsep for donating that code!
    • Has some bugfixes over the state in Doom3 1.3.1, like selecting a material in the Particle Editor doesn't break the viewport of the game any more.
    • Thanks to Tommy Hanusa for testing and reporting some issues (that were subsequently fixed)!
  • While prior dhewm3 releases for Windows have been built with Visual Studio 2010, this is built with Visual Studio 2017, so if it doesn't start on your system make sure you have the Visual C++ 2017 Redistributable installed - but chances are good you already have it.
  • Update savegame format (see #303 and #344)
    • old savegames still work, but new savegames can't be loaded with older versions of dhewm3!
  • Uploaded updated builds of Mod DLLs, now also supporting LibreCoop and The Lost Mission
  • dhewm3 now supports the Doom3 Demo gamedata
    • See below for installation instructions
    • This is based on Gabriel Cuvillier's code for D3Wasm, which ports dhewm3 to web browsers, thanks!
  • Create the game window on the display the cursor is currently on (when using more than one display)
  • Added r_fullscreenDesktop CVar to set if fullscreen mode should be "classic" or "Desktop" which means a borderless window at desktop resolution
  • Fullscreen modes that are not at the current desktop resolution should work better now
    • including nvidia DSR / AMD VSR; for that you might have to use the supplied dhewm3_notools.exe, as DSR/VSR seem to be incompatible with applications that use MFC (the GUI framework used for the Doom3 tools like the D3Radiant)
  • Several sound-related bugfixes:
    • Lags in starting to play a sound which for example caused the machinegun or plasmagun sounds to stutter have been eliminated (#141)
    • Trying to reset disconnected OpenAL devices, this esp. helps with display audio on Intel GPUs on Windows, when switching to fullscreen (#209)
    • Looping .wav sounds with leadin now work (#291)
    • The game still works if no sound devices are available at all (#292)
    • Make "idSoundCache: error unloading data from OpenAL hardware buffer" a Warning instead of an Error so it doesn't terminate game (by Corey O'Connor, #235)
  • Restore "Carmack's Reverse" Z-Fail stencil shadows; use glStencilOpSeparate() if available
    • That bloody patent finally expired last October: https://patents.google.com/patent/US6384822B1/en
    • This neither seems to make a visual nor performance difference on any hardware I tried (including Raspberry Pi 4), so this is mostly out of principle
    • Based on Code by Leith Bade and Pat Raynor.
    • The r_useCarmacksReverse and r_useStencilOpSeparate CVars allow switching both things on/off for comparison
  • New CVar g_hitEffect: If set to 0, the player camera damage effects (like double-vision and extreme tilt) when being hit are disabled (by dobosken, #279).
  • (On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in My Documents/My Games/dhewm3/, like save games, because the binary dir might not be writable and dhewm3 wouldn't start properly then
  • Fix lingering messages in HUD after loading savegame
    • Sometimes the "Game saved..." message didn't go away after loading a savegame (when having saved while it still was showing from last save)
  • Fixed clipping bug in delta1 (see #328)
  • Improve compatibility with some custom scripts ("t->c->value.argSize == func->parmTotal" Assertion; see #303)
  • Registering multiplayer servers at id's master-server fixed, so they can be found in the multiplayer menu (by Stradex, #293)
  • Support for reproducible builds by setting the CMake option REPRODUCIBLE_BUILD.
  • Should build on recent versions of macOS, also on Apple Silicon (thanks Dave Nicolson and Petter Uvesten).
  • Proper handling of paths with dots in directory names (#299, #301)
    • Some string functions that are intended to find/cut off/replace/... file extensions did cut off the whole path at dots..
    • Especially fixes loading and saving maps from such paths in the builtin D3Radiant level editor
  • idFileSystemLocal::ListMods() doesn't search / or C:\ anymore (it did so if one of the paths, like fs_cdpath, was empty)
  • Don't use translation in Autosave filenames (see #305)
    • In the Spanish translation all the Alpha Lab autosaves got the same name, now the autosave name is based on the mapename instead which is distinct
dhewm3 - dhewm3 1.5.1 Release Candidate 3

Published by DanielGibson over 3 years ago

Release Candidate 3 for the upcoming version 1.5.1 of our Doom 3 Sourceport

This is outdated, please use version 1.5.1 instead!

Hopefully the last Release Candidate before the proper release, please test!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

Changes since Release Candidate 2:

  • Fix lingering messages in HUD after loading savegame
    • Sometimes the "Game saved..." message didn't go away after loading a savegame (when having saved while it still was showing from last save)
  • Uploaded updated builds of Mod DLLs, now also supporting LibreCoop and The Lost Mission
  • Don't use translation in Autosave filenames (see #305)
    • In the Spanish translation all the Alpha Lab autosaves got the same name, now the autosave name is based on the mapename instead which is distinct
  • Create the game window on the display the cursor is currently on (when using more than one display)
  • Added r_fullscreenDesktop CVar to set if fullscreen mode should be "classic" or "Desktop" which means a borderless window at desktop resolution
  • Fullscreen modes that are not at the current desktop resolution should work better now
    • including nvidia DSR / AMD VSR; for that you might have to use the supplied dhewm3_notools.exe, as DSR/VSR seem to be incompatible with applications that use MFC (the GUI framework used for the Doom3 tools like the D3Radiant)
  • Fixed clipping bug in delta1 (see #328)
  • Improve compatibility with some custom scripts ("t->c->value.argSize == func->parmTotal" Assertion; see #303)
  • Update savegame format (see #303 and #344)
    • old savegames still work, but new savegames can't be loaded with older versions of dhewm3
dhewm3 - dhewm3 1.5.1 Release Candidate 2

Published by DanielGibson about 4 years ago

Release Candidate 2 for the upcoming version 1.5.1 of our Doom 3 Sourceport

This is outdated, please use version 1.5.1 instead!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

(Click "▸ Assets" below to see the downloadable files)

Changes since Release Candidate 1:

  • Several fixes for Editor-related bugs (thanks to Tommy Hanusa for reporting!)
    • When switching from an editor to the game, the game shouldn't get rendered in a tiny rectangle in the lower left corner anymore (#300)
    • When switching from Radiant into the Engine (e.g. with F2), the game isn't frozen anymore
  • Proper handling of paths with dots in directory names (#299, #301)
    • Some string functions that are intended to find/cut off/replace/... file extensions did cut off the whole path at dots..
    • Especially fixes loading and saving maps from such paths in the builtin D3Radiant level editor
    • As it's a quite invasive change this needs testing!
  • Should build on macOS again (thanks Dave Nicolson, #302)
  • idFileSystemLocal::ListMods() doesn't search / or C:\ anymore (it did so when one of the paths, like fs_cdpath, was empty)

Changes since 1.5.1:

  • The (Windows-only) integrated editing tools of Doom3 are back!
    • They can only be built with non-Express versions of Visual Studio (tested Community Editions of VS2013 and VS2017) and can be disabled via CMake
    • Official dhewm3 Windows binaries are built with tools enabled, of course.
    • Only supports 32bit builds, because in contrast to the rest of dhewm3's code, the tool code is not 64bit compatible at all.
    • Based on Code from the dhewm3 branch of SteelStorm2, thanks to Motorsep for donating that code!
    • Has some bugfixes over the state in Doom3 1.3.1, like selecting a material in the Particle Editor doesn't break the viewport of the game any more.
  • While prior dhewm3 releases for Windows have been built with Visual Studio 2010, this is built with Visual Studio 2017, so if it doesn't start on your system make sure you have the Visual C++ 2017 Redistributable installed - but chances are good you already have it.
  • dhewm3 now supports the Doom3 Demo gamedata
  • Several sound-related bugfixes:
    • Lags in starting to play a sound which for example caused the machinegun or plasmagun sounds to stutter have been eliminated (#141)
    • Trying to reset disconnected OpenAL devices, this esp. helps with display audio on Intel GPUs on Windows, when switching to fullscreen (#209)
    • Looping .wav sounds with leadin now work (#291)
    • The game still works if no sound devices are available at all (#292)
    • Make "idSoundCache: error unloading data from OpenAL hardware buffer" a Warning instead of an Error so it doesn't terminate game (by Corey O'Connor, #235)
  • Restore "Carmack's Reverse" Z-Fail stencil shadows; use glStencilOpSeparate() if available
    • The bloody patent finally expired last October: https://patents.google.com/patent/US6384822B1/en
    • This neither seems to make a visual nor performance difference on any hardware I tried (including Raspberry Pi 4), so this is mostly out of principle
    • Based on Code by Leith Bade and Pat Raynor.
    • The r_useCarmacksReverse and r_useStencilOpSeparate CVars allow switching both things on/off for comparison
  • New CVar g_hitEffect: If set to 0, the player camera damage effects (like double-vision and extreme tilt) when being hit are disabled (by dobosken, #279).
  • (On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in My Documents/My Games/dhewm3/, like save games, because the binary dir might not be writable and dhewm3 wouldn't start properly then
  • Registering multiplayer servers at id's master-server fixed, so they can be found in the multiplayer menu (by Stradex, #293)
  • Support for reproducible builds by setting the CMake option REPRODUCIBLE_BUILD.
dhewm3 - dhewm3 1.5.1 Release Candidate 1

Published by DanielGibson over 4 years ago

Release Candidate 1 for the upcoming version 1.5.1 of our Doom 3 Sourceport

This is outdated, please use version 1.5.1 instead!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

  • The (Windows-only) integrated editing tools of Doom3 are back!
    • They can only be built with non-Express versions of Visual Studio (tested Community Editions of VS2013 and VS2017) and can be disabled via CMake
    • Official dhewm3 Windows binaries are built with tools enabled, of course.
    • Only supports 32bit builds, because in contrast to the rest of dhewm3's code, the tool code is not 64bit compatible at all.
    • Based on Code from the dhewm3 branch of SteelStorm2, thanks to Motorsep for donating that code!
    • Has some bugfixes over the state in Doom3 1.3.1, like selecting a material in the Particle Editor doesn't break the viewport of the game any more.
  • While prior dhewm3 releases for Windows have been built with Visual Studio 2010, this is built with Visual Studio 2017, so if it doesn't start on your system make sure you have the Visual C++ 2017 Redistributable installed - but chances are good you already have it.
  • dhewm3 now supports the Doom3 Demo gamedata
  • Several sound-related bugfixes:
    • Lags in starting to play a sound which for example caused the machinegun or plasmagun sounds to stutter have been eliminated (#141)
    • Trying to reset disconnected OpenAL devices, this esp. helps with display audio on Intel GPUs on Windows, when switching to fullscreen (#209)
    • Looping .wav sounds with leadin now work (#291)
    • The game still works if no sound devices are available at all (#292)
    • Make "idSoundCache: error unloading data from OpenAL hardware buffer" a Warning instead of an Error so it doesn't terminate game (by Corey O'Connor, #235)
  • Restore "Carmack's Reverse" Z-Fail stencil shadows; use glStencilOpSeparate() if available
    • The bloody patent finally expired last October: https://patents.google.com/patent/US6384822B1/en
    • This neither seems to make a visual nor performance difference on any hardware I tried (including Raspberry Pi 4), so this is mostly out of principle
    • Based on Code by Leith Bade and Pat Raynor.
    • The r_useCarmacksReverse and r_useStencilOpSeparate CVars allow switching both things on/off for comparison
  • New CVar g_hitEffect: If set to 0, the player camera damage effects (like double-vision and extreme tilt) when being hit are disabled (by dobosken, #279).
  • (On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in My Documents/My Games/dhewm3/, like save games, because the binary dir might not be writable and dhewm3 wouldn't start properly then
  • Registering multiplayer servers at id's master-server fixed, so they can be found in the multiplayer menu (by Stradex, #293)
  • Support for reproducible builds by setting the CMake option REPRODUCIBLE_BUILD.
dhewm3 - dhewm3 1.5.1 Prerelease 1

Published by DanielGibson over 5 years ago

A first prerelease of dhewm3 1.5.1

There are no immediate plans for the final 1.5.1 release, but the current status might be interesting :)
UPDATE: This is outdated, please try 1.5.1 instead.

  • The (Windows-only) integrated editing tools of Doom3 are back!
    • They can only be built with non-Express versions of Visual Studio (tested Community Editions of VS2013 and VS2017) and can be disabled via CMake
    • The attached dhewm3_1.5.1pre1_win32.zip has them enabled, of course
      • While prior dhewm3 releases have been built with Visual Studio 2010, this is built with Visual Studio 2013, so if it doesn't start on your system make sure you have the Visual C++ 2013 Redistributable installed - but chances are good you already have it.
    • Only tested in 32bit builds, in contrast to the rest of dhewm3's code, the tool code might not be 64bit-clean
    • Based on Code from the dhewm3 branch of SteelStorm2, thanks to Motorsep for donating that code!
    • Has some bugfixes over the state in Doom3 1.3.1, like selecting a material in the Particle Editor doesn't break the viewport of the game any more.
  • dhewm3 now supports the Doom3 Demo gamedata (D3Demo.exe or doom3-linux-1.1.1286-demo.x86.run)
    • On Windows, just run D3Demo.exe to install the demo, on Linux (and probably others) you can extract the relevant file from the .run installer with sh doom3-linux-1.1.1286-demo.x86.run --tar xf demo/
    • This is based on Gabriel Cuvillier's code for D3Wasm, which ports dhewm3 to web browsers, thanks!
  • (On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in My Documents/My Games/dhewm3/, like save games, because the binary dir might not be writable and dhewm3 wouldn't start properly then
dhewm3 - dhewm3 1.5.0

Published by DanielGibson almost 6 years ago

Release 1.5.0 of our Doom3 Sourceport.

By the way: There is a newer release - you probably want that instead!

Needs the original Doom3 (not BFG!) game data.
See https://dhewm3.org/ for more information

Changes since 1.4.1:

  • We've got a proper homepage now: https://dhewm3.org
  • Support for some Mods via custom SDK: Classic Doom3, Fitz Packerton, HardQore2, Denton's Enhanced Doom3, Rivensin (formerly known as Ruiner).
  • Supports High DPI displays on Windows now
  • Scale menus, fullscreen videos and the PDA to 4:3 (with black bars left/right) on widescreen displays so they don't look stretched/distorted. Can be disabled with r_scaleMenusTo43 0.
    No, this unfortunately can't be done for the HUD (except for the crosshair), because it also handles fullscreen effects (for example when receiving damage), and those would look bad with black/empty bars on left/right.
  • Commandline option to display some help on supported commandline arguments: -h or -help or --help or /?
  • (Experimental) uncapped framerate, enable by entering com_fixedTic -1 in the console (can be set back with com_fixedTic 0).
  • Providing binaries for Linux amd64 (x86_64) now
  • Updated some libraries bundled in the Win32 build: SDL2 2.0.9, OpenAL-soft 1.19.1 and curl 7.62.0
  • Support for the AROS and OpenBSD operating systems
  • Several bugfixes
dhewm3 - dhewm3 1.5.0 Release Candidate 2

Published by DanielGibson almost 6 years ago

Release 1.5.1 is available, please use that instead: https://github.com/dhewm/dhewm3/releases/tag/1.5.1


Release Candidate 2 for the upcoming version 1.5.0 of our Doom 3 Sourceport

Changes since RC1:

  • Fixes performance issues that RC1 had (due to a SDL bug)
  • the mods contain a DLL for Rivensin now, as it has been released, see also https://www.moddb.com/mods/ruiner

Please test and report any issues! - Feedback is also welcome when it works, so I know it has been tested ;-)

Changes since 1.4.1:

  • We've got a proper homepage now: https://dhewm3.org
  • Support for some Mods via custom SDK: Classic Doom3, HardQore2, Denton's Enhanced Doom3 and Rivensin.
    • dhewm3-mods_1.5.0_RC2_win32.zip contains the game DLLs for those Mods and a README that tells you where to get the game data
    • See https://github.com/dhewm/dhewm3-sdk for more details about mod support and the SDK.
    • This has also broken backwards compatibility with 1.4.x game DLLs, that's why this version will be 1.5.0 and not 1.4.2.
  • Supports High DPI displays on Windows now
  • Scale menus, fullscreen videos and the PDA to 4:3 (with black bars left/right) on widescreen displays so they don't look stretched/distorted. Can be disabled with r_scaleMenusTo43 0.
    No, this unfortunately can't be done for the HUD, because the HUD also handles fullscreen effects (for example when receiving damage), and those would look bad with black/empty bars on left/right.
  • Commandline option to display some help on supported commandline arguments: -h or -help or /?
  • Updated some libraries bundled in the Win32 build: SDL2 2.0.9, OpenAL-soft 1.19.1 and curl 7.62.0
  • Support for the AROS and OpenBSD operating systems
  • Several bugfixes
dhewm3 - dhewm3 1.5.0 Release Candidate 1

Published by DanielGibson almost 6 years ago

Release 1.5.1 is available, please use that instead: https://github.com/dhewm/dhewm3/releases/tag/1.5.1

Release Candidate 1 for the upcoming version 1.5.0 of our Doom 3 Sourceport

Please test and report any issues! - Feedback is also welcome when it works, so I know it has been tested ;-)

Changes since 1.4.1:

  • We've got a proper homepage now: https://dhewm3.org
  • Support for some Mods via custom SDK: Classic Doom3, HardQore2, Denton's Enhanced Doom3 and soon Rivensin (formerly known as Ruiner).
    • dhewm3-mods_1.5.0_RC1_win32.zip contains the game DLLs for those Mods and a README that tells you where to get the game data
    • See https://github.com/dhewm/dhewm3-sdk for more details about mod support and the SDK.
    • This has also broken backwards compatibility with 1.4.x game DLLs, that's why this version will be 1.5.0 and not 1.4.2.
  • Supports High DPI displays on Windows now
  • Scale menus, fullscreen videos and the PDA to 4:3 (with black bars left/right) on widescreen displays so they don't look stretched/distorted. Can be disabled with r_scaleMenusTo43 0.
    No, this unfortunately can't be done for the HUD, because the HUD also handles fullscreen effects (for example when receiving damage), and those would look bad with black/empty bars on left/right.
  • Commandline option to display some help on supported commandline arguments: -h or -help or /?
  • Updated some libraries bundled in the Win32 build: SDL2 2.0.9, OpenAL-soft 1.19.1 and curl 7.62.0
  • Support for the AROS and OpenBSD operating systems
  • Several bugfixes
dhewm3 - dhewm3 1.4.1 Release

Published by DanielGibson over 8 years ago

Release 1.4.1 of our Doom 3 Sourceport.

NOTE: There are newer releases with many improvements, you probably want the latest release instead.

Needs the original Doom3 (not BFG!) game data.
See https://github.com/dhewm/dhewm3/blob/master/README.md
and https://github.com/dhewm/dhewm3/wiki/FAQ
for more information.

Fixes/improvements since 1.4.0:

  • Fixed some (kinda rare) crashes due to assertion errors, especially observed in the last boss fights of both doom3 and the Resurrection of Evil Addon.
  • Improved compatibility with AZERTY keyboards (the row of keys with 1...9, 0 is now usable)
  • Fixed a crash (at least on FreeBSD) when loading Resurrection of Evil's last level
  • Compatibility with Microsoft Visual Studio 2015
  • Video resolutions in menu now sorted, added 2880x1800
  • Support for up to 8 mouse buttons (on Linux this needs SDL2 2.0.4)
dhewm3 - dhewm3 1.4.1 Release Candiate 1

Published by DanielGibson almost 9 years ago

Release Candidate 1 for the upcoming version 1.4.1 of our Doom 3 Sourceport

Please test and report any issues!

Fixes/improvements:

  • Fixed some (kinda rare) crashes due to assertion errors, especially observed in the last boss fights of both doom3 and the Resurrection of Evil Addon.
  • Improved compatibility AZERTY Keyboards (the row of keys with 1...9, 0 is now usable)
  • Fixed a crash (at least on FreeBSD) when loading Resurrection of Evil's last level
  • Compatibility with Microsoft Visual Studio 2015
  • Video resolutions in menu now sorted, added 2880x1800
  • Support for up to 8 mouse buttons (on Linux this needs the not-yet-released SDL2 2.0.4 or recent code from their hg repo)