Modernizes F.E.A.R. and its expansions with HUD scaling, high-framerate optimizations, XInput controller support, and other quality-of-life enhancements. It aims to be as non-intrusive as possible, with no file modifications and no gameplay changes by default, focusing solely on fixing issues and enhancing the overall experience.
Note
Compatible with F.E.A.R. Ultimate Shooter Edition (Steam) and F.E.A.R. Platinum (GOG).
All features are compatible with Extraction Point and Perseus Mandate.
Download: EchoPatch.zip
Extract the contents of the zip file into the game’s folder, in the same directory as the FEAR.exe
file.
Warning
The GOG version defaults to a 60 FPS cap.
To unlock higher framerates, modify the dxwrapper.ini
file by setting LimitPerFrameFPS
from 60 to 0.
This change enables compatibility with the HighFPSFixes
optimizations, ensuring smooth performance at framerates up to 240 FPS.
- Dynamically scales HUD elements (texts, crosshair, icons) relative to screen resolution.
- Adjust
HUDCustomScalingFactor
inEchoPatch.ini
to customize overall HUD scaling. - Adjust
SmallTextCustomScalingFactor
for independent scaling of smaller text (e.g., subtitles).
Note: The base resolution (1024×768) is used as the reference for scaling, ensuring the HUD retains its original proportions and appearance on all higher resolutions.
Resolves multiple issues at high framerates, designed and optimized for smooth gameplay at up to 240 FPS:
- Ragdoll physics instability above 60 FPS.
- Water physics instability above 120 FPS.
- Excessive water splash effect repetitions above 60 FPS.
- Frozen FX effects above 120 FPS.
- Oversized particles above 120 FPS.
- Overly dampened velocity when jumping out of water above 60 FPS.
- Velocity dampening when jumping and landing above 120 FPS.
- Walking animation prematurely reverting to idle, causing camera stutter above 120 FPS.
- Inability to perform a jump kick above 120 FPS.
- Excessive sliding on sloped surfaces above 60 FPS.
Addresses several weapon-related issues:
- Zoom disabled when loading a save during a cutscene.
- Automatic weapons stuck in firing animation when loading a save made mid-fire.
- Weapon cycling not working when there’s an empty slot between two weapons.
- Weapon models not refreshing after loading a save with the same weapon equipped.
Note: These issues were partially fixed in the Extraction Point and Perseus Mandate expansions.
Prevents the game from running too fast by capping the maximum framerate.
- MaxFPS (
MaxFPS
inEchoPatch.ini
): Set the maximum framerate. A value of0
disables the limiter, any other value enables it. The default value of240
is the recommended safe value, as some high FPS optimizations may not cover higher framerates. - Dynamic VSync (
DynamicVsync
inEchoPatch.ini
): When enabled (1
), VSync synchronizes frame updates to your monitor’s refresh rate, reducing screen tearing and shadow flickering. VSync will only be enabled if your monitor’s refresh rate is lower thanMaxFPS
, otherwise it remains off. Set to0
to disable.
- FPS Drop Fix: Stops the game from initializing all HID devices as a controller to prevent framerate drops over time, rather than intercepting the call as in other fixes.
- Input Lag Fix: Disables the
SetWindowsHookEx
call to reduce input lag.
Controller Input | Action |
---|---|
Left Analog Stick | Move |
Right Analog Stick | Aim |
Left Analog Stick (Press) | Use Health Kit |
Right Analog Stick (Press) | Toggle Flashlight On/Off |
A Button | Jump |
B Button | Crouch |
X Button | Reload / Interact / Pick Up |
Y Button | Toggle Slow-Motion |
Right Trigger (RT) | Fire |
Left Trigger (LT) | Zoom |
Right Bumper (RB) | Melee |
Left Bumper (LB) | Throw Grenade |
D-Pad Up | Next Weapon |
D-Pad Down | Next Grenade |
D-Pad Left | Lean Left |
D-Pad Right | Lean Right |
Back Button | Mission Status |
Customizable alongside sensitivity settings within the [Controller]
section of EchoPatch.ini
.
Note: Hotplugging is supported, connect or disconnect controllers at any time without restarting the game.
Note: For a more console-like experience, you can automatically hide the mouse cursor when a controller is detected. This feature is disabled by default. To enable it, setHideMouseCursor=1
inEchoPatch.ini
.
Corrects default control assignment on non‑English layouts by mapping hardware scan codes instead of English key names (preventing some “[unassigned]” entries on first launch or after resetting controls) while leaving the saved bindings in the save file unchanged.
Removes 4:3 restriction so all widescreen resolutions are available.
Applies a Large Address Aware patch to allow up to 4 GB of memory (default 2 GB), which can resolve loading issues.
Disabled by default because it modifies the executable on disk, set CheckLAAPatch = 1
in EchoPatch.ini
to enable.
Note: For the Steam version, running Steamless on
FEAR.exe
before enabling is recommended, but not required.
Keeps objects (bodies, blood stains, debris, bullet holes, shell casings, glass shards…) from despawning.
Improves resolution quality of reflective surfaces and displays.
Renders the highest quality models at all distances by disabling LOD bias.
Improves texture sharpness at a distance by reducing mipmap bias.
Multiplier applied to mouse aiming to compensate for high sensitivity (does not affect profile settings).
Set MouseAimMultiplier
in EchoPatch.ini
(default 1.0
).
Disables cutscene letterboxing when DisableLetterbox = 1
in EchoPatch.ini
.
Automatically sets the game window to match your screen resolution on first launch (or every launch if AutoResolution = 2
).
Bypasses developer splash on launch when SkipSplashScreen = 1
.
Skips intro videos (menu sound retained) when SkipAllIntro = 1
.
Individual videos can be skipped via the SkipIntro
section in EchoPatch.ini
.
Redirects the save folder from %PUBLIC%\Documents\
to %USERPROFILE%\Documents\My Games\
.
Disabled by default, set RedirectSaveFolder = 1
in EchoPatch.ini
to enable.
Removes battery limit and hides HUD indicator.
Enable with InfiniteFlashlight = 1
.
Customize max weapon capacity via MaxWeaponCapacity
(0–10).
Enable with EnableCustomMaxWeaponCapacity = 1
.
Note: Weapon capacity is tied to the save data. Lowering the capacity will not take effect on an existing save. Start a new save file to apply a reduced limit.
Chains another dinput8.dll
by loading dinput8_hook.dll
for mod compatibility.
- MinHook for hooking.
- mINI for INI file handling.
- Methanhydrat for identifying the FPS drop root cause.
- Vityacv for identifying the extra latency caused by SetWindowsHookEx.
- CRASHARKI for the logo.