Skip to content

v3.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 17:56
· 25 commits to master since this release

Syndicate camera smoothing can be turned off, so the camera follows the mouse directly.

What's New

Syndicate camera smoothing toggle

The camera lerps toward its target orientation instead of snapping to it, which reads as mouse smoothing and adds input latency to every look movement. The engine already carries a flag that bypasses the interpolation, checked by a jnz immediately before it:

mov   rcx, [r13+0xA20]
cmp   byte [rcx+0x104], 0
jnz   skip_smoothing        ; patched to jmp
...
movss xmm0, [rbx+0xA0]
call  <lerp>
movss [rax+0xA0], xmm0

The new CameraSmoothing hook rewrites that opcode from 0x75 to 0xEB, keeping the displacement, so the smoothing block is always skipped and the target orientation is written straight through. Restoring 0x75 re-enables it, which makes the setting hot-reloadable - edit the INI while the game runs and the change applies without a restart.

install() refuses to patch unless the byte actually reads 0x75, so a signature that drifts on a future game build fails loudly instead of corrupting an instruction.

[Input]
; CameraSmoothing: Disable the camera smoothing the game applies to look
; input, so the camera follows the mouse directly instead of lerping toward
; it. Hot-reloadable - unlike the [Hooks] toggle below, which only decides
; whether the hook installs at startup, this key takes effect immediately.
DisableCameraSmoothing=true

[Hooks]
CameraSmoothing=true

Both default to true. An existing AC.Syndicate.PatchFix.ini works unchanged - missing keys fall back to the defaults - but copy the shipped INI if you want the new entries documented in place.

Rogue was checked for the same mechanism and does not have it: its camera path has no equivalent bypass flag, so there is no Rogue-side counterpart in this release.

Credit: the branch was identified by @lnx00 in game-patches.

Assets

File Description
AC.Rogue.PatchFix.asi Rogue plugin (Windows)
AC.Rogue.PatchFix-wine.asi Rogue plugin (Wine/Proton cross-compiled)
AC.Rogue.PatchFix.ini Rogue default configuration
AC.Syndicate.PatchFix.asi Syndicate plugin (Windows)
AC.Syndicate.PatchFix-wine.asi Syndicate plugin (Wine/Proton cross-compiled)
AC.Syndicate.PatchFix.ini Syndicate default configuration

What's Changed

Full Changelog: v3.1.0...v3.2.0