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)