<p><strong>dhewm3</strong> is a source port of the original Doom3 (<strong>not</strong><em>Doom3 BFG</em>, for that you may want to try <ahref="https://github.com/RobertBeckebans/RBDOOM-3-BFG/">RBDoom3BFG</a>). It’s known to work on Windows, Linux, macOS, <ahref="https://freebsd.org">FreeBSD</a>, <ahref="https://openbsd.org">OpenBSD</a> and <ahref="http://www.aros.org/">AROS</a>, but it should work on (or be easily portable to) any system that supports OpenGL 1.4 with <ahref="https://en.wikipedia.org/wiki/ARB_assembly_language">ARB shaders</a>, <ahref="http://libsdl.org">SDL</a> and <ahref="http://openal.org">OpenAL</a>.<br/>
Compared to the original version of Doom3, dhewm3 has many bugfixes, supports EAX-like sound effects on all operating systems and hardware (via <ahref="http://openal-soft.org/">OpenAL Softs</a> EFX support), has much better support for widescreen resolutions and has 64bit support.</p>
<p>It only supports <strong>old Mods</strong> if they <em>either</em> don’t require their own game DLL <em>or</em> have been ported to dhewm3 - see the <ahref="./mods.html">Mods page</a> for more information.</p>
<p>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 <ahref="#how-to-install">How to Install</a> section for more information.</p>
<p><ahref="./dhewm3-1.5.1-demo.jpg"title="Doom3 Demo in dhewm3 1.5.1"><imgsrc="./medium-dhewm3-1.5.1-demo.jpg"style="max-width:50%;margin-left:auto;margin-right:auto;display:block"></a></p>
<p>dhewm3 1.5.1 is done.</p>
<p>Apart from lots of bugfixes, the biggest changes since 1.5.0 are support for the (Windows-only) editing tools and for the <ahref="#using-the-doom3-demo-gamedata">Doom3 Demo gamedata</a>.<br/>
<p>Furthermore, there now is a coop mode for dhewm3: <ahref="https://www.moddb.com/mods/librecoop-dhewm3-coop">LibreCoop</a>, see the <ahref="./mods.html#librecoop">dhewm3 mods page</a> for more details. Thanks a lot to <em>Stradex</em> for creating it!<br/>
Another Mod that is now supported is <ahref="https://www.moddb.com/mods/the-lost-mission">The Lost Mission</a>, see also <ahref="./mods.html#the-lost-mission">here</a> - thanks to <em>Arl90</em> for making this possible!</p>
<p>You can <strong><ahref="https://github.com/dhewm/dhewm3/releases/tag/1.5.1">download dhewm3 1.5.1 at Github</a></strong> (incl.builds for Windows and 64bit Linux)</p>
<p><ahref="./dhewm3-edit.jpg"title="DOOMEdit running in dhewm3"><imgsrc="./medium-dhewm3-edit.jpg"style="max-width:50%;margin-left:auto;margin-right:auto;display:block"></a></p>
<p><strong>Changes since 1.5.0:</strong></p>
<ul>
<li>The (Windows-only) integrated <strong>editing tools</strong> of Doom3 are back!
<ul>
<li>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</li>
<li>Official dhewm3 Windows binaries are built with tools enabled, of course.</li>
<li>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.</li>
<li>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 <ahref="https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads">the Visual C++ 2017 Redistributable</a> installed - but chances are good you already have it.
<li>Update savegame format (see <ahref="https://github.com/dhewm/dhewm3/issues/303">#303</a> and <ahref="https://github.com/dhewm/dhewm3/issues/344">#344</a>)
Added Mod DLLs of <ahref="https://www.moddb.com/mods/librecoop-dhewm3-coop">LibreCoop</a> and <ahref="https://www.moddb.com/mods/the-lost-mission">The Lost Mission</a>.<br/>
See <ahref="./mods.html">the Mods page</a> for more details.</li>
<li>This is based on <em>Gabriel Cuvillier’s</em> code for <ahref="http://www.continuation-labs.com/projects/d3wasm/">D3Wasm</a>, which ports dhewm3 to web browsers, thanks!</li>
<li>Added <code>r_fullscreenDesktop</code> CVar to set if fullscreen mode should be “classic” or “Desktop” which means a borderless window at desktop resolution</li>
<li>Fullscreen modes that are not at the current desktop resolution should work better now
<ul>
<li>including nvidia DSR / AMD VSR; for that you might have to use the supplied <code>dhewm3_notools.exe</code>, as DSR/VSR seem to be incompatible with applications that use MFC (the GUI framework used for the Doom3 tools like the D3Radiant)</li>
</ul></li>
<li>Several sound-related bugfixes:
<ul>
<li>Lags in starting to play a sound which for example caused the machinegun or plasmagun sounds to stutter have been eliminated (<ahref="https://github.com/dhewm/dhewm3/issues/141">#141</a>)</li>
<li>Trying to reset disconnected OpenAL devices, this esp.helps with display audio on Intel GPUs on Windows, when switching to fullscreen (<ahref="https://github.com/dhewm/dhewm3/issues/209">#209</a>)</li>
<li>Make “idSoundCache: error unloading data from OpenAL hardware buffer” a Warning instead of an Error so it doesn’t terminate game (by <em>Corey O’Connor</em>, <ahref="https://github.com/dhewm/dhewm3/pull/235">#235</a>)</li>
<li>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</li>
<li>Based on Code by <ahref="https://github.com/ljbade/doom3.gpl/commit/d4de024341e79e0ac1dfb54fb528859f8ccea605"><em>Leith Bade</em></a> and <ahref="https://github.com/raynorpat/Doom3/blob/2933cb554587aea546c2df1fdf086204d4ca363d/neo/renderer/draw_stencilshadow.cpp#L147-L182"><em>Pat Raynor</em></a>.</li>
<li>The <code>r_useCarmacksReverse</code> and <code>r_useStencilOpSeparate</code> CVars allow switching both things on/off for comparison</li>
</ul></li>
<li>New CVar <code>g_hitEffect</code>: If set to <code>0</code>, the player camera damage effects (like double-vision and extreme tilt) when being hit are disabled (by <em>dobosken</em>, <ahref="https://github.com/dhewm/dhewm3/pull/279">#279</a>).</li>
<li>(On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in <code>My Documents/My Games/dhewm3/</code>, like save games, because the binary dir might not be writable and dhewm3 wouldn’t start properly then</li>
<li>Fixed clipping bug in delta1 which sometimes occured and made climbing some ladders impossible (see <ahref="https://github.com/dhewm/dhewm3/issues/328">#328</a>)</li>
<li>Improve compatibility with some custom scripts (“t->c->value.argSize == func->parmTotal” Assertion; see <ahref="https://github.com/dhewm/dhewm3/issues/303">#303</a>)</li>
<li>Registering multiplayer servers at id’s master-server fixed, so they can be found in the multiplayer menu (by <em>Stradex</em>, <ahref="https://github.com/dhewm/dhewm3/pull/293">#293</a>)</li>
<li>Support for <ahref="https://en.wikipedia.org/wiki/Reproducible_builds">reproducible builds</a> by setting the CMake option <code>REPRODUCIBLE_BUILD</code>.</li>
<li>Should build on recent versions of macOS, also on Apple Silicon (thanks <em>Dave Nicolson</em> and <em>Petter Uvesten</em>).</li>
<li>Proper handling of paths with dots in directory names (<ahref="https://github.com/dhewm/dhewm3/issues/299">#299</a>, <ahref="https://github.com/dhewm/dhewm3/issues/301">#301</a>)
<li><code>idFileSystemLocal::ListMods()</code> doesn’t search <code>/</code> or <code>C:\</code> anymore (it did so if one of the paths, like <code>fs_cdpath</code>, was empty)</li>
<li>Don’t use translation in Autosave filenames (see <ahref="https://github.com/dhewm/dhewm3/issues/305">#305</a>)
<li>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</li>
<p><summary>Click to see the rest of this (outdated) newspost</summary></p>
<p>You can <strong><ahref="https://github.com/dhewm/dhewm3/releases/tag/1.5.1_RC3">download it at Github</a></strong> (incl.builds for Windows and 64bit Linux)</p>
<li>Uploaded updated builds of Mod DLLs, now also supporting <ahref="https://www.moddb.com/mods/librecoop-dhewm3-coop">LibreCoop</a> and <ahref="https://www.moddb.com/mods/the-lost-mission">The Lost Mission</a></li>
<li>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</li>
</ul></li>
<li>Create the game window on the display the cursor is currently on (when using more than one display)</li>
<li>Added <code>r_fullscreenDesktop</code> CVar to set if fullscreen mode should be “classic” or “Desktop” which means a borderless window at desktop resolution</li>
<li>Fullscreen modes that are not at the current desktop resolution should work better now
<ul>
<li>including nvidia DSR / AMD VSR; for that you might have to use the supplied <code>dhewm3_notools.exe</code>, as DSR/VSR seem to be incompatible with applications that use MFC (the GUI framework used for the Doom3 tools like the D3Radiant)</li>
</ul></li>
<li>Fixed clipping bug in delta1 (see <ahref="https://github.com/dhewm/dhewm3/issues/328">#328</a>)</li>
<li>Improve compatibility with some custom scripts (“t->c->value.argSize == func->parmTotal” Assertion; see <ahref="https://github.com/dhewm/dhewm3/issues/303">#303</a>)</li>
<li>Update savegame format (see <ahref="https://github.com/dhewm/dhewm3/issues/303">#303</a> and <ahref="https://github.com/dhewm/dhewm3/issues/344">#344</a>)
<p><summary>Click to see the rest of this (outdated) newspost</summary></p>
<p>You can <strong><ahref="https://github.com/dhewm/dhewm3/releases/tag/1.5.1_RC2">download it at Github</a></strong> (incl.builds for Windows and 64bit Linux)</p>
<li>When switching from an editor to the game, the game shouldn’t get rendered in a tiny rectangle in the lower left corner anymore (<ahref="https://github.com/dhewm/dhewm3/issues/300">#300</a>)</li>
<li>When switching from Radiant into the Engine (e.g.with <code>F2</code>), the game isn’t frozen anymore</li>
<li>Proper handling of paths with dots in directory names (<ahref="https://github.com/dhewm/dhewm3/issues/299">#299</a>, <ahref="https://github.com/dhewm/dhewm3/issues/301">#301</a>)
<li><code>idFileSystemLocal::ListMods()</code> doesn’t search <code>/</code> or <code>C:\</code> anymore (it did so when one of the paths, like <code>fs_cdpath</code>, was empty)</li>
<p><summary>Click to see the rest of this (outdated) newspost</summary></p>
<p>You can <strong><ahref="https://github.com/dhewm/dhewm3/releases/tag/1.5.1_RC1">download it at Github</a></strong> (incl.builds for Windows and 64bit Linux)</p>
<p><ahref="./dhewm3-edit.jpg"title="DOOMEdit running in dhewm3"><imgsrc="./medium-dhewm3-edit.jpg"style="max-width:90%;margin-left:auto;margin-right:auto;display:block"></a></p>
<p><strong>Changes since 1.5.0:</strong></p>
<ul>
<li>The (Windows-only) integrated <strong>editing tools</strong> of Doom3 are back!
<ul>
<li>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</li>
<li>Official dhewm3 Windows binaries are built with tools enabled, of course.</li>
<li>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.</li>
<li>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 <ahref="https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads">the Visual C++ 2017 Redistributable</a> installed - but chances are good you already have it.
<li>This is based on <em>Gabriel Cuvillier’s</em> code for <ahref="http://www.continuation-labs.com/projects/d3wasm/">D3Wasm</a>, which ports dhewm3 to web browsers, thanks!</li>
<li>Lags in starting to play a sound which for example caused the machinegun or plasmagun sounds to stutter have been eliminated (<ahref="https://github.com/dhewm/dhewm3/issues/141">#141</a>)</li>
<li>Trying to reset disconnected OpenAL devices, this esp.helps with display audio on Intel GPUs on Windows, when switching to fullscreen (<ahref="https://github.com/dhewm/dhewm3/issues/209">#209</a>)</li>
<li>Make “idSoundCache: error unloading data from OpenAL hardware buffer” a Warning instead of an Error so it doesn’t terminate game (by <em>Corey O’Connor</em>, <ahref="https://github.com/dhewm/dhewm3/pull/235">#235</a>)</li>
<li>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</li>
<li>Based on Code by <ahref="https://github.com/ljbade/doom3.gpl/commit/d4de024341e79e0ac1dfb54fb528859f8ccea605"><em>Leith Bade</em></a> and <ahref="https://github.com/raynorpat/Doom3/blob/2933cb554587aea546c2df1fdf086204d4ca363d/neo/renderer/draw_stencilshadow.cpp#L147-L182"><em>Pat Raynor</em></a>.</li>
<li>The <code>r_useCarmacksReverse</code> and <code>r_useStencilOpSeparate</code> CVars allow switching both things on/off for comparison</li>
</ul></li>
<li>New CVar <code>g_hitEffect</code>: If set to <code>0</code>, the player camera damage effects (like double-vision and extreme tilt) when being hit are disabled (by <em>dobosken</em>, <ahref="https://github.com/dhewm/dhewm3/pull/279">#279</a>).</li>
<li>(On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in <code>My Documents/My Games/dhewm3/</code>, like save games, because the binary dir might not be writable and dhewm3 wouldn’t start properly then</li>
<li>Registering multiplayer servers at id’s master-server fixed, so they can be found in the multiplayer menu (by <em>Stradex</em>, <ahref="https://github.com/dhewm/dhewm3/pull/293">#293</a>)</li>
<li>Support for <ahref="https://en.wikipedia.org/wiki/Reproducible_builds">reproducible builds</a> by setting the CMake option <code>REPRODUCIBLE_BUILD</code>.</li>
<p><summary>Click to see the rest of this (outdated) newspost</summary><ahref="./dhewm3-edit.jpg"title="DOOMEdit running in dhewm3"><imgsrc="./medium-dhewm3-edit.jpg"style="max-width:90%;margin-left:auto;margin-right:auto;display:block"></a></p>
<li>The (Windows-only) integrated <strong>editing tools</strong> of Doom3 are back!
<ul>
<li>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</li>
<li>The <ahref="https://github.com/dhewm/dhewm3/releases/tag/1.5.1_PRE1">dhewm3_1.5.1pre1_win32.zip available on Github</a> has them enabled, of course
<li>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 <ahref="https://www.microsoft.com/en-us/download/details.aspx?id=40784">the Visual C++ 2013 Redistributable</a> installed - but chances are good you already have it.</li>
<li>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.</li>
<li>dhewm3 now supports the <strong>Doom3 Demo</strong> gamedata (<ahref="https://www.fileplanet.com/archive/p-15998/DOOM-3-Demo">D3Demo.exe</a> or <ahref="http://files.holarse-linuxgaming.de/native/Spiele/Doom%203/Demo/doom3-linux-1.1.1286-demo.x86.run">doom3-linux-1.1.1286-demo.x86.run</a>)
<ul>
<li>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 <code>sh doom3-linux-1.1.1286-demo.x86.run --tar xf demo/</code></li>
<li>This is based on Gabriel Cuvillier’s code for <ahref="http://www.continuation-labs.com/projects/d3wasm/">D3Wasm</a>, which ports dhewm3 to web browsers, thanks!</li>
<li>(On Windows) stdout.txt and stderr.txt are not saved next to the binary anymore, but in <code>My Documents/My Games/dhewm3/</code>, like save games, because the binary dir might not be writable and dhewm3 wouldn’t start properly then</li>
<li>Support for <ahref="./mods.html">some Mods</a> via <ahref="https://github.com/dhewm/dhewm3-sdk">custom SDK</a>: Classic Doom3, Fitz Packerton, HardQore2, Denton’s Enhanced Doom3 and Rivensin (formerly known as Ruiner).
<li><ahref="https://github.com/dhewm/dhewm3/releases/download/1.5.0/dhewm3_1.5.0_win32.zip">dhewm3-mods_1.5.0_win32.zip</a> contains prebuild Windows game DLLs for those Mods (except Rivensin) and a README that tells you where to get the game data</li>
<li>See <ahref="./mods.html">the Mods page</a> for more information.</li>
<li>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 <code>r_scaleMenusTo43 0</code>.<br/>
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.</li>
<li>Commandline option to display some help on supported commandline arguments: <code>-h</code> or <code>--help</code> or <code>-help</code> or <code>/?</code></li>
<li><del>(Experimental) uncapped framerate, enable by entering <code>com_fixedTic -1</code> in the console (can be set back with <code>com_fixedTic 0</code>).</del> (<ahref="https://github.com/dhewm/dhewm3/issues/261">this turned out to be broken</a>)</li>
<li>Providing binaries for Linux amd64 (x86_64) now
<ul>
<li>Should work on any halfway-recent distro, needs <code>libSDL2-2.0.so.0</code>, <code>libopenal.so.1</code> and <code>libcurl.so.4</code> installed</li>
<li>Updated some libraries bundled in the Win32 build: <ahref="https://libsdl.org">SDL2 2.0.9</a>, <ahref="https://openal-soft.org/">OpenAL-soft 1.19.1</a> and <ahref="https://curl.haxx.se">curl 7.62.0</a></li>
<p>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.<br/>
Another advantage is that it has some screenshots and more user-centric documentation than the <ahref="https://github.com/dhewm/dhewm3/blob/master/README.md">README.md</a>.<br/>
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, <ahref="http://dhewm3.org">dhewm3.org</a> will still be reachable and will link to the new code repo and issue tracker instead.</p>
<li>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.</li>
<p>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.</p>
<p>On <strong>Linux</strong> (and probably other <strong>Unix-like</strong> systems and maybe even Windows with a mingw shell) you can extract the needed files from <ahref="https://files.holarse-linuxgaming.de/native/Spiele/Doom%203/doom3-linux-1.3.1.1304.x86.run">the official 1.3.1 patch for Linux</a> with:</p>
<p>On <strong>Windows</strong> you can just install the game and <ahref="https://archive.org/details/Doom_3_1.3.1">the official 1.3.1 patch for Windows</a> and then get the files from the installation directory (or copy dhewm3 in there).</p>
<p>First you need to buy <ahref="http://store.steampowered.com/app/9050/">Doom3</a> of course (and the <ahref="https://store.steampowered.com/app/9070/">Resurrection of Evil Addon</a>, if you want that too; Note that the Addon is not available in Germany).</p>
<p>Thankfully the game from Steam is already fully patched to 1.3.1.</p>
<p>On <strong>Windows</strong>, <em>just install</em> it and copy the game data from there (see above for what files are needed).</p>
<p>On <strong>macOS</strong> 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.</p>
See <ahref="https://developer.valvesoftware.com/wiki/SteamCMD#macOS">this description for macOS</a> or <ahref="https://developer.valvesoftware.com/wiki/SteamCMD#Linux">here for Linux</a> on how to install SteamCMD on your system. You won’t have to create a new user.</p>
When it’s done you should have the normal windows installation of doom3 in <code>./doom3/</code> and the needed files in <code>./doom3/base/</code><br/>
It should be possible to get the <em>Resurection of Evil</em> data in the same way, by replacing <code>9050</code> with <code>9070</code>; the files should be in <code>./doom3/d3xp/</code> then.</p>
<p>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 <ahref="https://steamdb.info/">SteamDB</a>.</p>
<h3id="using-the-doom3-demo-gamedata">Using the Doom3 Demo gamedata</h3>
<p>First you need to download the Doom3 Demo, of course.</p>
<p>For <strong>Windows</strong>, you can get <ahref="https://www.fileplanet.com/archive/p-15998/DOOM-3-Demo">D3Demo.exe at Fileplanet</a> and just run the installer.</p>
<p>For <strong>Linux</strong> (and <strong>other operating systems</strong> that have a POSIX-compatible shell and <code>tar</code>) you can download <ahref="https://files.holarse-linuxgaming.de/native/Spiele/Doom%203/Demo/doom3-linux-1.1.1286-demo.x86.run">doom3-linux-1.1.1286-demo.x86.run from Holarse</a> or some other page that has that file.<br/>
Then you can extract the relevant file from the .run installer with</p>
<code>demo00.pk4</code> has a size of 462MB but there are minimal differences between the one for Linux and Windows, so they have different md5sums:<br/>
<p>Both work on all platforms though, but the Linux demo had been released two months after the Demo for Windows and contains at least one tiny bugfix: A missing string for <code>" or "</code> which is used when binding multiple keys to the same action - the Windows Demo shows a nonsense string instead.</p>
<p>On <strong>Windows</strong> you can just download the Win32 binaries from the <ahref="https://github.com/dhewm/dhewm3/releases/latest">Download page</a>.<br/>
You can either extract them into your Doom3 installation directory, or into a fresh directory and copy the needed game data (<ahref="#getting-the-doom3-game-data">see above</a>) in there.<br/>
Similarly, you can find x86_64 (amd64) <strong>Linux</strong> binaries there.</p>
<p>If you’re using <strong>macOS</strong>, <ahref="https://macsourceports.com">MacSourcePorts.com</a> provides signed and notarized <ahref="https://macsourceports.com/game/doom3">dhewm3 binaries</a> for 64bit Intel and Apple Silicon.</p>
<p>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.<br/>
You could also try telling dhewm3 where to find the game data with:</p>
<p>If your package manager does not provide dhewm3, or you want to use the very latest code, you’ll have to compile it yourself. It’s not super hard, see <ahref="https://github.com/dhewm/dhewm3/blob/master/README.md#compiling">the README</a> for details on compiling and <ahref="https://github.com/dhewm/dhewm3/wiki/FAQ#where-do-i-need-to-put-the-game-data-files">the FAQ</a> on where to put the game data.</p>