From bb99c978c5f982e80a3007101fd61fe23635e242 Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 27 Oct 2026 13:19:00 +0100 Subject: Jumpbug: automatic duck+jump on damaging falls - Predict the landing speed from the current vertical velocity and a swept standing-hull ground trace; engage only when it exceeds PLAYER_MAX_SAFE_FALL_SPEED. - Press duck one command before the unduck window so FinishDuck's 36-unit origin raise places the feet ~37 units above the floor. - On the next command release duck and press jump: PlayerMove runs Duck() before CheckJumpButton, so FinishUnDuck sets ground, the jump executes, and CheckFalling never sees ground for the fall-damage check. - Measure the per-command fall from consecutive airborne origins instead of a fixed tick interval; clear IN_JUMP while waiting so the pogo latch is clear. - New Movement -> Jumpbug -> Active toggle (default on), config [jumpbug]. --- CONTEXT.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'CONTEXT.md') diff --git a/CONTEXT.md b/CONTEXT.md index cd3811d..b1ec4e7 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -104,21 +104,26 @@ HL2hake Uni-directional auto-strafe ABH Active + Jumpbug + Active ESP Active - Show neutral / healthbar / healthnum / name / skeleton / box + Show neutral / healthbar / healthnum / name / skeleton / box / speed graph Aimbot Active Bind Vischeck Bones -> Head / Torso / Left arm / Right arm / Left leg / Right leg Smoothness (1..45 deg/tick, Left/Right) + FOV (1..180 deg, Left/Right) + Show FOV circle Triggerbot Active Bind Silent aim Active Bind + FOV (1..180 deg, Left/Right) ``` Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. @@ -156,6 +161,27 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. zero forward/side movement; HL2's jump speed-bound subtraction then accelerates along the velocity. Camera restored at `FRAME_RENDER_START`. +## Jumpbug + +- Automatic while falling when the predicted landing speed + `sqrt(vz^2 + 2*600*x)` exceeds `PLAYER_MAX_SAFE_FALL_SPEED` (526.5). +- The engine only applies fall damage when `CheckFalling` sees a ground entity + at the end of the frame. `PlayerMove` runs `Duck()` **before** + `FullWalkMove`'s `CheckJumpButton`, so a same-frame `FinishUnDuck` sets ground + via `CategorizePosition`, the jump executes, and the fall-damage test is + skipped. +- In air, `FinishDuck` raises the origin by 36 (standing hull 72, duck hull 36) + and `CanUnduck` only succeeds when the floor is at least 36 below; after + unducking, `CategorizePosition` needs it within 2 more units. The unduck + window is therefore a 2-unit band `[36,38]` above the floor. +- The feature presses duck when the standing distance `x` is within + `drop + [0,2]` (where `drop` is the previous command's measured fall), then + releases duck + `IN_JUMP` on the next command when `x` is in `[36,38]`. + It also clears `IN_JUMP` while waiting so the pogo latch is clear. +- `drop` is measured from consecutive predicted origins (not a hard-coded tick + interval). At high fall speeds the 2-unit band can be skipped between + commands; a higher frame rate improves reliability. Best-effort by design. + ## Gotchas / lessons - Never pipe-mask build failures: @@ -171,8 +197,6 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. - **Melee killbot**: 360° silent aim for hostile NPCs inside crowbar/melee range, sorted by distance, only while the crowbar is held. -- **Jumpbug**: automate the HL2 jumpbug movement glitch (trigger conditions - to be defined/tested). - **GUI**: replace/augment the VGUI ISurface menu with an immediate-mode GUI (Dear ImGui or a custom implementation); needs a design grill first. - **Distance weapon spread thesis**: TBD — user will explain. Likely models -- cgit v1.2.3