PenumbraOverture.FPSFix 1.0.0
=============================

PenumbraOverture.FPSFix lets Penumbra: Overture render above 60 FPS while the
game itself keeps running on its original fixed 60 Hz update. It provides
presentation-rate camera movement and mouse look, menu, inventory and notebook
cursors, the first-person flashlight, glowstick and held tools, physics props,
doors, drawers and levers, enemies and their ragdolls, particles, and
frame-rate-correct image-trail and motion-blur effects.

COMPATIBILITY
-------------

Penumbra.exe must be a 32-bit Windows / PE32 executable whose required engine
functions uniquely match every validated code signature and whose required
imports are present. The plugin does not require a particular file hash,
storefront, installation path, or file size. If a required mapping is absent
or ambiguous, startup fails closed before any engine hook is installed, the
game runs unmodified, and the reason is written to the log. This scan runs
once at startup.

Validated release build:

GOG Windows build ID: 51164687961892695
Penumbra.exe SHA-256:
AB93DF7DA5D7CB259E23656BC05B69C1224728FB42CD5810011C4B9FCCCFABB9

Other storefronts and executable revisions are allowed by the compatibility
scanner but are untested. The signatures are exact, so a differently compiled
executable, including Black Plague and Requiem, is expected to be rejected.

Tested from a new game through the mines to the Workshop, Office, Storage and
Refinery, including the dog and its ragdoll, mostly at 350 FPS with a shorter
run at 90 FPS. The spider, the worm, and later levels are untested; anything
the plugin does not recognise keeps its original 60 Hz motion.

INSTALLATION
------------

All files go in the "redist" folder beside Penumbra.exe, not in the parent
game folder.

Plugin-only package:

1. Install a compatible x86 ASI loader for the game.
2. Copy PenumbraOverture.FPSFix.asi and PenumbraOverture.FPSFix.ini together
   into "redist", or into another directory scanned by that loader.

Package bundled with Ultimate ASI Loader:

1. Copy PenumbraOverture.FPSFix.asi, PenumbraOverture.FPSFix.ini, and
   winmm.dll into "redist".
2. Do not overwrite an existing winmm.dll. If one is already present, find out
   which mod owns it and use the plugin-only package with that loader instead.

The bundled winmm.dll is the verified x86 Ultimate ASI Loader v9.7.4 binary.
The game is 32-bit, so a 64-bit loader will not work.

Start the game as usual.

USAGE
-----

The plugin does not limit the frame rate. Enable the game's VSync or use an
external frame-rate cap, otherwise the game renders as fast as the machine
allows. The simulation stays at 60 Hz by design, so higher frame rates do not
speed the game up.

The supplied INI enables every validated fix, and each one has its own switch.
Most users should leave it unchanged. One of them changes how the game feels
rather than how it looks: MouseAxisCorrection makes horizontal mouse
sensitivity equal to vertical, where the original game turns faster
horizontally on widescreen displays. Set it to false for the original
behaviour.

The log is written beside the plugin as PenumbraOverture.FPSFix.log. If that
location is not writable, the fallback is:

%LOCALAPPDATA%\PenumbraOverture.FPSFix\PenumbraOverture.FPSFix.log

UNINSTALLATION
--------------

Remove PenumbraOverture.FPSFix.asi and PenumbraOverture.FPSFix.ini. If this
package added winmm.dll, remove it only when no other installed ASI plugin
depends on that loader. Log files can be removed separately.

FILES AND THIRD-PARTY SOFTWARE
------------------------------

SHA256SUMS.txt lists hashes for every payload file. MINHOOK-LICENSE.txt covers
the statically linked MinHook dependency. The bundled-loader package also
includes THIRD-PARTY-NOTICES.txt for Ultimate ASI Loader.

This software is provided without warranty. Back up modified game files and
save data before installing game modifications.


Misc
-------
For more game fixes, visit https://slop-blog.enkhayzomachines.net/fixes :)
