Skip to content

feat: Add full acceleration on first tick#1950

Open
bjorn-martinsson wants to merge 2 commits into
ValveSoftware:masterfrom
bjorn-martinsson:feature/first-tick-full-acceleration
Open

feat: Add full acceleration on first tick#1950
bjorn-martinsson wants to merge 2 commits into
ValveSoftware:masterfrom
bjorn-martinsson:feature/first-tick-full-acceleration

Conversation

@bjorn-martinsson

@bjorn-martinsson bjorn-martinsson commented Jun 4, 2026

Copy link
Copy Markdown

This PR builds on #1949 and is intended to be reviewed and merged as a follow-up to it.

The preceding PR (#1949) fixes the FPS-dependent input bug (ValveSoftware/Source-1-Games#8045) while preserving original Source behavior, where newly pressed movement keys receive half acceleration on the first tick.

Once the FPS-dependent bug is fixed, users may notice that first-tick acceleration behaves differently from what they have become accustomed to when playing at high frame rates.

This PR preserve that familiar behavior by introducing a small wrapper around KeyState() that can optionally convert first-tick half acceleration into full acceleration via the cl_full_accel_first_tick cvar, defaulted to 1.

The cvar is primarily provided to make the behavior easy to test and compare. If desired, the behavior could be trivially hardcoded by removing the cvar and always enabling the wrapper.

Importantly, this PR does not affect tick taps or other impulse-based movement behavior. Tick taps are already corrected by PR #1949. This PR only changes the first-tick acceleration applied to standard movement key presses from 0.5 to 1.0.

The implementation is intentionally minimal and limited strictly to movement input evaluation.

As with the preceding PR, this change has been tested in TF2 and should be applicable to other Source 1 games using the same input system.

@bjorn-martinsson bjorn-martinsson changed the title Add optional full acceleration on the first movement tick feat: Add full acceleration on first tick Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant