dhewm.github.io/index.md

18 KiB

About

dhewm3 is a source port of the original Doom3 (not Doom3 BFG, for that you may want to try RBDoom3BFG). It's known to work on Windows, Linux, macOS, FreeBSD, OpenBSD and AROS, but it should work on (or be easily portable to) any system that supports OpenGL 1.4 with ARB shaders, SDL and OpenAL.
Compared to the original version of Doom3, dhewm3 has many bugfixes, supports EAX-like sound effects on all operating systems and hardware (via OpenAL Softs EFX support), has much better support for widescreen resolutions and has 64bit support.

It only supports old Mods if they either don't require their own game DLL or have been ported to dhewm3 - see the Mods page for more information.

Note that while the Doom3 source code has been released under GPL, you still need to legally own the game and provide dhewm3 the game data to play. See the How to Install section for more information.

News

2020-07-13: dhewm3 1.5.1 Release Candidate 1

A first Release Candidate of the upcoming 1.5.1 release is available!

You can download it at Github (incl. builds for Windows and 64bit Linux)

Changes since 1.5.0:

  • 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
    • See below for installation instructions
    • This is based on Gabriel Cuvillier's code for D3Wasm, which ports dhewm3 to web browsers, thanks!
  • 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
  • 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.

2019-03-11: 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 :-)

Click to see the rest of this (outdated) newspost

Changes since 1.5.0:

  • 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 dhewm3_1.5.1pre1_win32.zip available on Github 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

2018-12-16: dhewm3 1.5.0 released

The final version of 1.5.0 release is now available!
You can download it (incl. builds for Windows and 64bit Linux) at Github

Changes since 1.4.1:

  • Support for some Mods via custom SDK: Classic Doom3, Fitz Packerton, HardQore2, Denton's Enhanced Doom3 and Rivensin (formerly known as Ruiner).
    • dhewm3-mods_1.5.0_win32.zip contains prebuild Windows game DLLs for those Mods (except Rivensin) and a README that tells you where to get the game data
    • See the Mods page for more information.
    • 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 (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). (this turned out to be broken)
  • Providing binaries for Linux amd64 (x86_64) now
    • Should work on any halfway-recent distro, needs libSDL2-2.0.so.0, libopenal.so.1 and libcurl.so.4 installed
  • 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

2018-07-11: dhewm3.org launched

dhewm3 now has an official homepage!

I guess it makes sense to be a bit less dependent on Github (especially as it has been bought by Microsoft, but also in general), so I decided to create this homepage with a domain I control.
Another advantage is that it has some screenshots and more user-centric documentation than the README.md.
We'll continue to use Github for hosting the code and issues (and indeed this page via github pages), but if we need to migrate to another hoster some day, dhewm3.org will still be reachable and will link to the new code repo and issue tracker instead.

2016-06-18: dhewm3 1.4.1 released

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 or newer to work)

How to Install

Getting the Doom3 Game Data

You'll need the game data from a Doom3 installation patched to 1.3.1. Specifically, you'll need the following .pk4 files for the main game:


Filename Size MD5-sum


base/pak000.pk4 337MB 71b8d37b2444d3d86a36fd61783844fe

base/pak001.pk4 220MB 4bc4f3ba04ec2b4f4837be40e840a3c1

base/pak002.pk4 398MB fa84069e9642ad9aa4b49624150cc345

base/pak003.pk4 303MB f22d8464997924e4913e467e7d62d5fe

base/pak004.pk4 227MB 38561a3c73f93f2e6fd31abf1d4e9102

base/pak005.pk4 540KB 2afd4ece27d36393b7538d55a345b90d

base/pak006.pk4 214KB a6e7003fa9dcc75073dc02b56399b370

base/pak007.pk4 118KB 6319f086f930ec1618ab09b4c20c268c

base/pak008.pk4 12KB 28750b7841de9453eb335bad6841a2a5

... and (optionally) these .pk4 files for the Resurrection of Evil addon:


Filename Size MD5-sum


d3xp/pak000.pk4 514MB a883fef0fd10aadeb73d34c462ff865d

d3xp/pak001.pk4 98KB 06fc9be965e345587064056bf22236d2

... from CD/DVD + Patch

If you bought the game on CDs/DVD, base/pak000.pk4 - pak004.pk4 and d3xp/pak000.pk4 can be copied from the disks, the other files are from the patch.

On Linux (and probably other Unix-like systems and maybe even Windows with a mingw shell) you can extract the needed files from the official 1.3.1 patch for Linux with:

sh /path/to/doom3-linux-1.3.1.1304.x86.run --tar xvf --wildcards base/pak* d3xp/pak*

On Windows you can just install the game and the official 1.3.1 patch for Windows and then get the files from the installation directory (or copy dhewm3 in there).

... from Steam

First you need to buy Doom3 of course (and the Resurrection of Evil Addon, if you want that too; Note that the Addon is not available in Germany).

Thankfully the game from Steam is already fully patched to 1.3.1.

On Windows, just install it and copy the game data from there (see above for what files are needed).

Same on Linux, thanks to Steam Play / Proton, though you might have to enable it:
In Steam in the SteamSettings menu, under Steam Play, check both:

☑ Enable Steam Play for supported titles
☑ Enable Steam Play for all other titles

On macOS unfortunately you can't just install the game (unless you run Windows Steam in Wine), because it's Windows-only on Steam and Steam (currently?) doesn't use Proton on Mac.

However, you can still download it with SteamCMD.
See this description for macOS or here for Linux on how to install SteamCMD on your system. You won't have to create a new user.

Then you can download Doom3 with

./steamcmd.sh +@sSteamCmdForcePlatformType windows +login <YOUR_STEAM_LOGIN_NAME> +force_install_dir ./doom3/ +app_update 9050 validate +quit

(replace <YOUR_STEAM_LOGIN_NAME> with your steam login name)
When it's done you should have the normal windows installation of doom3 in ./doom3/ and the needed files in ./doom3/base/
It should be possible to get the Resurection of Evil data in the same way, by replacing 9050 with 9070; the files should be in ./doom3/d3xp/ then.

By the way, that number is the "AppID" of Doom3/RoE; if you wanna use this to get the data of other games you own, you can look up the AppID at SteamDB.

Using the Doom3 Demo gamedata

First you need to download the Doom3 Demo, of course.

For Windows, you can get D3Demo.exe at Fileplanet and just run the installer.

For Linux (and other operating systems that have a POSIX-compatible shell and tar) you can download doom3-linux-1.1.1286-demo.x86.run from Holarse or some other page that has that file.
Then you can extract the relevant file from the .run installer with

sh doom3-linux-1.1.1286-demo.x86.run --tar xf demo/

You'll need demo/demo00.pk4 for playing, either in exactly that directory, or you can copy it into base/.
Note that you don't need the patches of the fullversion, adding their pk4s when using Demo gamedata breaks the game.

demo00.pk4 has a size of 462MB but for some reason there seem to be minimal differences between the one for Linux and Windows, so they have different md5sums:

Windows : md5sum bd410abbb649b9512d65b794869df9fe size 483534533 Bytes
Linux   : md5sum 70c2c63ef1190158f1ebd6c255b22d8e size 483535485 Bytes

Both work on all platforms though, I guess the differences come from the Linux demo having been released two months after the Demo for Windows.

Getting dhewm3 executables

On Windows you can just download the Win32 binaries from the Download page.
You can either extract them into your Doom3 installation directory, or into a fresh directory and copy the needed game data (see above) in there.
Similarly, you can find x86_64 (amd64) Linux binaries there.

On Linux and *BSD it might be that your package manager provides a dhewm3 package/port that you can install; please refer to that packages documentation on where to put the game data.
You could also try telling dhewm3 where to find the game data with:

dhewm3 +set fs_basepath /home/HansWerner/Games/doom3

(adjust the path to your needs)

If your package manager does not provide dhewm3 (or you're on macOS/OSX and there is none), or you want to use the very latest code, you'll have to compile it yourself. It's not super hard, see the README for details on compiling and the FAQ on where to put the game data.