A fanmade patch for F/A-18E Super Hornet (2000, Digital Integration). It uses a technique called DLL injection, the way it works is described in Beginners Guide to Codecaves, and most of the project's code is taken from there as well. I only added CMake support, executable hash verification and the code for the patch itself.
This project was my first experience in reverse engineering back in 2020. Annoyed by several inconsistencies between the game and its manual, I booted up Cheat Engine, dived into assembly underworld and somehow arrived here.
This patch expects the following MD5 hash for F18.exe
: 3E9301D75C8D3B212AA18C9A88CD06BF
.
It's valid for both Steam version
and retail version with Albanian Campaign DLC installed and NoCD applied
(Fun fact: Steam version is distributed with NoCD, I bet the same goes for GOG version).
Unfortunately, I don't own GOG version to check the hash,
so if you own it, please report whether this patch works for you.
- Download & unpack the latest release of
FA-18E_SH_patch-win32.zip
- Copy both
F18loader.exe
andF18patch.dll
into game's root directory right next to originalF18.exe
. - Run
F18loader.exe
. - If no errors occurred, the loader should automatically launch the game.
- High framerate causes issues with the game, e.g. Course & Heading Select switches stop working properly. The game was clearly designed to run at 30 FPS, so this patch locks framerate to this value (Note: if you use DxWnd, make sure to disable VSync and other timing features).
- In original game, it's impossible to power off APU & engines using GUI. APU is automatically disabled after a certain time, and engines can only be turned off via hotkeys. This patch disables automatic APU shutdown and allows full control over both APU and engines with corresponding switches.
- Landing request can only be initiated using a hotkey. The patch adds a dedicated button into UFCD's communication channel selection screen.
- Some minor ones like IFF and radar altimeter not being inhibited by EMCON mode and some game variables not being reset when mission is restarted.
Original:
apu-engines-select-switches.mp4
Patched:
apu-engines-select-switches.mp4
Original:
request-landing-button.mp4
Patched: