Skip to content

A binary patching tool that can apply known hacks to the vanilla DOOM executable

Notifications You must be signed in to change notification settings

AXDOOMER/doom-patcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

Doom Patcher

This is a patching tool that can apply multiple different hacks to the Doom 2 version 1.9 executable (709905 bytes).

This utility is a collection of hacks that were distributed on Doomworld over the years.

Most of the hacks are cumulative, which means that applying a hack doesn't change the bytes at an offset used by another hack, so you can use many of these hacks at the same time.

Glossary

VANILLA: The hack is not detected. The bytes at the offsets where the patch makes the changes are the same as vanilla.

PATCHED: The executable is already patched with this hack.

UNKNOWN: The executable is corrupted or an incompatible hack has already been applied.

List of hacks

  • Increase the maximum mouse sensitivity from 9 to 127
  • Increase the maximum heap size to 32MB
  • Display "Picked up a medikit that you REALLY need!"
  • Fix for fast doors that make two closing sounds
  • Fix for the ouch face
  • Fix for the duration of the SSG's muzzle flash
  • Fix Arch-Vile fire spawned at the wrong location
  • Disable 'Q' when recording demos
  • Extend the stack allocation size (64KB => 512KB)
  • Use DPCHGUN/DSCHGUN as the chaingunner's attack sound
  • Enable random sound pitch
  • Increase the static limits to those of Doom+
  • Enable long tics
  • Replace 'Deathmatch 1.0' with 'Deathmatch 3.0'
  • Make the startup banner blue

The extended stack size hack is incompatible with Doom+.

Credits

Many thanks to the authors of the hacks who made them available on Doomworld. They are: Miguel Folatelli (aka myk), Andrey "entryway" Budko (aka e6y), Colin Phipps (aka cph), Randy87 and xttl. If you can't find your name here and think I forgot you, then send me an email or contact me on Doomworld.

Submitting patches

On GNU/Linux, you can easily create a patch to be added to this script using this command:

cmp -l DOOM2.EXE HACKED.EXE | gawk '{printf "[0x%08X, 0x%02X, 0x%02X],\n", $1-1, strtonum(0$2), strtonum(0$3)}'

You can add the generated output to the Python script and make it work with minimal changes.

You may open a pull request and I will take a look at your new patch. Please, one pull request per hack.

About

A binary patching tool that can apply known hacks to the vanilla DOOM executable

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages