DOOM Eternal
0 of 0

File information

Last updated

Original upload

Created by

SutandoTsukai181

Uploaded by

SutandoTsukai181

Virus scan

Safe to use

Tags for this mod

About this mod

A python script (EXE version available) that can add/replace files in DOOM Eternal's .resources files. This cannot be used on its own, and requires some patches to the game's EXE in addition to a rehashing tool for the game to load the modded .resources. All dependencies are provided in description.

Requirements
Permissions and credits
A command line application for loading mods into .resources files
This was initially a script, but the version provided here is an EXE compiled using pyinstaller. Source code can be found here (requires colorama package to be installed).

To extract game resources (only if you want to make mods) use one of the following tools: Unpacker tool from XeNTaX or quickBMS script from ZenHAX.


Functionality:
This script can replace/add any file in DOOM Eternal's .resources files (all .resources files supported from version v1.1+). The script takes a single argument which is the path to the game folder (the folder that contains DOOMEternalx64vk.exe). If it's not provided, the script will use the default steam library path instead: "C:\Program Files (x86)\Steam\steamapps\common\DOOMEternal"

Mods must be placed in a "Mods" folder in the same directory as the script (Create the folder and put it next to the script). The script will load all loose files and ZIPs in the 'Mods' folder. You can also add new files to the .resources if you want, as the game won't crash unless you used them incorrectly. Loose files MUST be placed in a directory with the name of the .resources file it's supposed to be placed into.

Example:
"Mods/generated/decls/anyfile" will not work
"Mods/gameresources/generated/decls/anyfile" will place the files in gameresources.resources
"Mods/e1m2_battle/generated/decls/anyfile" will place the files in e1m2_battle.resources

You can load mods from a ZIP file if it's placed inside the 'Mods' folder. The ZIP file's contents have to follow the same format as those of the 'Mods' folder. Only ZIP files can still have "generated" as the base directory to provide compatibility with old mods, which will load the files into gameresources.resources. All mods created from now on should specify the .resources file it needs to replace files into.

Example:
"Fists_Mod.zip/generated/decls/anyfile" is correct, and will load the files into gameresources.resources by default
"Fists_Mod.zip/Mods/generated/decls/anyfile" is not correct
"Fists_Mod.zip/warehouse/generated/decls/anyfile" is correct, and will load the files into warehouse.resources


Usage:
DEternal_loadMods.exe <path-to-DOOMEternal>
 
Example:
DEternal_loadMods.exe "D:\Games\DOOMEternal"

Use quotes for game path if it contains spaces. If path is not provided, the default steam library path will be used instead.

THIS SCRIPT WILL NOT BACKUP YOUR FILES! So you should make a backup of the following files:
  • gameresources.resources (Because it's the file that most mods use)
  • meta.resources (Modifed by idRehash)
  • build-manifest.bin (Modified by the game after applying the EXE patches)
You may have to backup other .resources files, depending on what the mod you're installing uses. To check which .resources are going to be modified, use the argument "--list-res". It will output the names of the files without installing any mods.

Example:
DEternal_loadMods.exe --list-res


Requirements:
  • idRehash v0.4 by emoose, updated by proteh (link)
  • EXE patches by emoose (link)
idRehash must be put in "DOOMEternal\base\" (next to .resources files) and MUST be run after each time you use the script (or just once before running the game, if you used the script).

For the game to load after modding the .resources files, you MUST apply 3 hex patches to your game EXE. This needs to be done only once, but you may have to apply the patches again if the game gets updated (from steam/bethesda launcher, not after installing mods). All you need to do is replace some hex strings in DOOMEternalx64vk.exe with modded code. 

If you don't know how to do hex editing, look up a guide. HxD Editor is beginner-friendly, just press Ctrl+R and paste in the hex lines that need to be replaced and the modded lines and click "Replace". Do this for each of the 3 patches one at a time.


DISCLAIMER:
I am not responsible for whatever you do with this script. This script is intended to be used when offline, although it works fine online and nobody until now (about 5 testers during a month) have received a warning. This script may allow you to modify some game files used for online content, which may risk you a ban. I am not responsible for any bans that may be possible, and I'm not responsible for any illegal activity you may do, such as unlocking costumes you do not own, modifying EXP rewards, or making the game unfair for other players in multiplayer modes.