When the HUD was minimized, the weapon groups would be located at the exact same offset from the shield battery text as when the HUD was not minimized. Since the minimized HUD is less wide, the weapon group buttons were partially outside the minimized HUD borders.
Full patch for the edits (original bytes are from the original non-edited DLL):
01932E: 74 31 DB 2D -> D9 45 E4 B8
019337: 45 E4 89 5D A4 DB 45 A4 D8 4E 24 DE C1 D9 5D E4 9B DB 2D -> 00 D8 48 04 8B 7D FC D9 40 08 D8 9F AC 00 00 00 DF E0 BF
01934E: D8 6D E8 D8 46 20 D9 5D E8 9B -> F6 C4 44 7B 17 D8 67 60 EB 12
0194BC: AE 47 E1 7A 14 AE 47 E1 FC 3F 00 00 7B 14 AE 47 -> A6 9B 44 3D 66 66 A6 3F 0A D7 23 BE A6 9B 44 3C
Rather than using a hex-edited dinput8.dll from Windows 7, now dynamically apply the patch. The correct offsets are found using pattern scanning. This allows for a less volatile approach of fixing the problem which works on older versions of Windows, too.
When pressing the Print Screen key in HDE, a screenshot is already copied to the clipboard and stored in the Pictures folder. This makes a third copy of the screenshot by ReShade redundant.
Before the WG buttons were hardcoded for 16:9 and 4:3 resolutions only, meaning they'd be positioned incorrectly on other aspect ratios. This patch makes it so that the WG buttons are positioned correctly on all aspect ratios, dynamically. This makes the HudWeaponGroups entry in HudShift.ini obsolete.
HudWeaponGroups.dll:
1932F, 31 DB 2D -> 00 90 B8
19336, D8 -> D9
19339, 89 5D A4 DB 45 A4 D8 4E 24 DE -> D8 00 D8 48 04 D8 40 08 EB 27
194BC, AE 47 E1 7A 14 AE 47 E1 FC 3F 00 00 -> 77 BE 1F 3D 66 66 A6 3F CD CC 4C 3C
Resolves#159.
The previous patch removed an `fstp` instruction. This caused the FPU stack to not be cleaned, resulting in funky behavior occuring during cutscenes on some setups. The new patch fixes this.
Applied the following hex edit: d3d8_legacy.dll, 2594B, 01 -> 00. This effectively disables the maximixed windowed mode, which officially cannot be done programmatically anymore, since after a specific update they made it so the value is hard-coded to '1'. This hex edit changes that value to '0'.