KPF File

The 2020 rereleas of Doom 64 introduced the KPF ("KEX program file") file format to store extra engine assets and some high-resolution game assets. These are compressed archives using the Deflate compression method. Any program which can decompress ZIP archives, such as Slade or KPF Patching Utility, can open and decompress these files for modification. There are two main KPF files: "Doom64.kpf" and "BNet.kpf".

Modification

This version of the KEX engine cannot load KPF files directly, thus the existing KPF files have to be modified directly if customizations are wanted. Since KPF files can vary between platforms it is recommended to extract their contents, replace contents with modified files, and then re-compress the archive. On Windows this is frequently done with a batch file and a light-weight compression utility such as 7-Zip or KPF Patching Utility.

The graphics can be any resolution and they will be resized in-engine to match the aspect ratio of the original images, however paletted graphics are not supported by the engine.

Doom64.kpf

The "Doom64.kpf" file contains most of the KEX engine assets needed to assist gameplay.

Fonts and Graphics

Some of the fonts used by the engine are stored in the "fonts" folder. There is a "confont.tga" file which is a bitmap graphics file for font but it does not seem to be used in the game. The true type font of "FreeUniversal-Regular.ttf" is used in the game console which is accessed by the ` key during gameplay.

The "Gfx" folder is where most of the engine graphics are stored in true-color PNG format. In particular there are the two legal and warning screens and the high-resolution Doom 64 logo. In addition to a cursor graphic, there are the Nightdive, KEX, Bethesda, and Zenimax logos. Then there are also various icons for Xbox, PS4, Switch, and PC inputs.

The "progs" folder has all of the shaders in it, including the antialiasing shaders and the texture filtering shaders.

Text

The localization folder has the text files for all of the languages the game supports. Each of these files has all of the text the game uses. It supports entities such as "\n" for line breaks.

Here are some notable texts to be found in these files. The "// m_menus" category, has two options: "DOOM 64" and "The Lost Levels". "DOOM 64" refers to levels 33 and under and then "The Lost Levels" are for levels 34 and above. There is a specific line which says "Quit DOOM?" in the "// m_menus" category. Under the "// f_finale" section there is a list of all of the monster names such as "Zombieman". Then under the "// p_inter" section, there is all of the status text during gameplay such as "You pick up a blue keycard." It also has the names of the weapons and the demon keys too. And under the "// p_user" are the mock texts which display after the player dies, such as "LOOK AT ME! I'M FLAT!" And then under the "// Achievement strings" has the text for when the player gets achievements. If the player has already recieved these before, they won’t show up again. Also these files there is text for the options menu, such as "Weapon 0" up to 9. Then there are also the level names and intermission texts too in various languages. The level names and intermissions can also be edited in the WAD's MAPINFO Lump. These are just some of the texts to be found in these files.

Other

In the main directory there is a "default.cfg", which contains the the default bindings and settings that will load for the player. If the player has already played Doom 64, editing this will have no effect. There is also a game controller database and a sine table lump included here.

In the "tactile" folder there is a bunch of "bnvib" files, which are the HD vibration files for the nintendo switch. They mostly tie to the weapons and sound effects in the WAD of the same name.

BNet.kpf

This KPF file has files related to Bethesda and distribution platform interfacing. There are additional fonts and graphics folders here. In particular there are graphics for all of the achievements. Which has color and black and white versions. There is also the "spinner.png" graphic which is a white square. This shows up when loading or saving games.