Releases: dhewm/dhewm3
dhewm3 1.5.4
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:
- Blood Mod v1.5
- Perfected Doom3 (ROE) v7
- Sikkmod v1.2 and Sikkmod RoE v1.1
- See the README files in the dhewm3-mods archives for more details, and the dhewm3-sdk repository for source code
- A brand new settings menu that uses Dear ImGui.
Can be opened withF10
(unless that key is bound already) or by enteringdhewm3Settings
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 withr_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 clippings_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 fullvid_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 setr_windowResizable 0
, because resizing the window that way also triggered the bug, and in that case novid_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 withr_glDebugContext 1
.
Changing that CVar requires avid_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 1.5.4 Release Candidate 3
Release Candidate 3 for the upcoming version 1.5.4 of our Doom 3 Sourceport
(hopefully the last one)
This is outdated, please use 1.5.4 instead!
Click to see the rest of this outdated post
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 1.5.4 Release Candidate 2
Release Candidate 2 for the upcoming version 1.5.4 of our Doom 3 Sourceport
This is outdated, please use 1.5.4 instead!
Click to see the rest of this outdated post
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 1.5.4 Release Candidate 1
Release Candidate 1 for the upcoming version 1.5.4 of our Doom 3 Sourceport
This is outdated, please use 1.5.4 instead!
Click to see the rest of this outdated post
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:
- Blood Mod v1.5
- Perfected Doom3 (ROE) v7
- Sikkmod v1.2 and Sikkmod RoE v1.1
- See the README files in the dhewm3-mods archives for more details, and the dhewm3-sdk repository for source code
- A brand new settings menu that uses Dear ImGui.
Can be opened withF10
(unless that key is bound already) or by enteringdhewm3Settings
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 withr_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 clippings_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 fullvid_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 setr_windowResizable 0
, because resizing the window that way also triggered the bug, and in that case novid_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 withr_glDebugContext 1
.
Changing that CVar requires avid_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 1.5.3
Release 1.5.3 of our Doom 3 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.
UPDATE 2024-04-19:
The Linux binaries of this release were buggy, see #572.
If you want to use the Linux amd64 binaries provided here (instead of compiling yourself), please use the updated dhewm3-1.5.3try2_Linux_amd64.tar.gz and dhewm3-mods-1.5.3try2_Linux_amd64.tar.gz instead.
To avoid confusion, I deleted the old Linux binary archives from the downloads below.
The only change compared to 1.5.3 is 6daf1e9, and as far as I can tell this bug only manifests itself when compiling with ancient versions of GCC (I use 4.7.2 in my build environment; current Linux distributions ship GCC 9 or newer), so I decided against creating an entire new dhewm3 release for this.
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 1.5.3 Release Candidate 2
Release Candidate 2 for the upcoming version 1.5.3 of our Doom 3 Sourceport
This is outdated, please use 1.5.3 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 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 1.5.3 Release Candidate 1
Release Candidate 1 for the upcoming version 1.5.3 of our Doom 3 Sourceport
This is outdated, please use 1.5.3 instead.
Click to see the rest of this post
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 1.5.2
Release 1.5.2 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 2022-06-13 13:32:19 UTC: Replaced dhewm3-mods_1.5.2_win32.zip - the original archive's d3le.dll was broken
Click to see changes since 1.5.1
- Gamma and Brightness are now applied in the shaders instead of by setting hardware gamma.
Can be disabled (so hardware gamma is used again) withr_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
andcom_dbgClientAdr
andcom_dbgServerAdr
.
To debug the running game on the same PC, just enterdebugger
in the console. - All tools can now be built in 64bit (thanks raynorpat!)
- HighDPI support (thanks HarrievG!)
- PDAEditor works now
- Additional bugfixes
- Added the script debugger! (thanks HarrievG!)
- Cycle through multiple Quicksave slots instead of immediately overwriting the last
Quicksave. Thecom_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 settingr_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
withShift+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 to1
, 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 ifin_kbd
is set to "auto" (now default)
- Support (hopefully) all keyboard keys on all kinds of keyboard layouts
- 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)
- Now the only required external dependencies should be OpenAL, SDL, zlib
- (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.
- Just a precaution, I don't know if any of them could actually be exploited,
- Console output is now logged to
dhewm3log.txt
(last log is renamed todhewm3log-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/
)
- On Windows it's in
- 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 1.5.2 Release Candidate 2
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
Click to see changes since 1.5.2 RC1
- 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 1.5.2 Release Candidate 1
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
Click to see changes since 1.5.1
- Gamma and Brightness are now applied in the shaders instead of by setting hardware gamma.
Can be disabled (so hardware gamma is used again) withr_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
andcom_dbgClientAdr
andcom_dbgServerAdr
.
To debug the running game on the same PC, just enterdebugger
in the console. - All tools can now be built in 64bit (thanks raynorpat!)
- HighDPI support (thanks HarrievG!)
- PDAEditor works now
- Additional bugfixes
- Added the script debugger! (thanks HarrievG!)
- Cycle through multiple Quicksave slots instead of immediately overwriting the last
Quicksave. Thecom_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 settingr_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
withShift+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 to1
, 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 ifin_kbd
is set to "auto" (now default)
- Support (hopefully) all keyboard keys on all kinds of keyboard layouts
- 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)
- Now the only required external dependencies should be OpenAL, SDL, zlib
- (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.
- Just a precaution, I don't know if any of them could actually be exploited,
- Console output is now logged to
dhewm3log.txt
(last log is renamed todhewm3log-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/
)
- On Windows it's in
- 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)