DOOM 64 Guide

The Unofficial Doom 64 Tweaks Guide for DOOM 64

The Unofficial Doom 64 Tweaks Guide

Overview

A couple of things to do that may improve your Doom 64 experience.

Introduction

Doom 64 was originally a Nintendo 64 game developed by Midway Games with supervision from id Software. The game was the true sequel to Doom II, however, thematically it was also one to the PlayStation version as they share a similarly darker atmosphere over the original MS-DOS games (and ports thereof), reused sound effects from the PlayStation version, features a haunting and foreboding soundtrack composed by Aubrey Hodges, and the same code base as the Jaguar version. It was also the last hoo-rah for the id Tech 1 Engine, featuring unique effects and features such as colored lighting, fog, animated skies, and an advanced lighting system among other things.

For many years, Doom 64 was a game thought to be lost in time, being exclusive to the Nintendo 64 (outside of the fan-made Doom 64 EX port) and Midway’s dissolution in the late 2000’s certainly didn’t help matters, however, thanks to Nightdive Studios and Bethesda, we can now experience this overlooked gem among the Doom franchise in a modern context on multiple platforms. That said, while I am enjoying this updated version of Doom 64, there are some things that bother me with this re-release on PC, and whether or not these issues will be officially addressed, I decided to make this guide to encapsulate some tweaks and fixes for the game.

Important note: Back-up your original Doom 64 installation and configuration files before you make any of the changes shown here!

Skipping intro videos

When you boot up this updated re-release of Doom 64, you’ll be annoyingly greeted to a bunch of intro videos of the developers, publishers, framework, and middleware of the game, all of which can’t be skipped through conventional means unfortunately, so we’ll have to either tell the game to not play those video files or remove them altogether.

Using a command-line parameter
[link]
Renaming / moving / deleting the “movies” folder
[link]
Disable intro videos in configuration file

Not as widely used as the above two methods, but you can disable intro videos from starting playing by editing the configuration file.

  1. Go to your <user-profile>Saved GamesNightdive StudiosDOOM 64 folder and open your kexengine.cfg file with a text editor. You can quickly access this folder by using Run or Windows Key+R, then enter the following and press Enter to open this folder.
    %UserProfile%Saved GamesNightdive StudiosDOOM 64

  2. Look for this line and change the value of this CVAR to “0”.
    seta g_showintromovie “1”

  3. Save the changes. This should tell the game to not play the intro videos anymore unless you re-initialize your settings; see the default.cfg tweaks section if you want to have it always disabled.

Fixing the broken DirectX 11 shaders

The PC version of the game unfortunately has left this error with the DirectX 11 shaders that distorts the sprites of the game and the pixel scaling is about 0.5 pixels off. Here is a comparison with the errors on DirectX 11 renderer and how it should look like after fixing the shaders.

Thankfully with some help from Kaiser we can fix this mistake by recompiling the DirectX 11 shaders of ourselves unless Nightdive actually patches this problem outright. Your computer however must have the d3dcompiler_47.dll installed.

Quick and easy solution

The quicker and easier method to fix the DirectX 11 shader problem is to make a few tweaks within the game’s kexengine.cfg file to enable the developer mode and have the game update the shaders when switching to the DirectX 11 renderer, this way it doesn’t require editing the game’s files.

  1. Go to your <user profile>Saved GamesNightdive StudiosDOOM 64 folder and open your kexengine.cfg file with a text editor. You can quickly access this folder by using Run or Windows Key+R, then enter the following and press Enter to open this folder.
    %UserProfile%Saved GamesNightdive StudiosDOOM 64

  2. Search the following lines of the kexengine.cfg configuration file and set the value of these CVARs to “1”:
    seta developer “0” seta d3d11_compileShaders “0”

  3. Now launch the game, go to OptionsVideo and change Graphics API to DirectX 11 if the game wasn’t already using it. The game should able to update the DirectX 11 shaders upon switching to DirectX 11.

Permanent solution

While the above solution can fix the issue with the broken shaders, this isn’t actually making changes to the shader file itself and the game will have to repeat the recompiling process every time you launch the game in DirectX 11. Kaiser thankfully however has also provided a way to recompile the shaders file so they can inserted into game’s files and make the changes permanent unless you perform a clean re-install of the game. Here are the instructions by Suicide Machine from a forum post regarding this issue:

Originally posted by Suicide Machine:

1. Start the game.
2. Open the console.
3. Type in buildDX11ShaderArchive and press Enter.
4. Close the game.
5. Go to game’s directory.
6. Make a backup of Doom64.kpf.
7. Open Doom64.kpf with some archive editor like 7-zip or WinRAR.
8. Inside the archive open progs directory.
9. Take the dxShaders.bin that is in <game directory>progs and use it to override the one in the archive.

If for some reason your computer is lacking the ability to recompile the shaders manually with either methods, I am going to take liberty and provide a download of the fixed shaders file. This file was recompiled from my own copy of the game with the instructions above and tested to confirm the issue was fixed. You can download my fixed shaders here and can be inserted into the game with the instructions by Suicide Machine above.

Fixed API Shaders: Download[drive.google.com]

default.cfg tweaks

While dealing with the DirectX 11 shaders mistake, I also went ahead and take a look at the game’s default.cfg for a particularly annoying problem where holding down the Sprint button on a controller (mapped to L-Trigger or similar by default) caused doors to open and close randomly, and to my surprised the dev team left this mistake in the game’s default configuration file…


So in between trying to correct having “Use” set to both Left Trigger and A button, I was making some other changes for some things I didn’t quite agree with from the default settings with Doom 64‘s default.cfg file. Some of the changes I went and made are:

  • Have the game use OpenGL API instead of Vulkan in case someone’s PC doesn’t have access to Vulkan support on their video card and don’t want to see the errors caused by the stock DirectX 11 shaders.
  • Changed the Environmental and Overall Brightness so the game doesn’t look too bright compared the original Nintendo 64 version (or Doom 64 EX).
  • Adjusted the default music volume slightly.
  • Disabled intro videos completely by default (in case anyone forgets to delete the video files/use command-line parameters).
  • Changed default controls to not only fix the “Use” on Left Trigger problem, but also took inspiration from the Doom Retro source port and added classic PC controls along with some tweaks to the modern keyboard and mouse set-up. Right-click can also be used as “Cancel” in the menus.
  • There’s also a variant that includes the temporary DirectX 11 shader fixes; see the Fixing the Broken DirectX 11 shaders section above if you want a permanent solution to replace the broken stock shaders.

If you wish to make use these tweaked settings for the default.cfg file, then follow these instructions:

  1. Open the Doom64.kpf file with an archive edit like 7zip or WinRar like in the Fixing the DirectX 11 Shaders procedure (7zip will be used in this example).
  2. While viewing the contents of Doom64.kpf, right-click its default.cfg file delete it, we will be replacing it with a new one.
  3. Download this default.cfg file with the edits I’ve made: Download[drive.google.com]
  4. Take the default.cfg that you have downloaded and insert it back into the root of the Doom64.kpf file.
  5. (Optional) Delete your existing kexengine.cfg file found in this location if you wish to see the changed default settings immediately:
    %USERPROFILE%Saved GamesNightdive StudiosDOOM 64kexengine.cfg

Restoring the original red medical crosses

Due to the Red Cross stomping down on the use of red medical crosses in media, Doom 64, along with the 7th gen ports of Doom games and onwards, the red medical crosses were altered. There are two ways you can go about this: A) Use a PWAD to restore them without editing the game’s files, which sadly counts as a cheat (unless you use this fix below), or B) edit the game’s IWAD file with SLADE. If you want to see how to restore the red medical crosses back into the PC version, see this guide by General Plastro:
[link]

Fixing the Chaingun sprite offset errors

The game also has this visual error currently as well regarding the chaingun. This is very easy to miss but here are some screenshots to point out where it is:


There is a way thankfully to fix this by a simple mod, which unfortunately sets off an flag in the game that prevents achievements from unlocking (see Sui’s Hack for a workaround), or by using SLADE, a Doom engine editor, to make the adjustments so the chaingun’s doesn’t clip off during its firing animation.

The Easy Way

The easiest way to fix the offset issue with Chaingun sprites (among others) is through loading the Symmetrical Weapons mod, a simple .WAD by file PkBlood that corrects the offsets of the Chaingun and other weapons so they appear symmetrical on screen. The mod can be downloaded below:

The Hard Way

If you wish to have a more “permanent” solution, it is possible to modify the offsets of the Chaingun sprites manually through using SLADE. You can also export the individual sprite files of the guns from the Symmetrical Weapons mod then re-insert them with their offsets into the game, however, if you aren’t especially sensitive to the positioning of the other weapon’s sprites, then this tutorial for the Chaingun can be found below:

  1. Download and install SLADE here[slade.mancubus.net]. Grab the one that matches with architecture/bits of your operating system. Either the installer (.exe) or binaries (.7z) package will do. Once you have SLADE installed, you should be greeted with something like this after skipping through the resources for installed Doom IWADs:
  2. Now go to EditPreferences, and go to the Advanced section, and look for the setting “iwad_lock” and turn it off in order to make changes to Doom 64‘s WAD file.
  3. After making that change in SLADE, now we can drag and drop our DOOM64.WAD file onto SLADE and start working from there. To quickly access your Doom 64 installation folder if you’re on Steam, simply right-click the game from your Steam Library, go to Manage → Browse local files.
  4. When you load your DOOM64.WAD file onto SLADE, you’ll get something like this:

    The only thing we want to do at this moment is find the chaingun’s sprites. To do that, go into the filter bar around the bottom of the interface and search for “chg” and it should show us the four chaingun sprites we want to fix. (If you don’t see the filter bar, click the little icon shown in the image.)

  5. Starting from CHGGA0, we want to move the sprite itself down by about 4 pixels so it wouldn’t clipping out of the screen while it’s being fired without making it impossible to see in-game. CHGGA0 is currently on vertical offset -137, so to move it down, we need to change this to -141 and then press Enter to lower its offset, and then click Save on the selected sprite to save the changes. Repeat this process of lowering the chaingun’s sprites by 4 pixels for the rest of the sprites (CHGGB0, CHGGC0, and CHGGD0).
  6. After making the changes to the chaingun’s sprites, now you need to save the changes to the WAD itself by going to File → Save or use Ctrl+S. SLADE will make a back-up of the original unedited DOOM64.WAD file by default for you (DOOM64.WAD.BAK) in case something went wrong.
  7. Now try and use the chaingun in the game, it shouldn’t be clipping out of the screen while it’s firing anymore. If you want to see the fixes in action, I’ve made this gif and posted onto Imgur here since the gif itself was about ~9MB:

    Doom 64 (2020) – Fixed Chaingun Sprite Offset

    [imgur.com]

Other useful tweaks and tools

Doom 64 Unofficial Configuration Tool

This tool written by Suicide Machine allows users to modify settings of the official 2020 re-release of Doom 64, simplify the cumbersome rebinding process of the game (especially useful for non-QWERTY keyboards), and change basic graphics settings (including enabling the DirectX 11 shaders fix).

Download: [link]

Sui’s Hack

This simple plugin restores some form of vertical mouse looking, can help disable the annoying anti-cheat flag that prevents unlocking Steam Achievements when loading PWADs to the game, and fix an error with Baron of Hell’s melee damage in the game’s code. To use this hack, simply extract the contents of the zip file provided below and place the version.dll and scripts into the root of your Doom 64 folder where the executable is. To make any changes to the hack’s settings, go into the scripts folder, open Doom64Hacks.ini with a text editor, and configure the desired settings available.

Download: [link]

Credits and closing remarks


I hope this helped anyone reading this guide with addressing issues present in the official 2020 re-release of this overlooked gem among the Doom franchise. I also want to thank the respective authors featured below of each guided featured here and granting permission to feature them here, they definitely deserve thanks for lending their support for fixing up this game.

Credits

Suicide Machine – Providing the instructions for the intro skip via command-line via his Steam guide, instructions for fixing the DirectX 11 shaders within the game, creating the Unofficial Configuration Tool and Sui’s Hacks for Doom 64.

Kaiser – Providing a workaround for the current DirectX 11 shaders.

Grooves – Providing a way to skip intro videos by deleting the intro videos folder via his Steam guide.

General Plastro – For providing players a way to restore the original red medical crosses into the official 2020 port of Doom 64 through SLADE or the PWAD.

Zelkar – Mentioning how the chaingun’s clipping error can be fixed via SLADE.

SlayeR – Author of the SLADE editing tool which helped restore the original red medical crosses and fixed the offset of the chaingun’s sprites.

Have a DOOG.

Source: akashibag (credit to The Chicken Hunter)

SteamSolo.com