296 lines
18 KiB
Markdown
296 lines
18 KiB
Markdown
# About
|
|
|
|
**dhewm3** is a source port of the original Doom3 (**not** *Doom3 BFG*, for that you may want to
|
|
try [RBDoom3BFG](https://github.com/RobertBeckebans/RBDOOM-3-BFG/)).
|
|
It's known to work on Windows, Linux, macOS, [FreeBSD](https://freebsd.org),
|
|
[OpenBSD](https://openbsd.org) and [AROS](http://www.aros.org/),
|
|
but it should work on (or be easily portable to) any system that supports OpenGL 1.4 with
|
|
[ARB shaders](https://en.wikipedia.org/wiki/ARB_assembly_language),
|
|
[SDL](http://libsdl.org) and [OpenAL](http://openal.org).
|
|
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](http://openal-soft.org/) 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](./mods.html) 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](#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](https://github.com/dhewm/dhewm3/releases/tag/1.5.1_RC1)** (incl. builds for Windows and 64bit Linux)
|
|
|
|
<a href="./dhewm3-edit.jpg" title="DOOMEdit running in dhewm3"><img src="./medium-dhewm3-edit.jpg" style="max-width:90%;margin-left:auto;margin-right:auto;display:block"></a>
|
|
|
|
**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](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
|
|
installed - but chances are good you already have it.
|
|
- Also updated some DLLs that are bundled with the Windows release:
|
|
[SDL2 2.0.12](https://libsdl.org), [OpenAL-soft 1.20.1](https://openal-soft.org/) and [curl 7.70.0](https://curl.haxx.se)
|
|
* dhewm3 now supports the **Doom3 Demo** gamedata
|
|
- See [below](#using-the-doom3-demo-gamedata) for installation instructions
|
|
- This is based on *Gabriel Cuvillier's* code for [D3Wasm](http://www.continuation-labs.com/projects/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](https://github.com/dhewm/dhewm3/issues/141))
|
|
- Trying to reset disconnected OpenAL devices, this esp. helps with display audio on Intel GPUs
|
|
on Windows, when switching to fullscreen ([#209](https://github.com/dhewm/dhewm3/issues/209))
|
|
- Looping .wav sounds with leadin now work ([#291](https://github.com/dhewm/dhewm3/issues/291))
|
|
- The game still works if no sound devices are available at all ([#292](https://github.com/dhewm/dhewm3/issues/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](https://github.com/dhewm/dhewm3/pull/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](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*](https://github.com/ljbade/doom3.gpl/commit/d4de024341e79e0ac1dfb54fb528859f8ccea605)
|
|
and [*Pat Raynor*](https://github.com/raynorpat/Doom3/blob/2933cb554587aea546c2df1fdf086204d4ca363d/neo/renderer/draw_stencilshadow.cpp#L147-L182).
|
|
- 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](https://github.com/dhewm/dhewm3/pull/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](https://github.com/dhewm/dhewm3/pull/293))
|
|
* Support for [reproducible builds](https://en.wikipedia.org/wiki/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 :-)
|
|
|
|
<details><summary>Click to see the rest of this (outdated) newspost</summary>
|
|
<a href="./dhewm3-edit.jpg" title="DOOMEdit running in dhewm3"><img src="./medium-dhewm3-edit.jpg" style="max-width:90%;margin-left:auto;margin-right:auto;display:block"></a>
|
|
|
|
**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](https://github.com/dhewm/dhewm3/releases/tag/1.5.1_PRE1)
|
|
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](https://www.microsoft.com/en-us/download/details.aspx?id=40784)
|
|
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](https://www.fileplanet.com/archive/p-15998/DOOM-3-Demo)
|
|
or [doom3-linux-1.1.1286-demo.x86.run](http://files.holarse-linuxgaming.de/native/Spiele/Doom%203/Demo/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](http://www.continuation-labs.com/projects/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
|
|
</details>
|
|
|
|
#### 2018-12-16: _dhewm3 1.5.0 released_
|
|
|
|
<a href="./dhewm3-150.jpg" title="Classic Doom 3 in dhewm3 1.5.0"><img src="./medium-dhewm3-150.jpg" style="max-width:90%;margin-left:auto;margin-right:auto;display:block"></a>
|
|
|
|
The final version of 1.5.0 release is now available!
|
|
You can download it (incl. builds for Windows and 64bit Linux) [at Github](https://github.com/dhewm/dhewm3/releases/tag/1.5.0)
|
|
|
|
Changes since 1.4.1:
|
|
|
|
* Support for [some Mods](./mods.html) via [custom SDK](https://github.com/dhewm/dhewm3-sdk): Classic Doom3, Fitz Packerton, HardQore2, Denton's Enhanced Doom3 and Rivensin (formerly known as Ruiner).
|
|
- [dhewm3-mods_1.5.0_win32.zip](https://github.com/dhewm/dhewm3/releases/download/1.5.0/dhewm3_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](./mods.html) 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](https://github.com/dhewm/dhewm3/issues/261))
|
|
* 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](https://libsdl.org), [OpenAL-soft 1.19.1](https://openal-soft.org/) and [curl 7.62.0](https://curl.haxx.se)
|
|
* 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](https://github.com/dhewm/dhewm3/blob/master/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](http://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](https://files.holarse-linuxgaming.de/native/Spiele/Doom%203/doom3-linux-1.3.1.1304.x86.run)
|
|
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](https://archive.org/details/Doom_3_1.3.1)
|
|
and then get the files from the installation directory (or copy dhewm3 in there).
|
|
|
|
### ... from Steam
|
|
|
|
First you need to buy [Doom3](http://store.steampowered.com/app/9050/) of course
|
|
(and the [Resurrection of Evil Addon](https://store.steampowered.com/app/9070/),
|
|
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 `Steam` ➔ `Settings` 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](https://developer.valvesoftware.com/wiki/SteamCMD)**.
|
|
See [this description for macOS](https://developer.valvesoftware.com/wiki/SteamCMD#macOS)
|
|
or [here for Linux](https://developer.valvesoftware.com/wiki/SteamCMD#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](https://steamdb.info/).
|
|
|
|
### Using the Doom3 Demo gamedata
|
|
|
|
First you need to download the Doom3 Demo, of course.
|
|
|
|
For **Windows**, you can get [D3Demo.exe at Fileplanet](https://www.fileplanet.com/archive/p-15998/DOOM-3-Demo)
|
|
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](https://files.holarse-linuxgaming.de/native/Spiele/Doom%203/Demo/doom3-linux-1.1.1286-demo.x86.run)
|
|
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:
|
|
<pre><code>Windows : md5sum bd410abbb649b9512d65b794869df9fe size 483534533 Bytes</code>
|
|
<code>Linux : md5sum 70c2c63ef1190158f1ebd6c255b22d8e size 483535485 Bytes</code></pre>
|
|
|
|
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](https://github.com/dhewm/dhewm3/releases/latest).
|
|
You can either extract them into your Doom3 installation directory, or into a fresh
|
|
directory and copy the needed game data ([see above](#getting-the-doom3-game-data)) 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](https://github.com/dhewm/dhewm3/blob/master/README.md#compiling)
|
|
for details on compiling and [the FAQ](https://github.com/dhewm/dhewm3/wiki/FAQ#where-do-i-need-to-put-the-game-data-files)
|
|
on where to put the game data.
|
|
|