From: Juhu <5894800-Juhu_@users.noreply.gitlab.com> Date: Tue, 17 Jan 2023 11:29:34 +0000 (+0100) Subject: strafehud: ignore jump input when determining onground state if track_canjump is... X-Git-Tag: xonotic-v0.8.6~136^2~8 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=27feec8f289ff9f0079117e5e1beca00a098fb4a;p=xonotic%2Fxonotic-data.pk3dir.git strafehud: ignore jump input when determining onground state if track_canjump is enabled --- diff --git a/qcsrc/client/hud/panel/strafehud.qc b/qcsrc/client/hud/panel/strafehud.qc index 62e09156f..ae00a559b 100644 --- a/qcsrc/client/hud/panel/strafehud.qc +++ b/qcsrc/client/hud/panel/strafehud.qc @@ -110,10 +110,10 @@ void HUD_StrafeHUD() // physics int keys = STAT(PRESSED_KEYS); - bool jumpheld = islocal ? (PHYS_INPUT_BUTTON_JUMP(strafeplayer) || PHYS_INPUT_BUTTON_JETPACK(strafeplayer)) : (keys & KEY_JUMP); // doesn't work in spectator mode if spectated player uses +jetpack + bool jumpheld = (islocal ? ((PHYS_INPUT_BUTTON_JUMP(strafeplayer) || PHYS_INPUT_BUTTON_JETPACK(strafeplayer))) && !PHYS_CL_TRACK_CANJUMP(strafeplayer) : (keys & KEY_JUMP)) && !PHYS_TRACK_CANJUMP(strafeplayer); // try to ignore if track_canjump is enabled, doesn't work in spectator mode if spectated player uses +jetpack or cl_movement_track_canjump bool real_onground = islocal ? IS_ONGROUND(strafeplayer) : !(strafeplayer.anim_implicit_state & ANIMIMPLICITSTATE_INAIR); // doesn't get changed by ground timeout and isn't affected by jump input bool real_onslick = false; // doesn't get changed by ground timeout - bool onground = real_onground && !jumpheld; // if jump is held assume we are in air + bool onground = real_onground && !jumpheld; // if jump is held assume we are in air, avoids flickering of the hud when hitting the ground bool onslick = real_onslick; bool onground_expired; bool strafekeys;