summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Jumpbug: automatic duck+jump on damaging fallssalmonik12 days5-18/+279
| | | | | | | | | | | | | | - 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].
* Speed graph: show current speed at the top-rightsalmonik12 days1-0/+6
|
* Speed graph: only sample while in-game and unpausedsalmonik12 days1-0/+9
|
* ESP: HUD speed graph (last 10 s)salmonik12 days4-5/+78
| | | | | | | - 0.1 s sampling, 100-sample ring; horizontal speed of the local player - small (240x64) panel centered in the lower half of the screen - min 0, max auto-scales to the maximum in the 10 s window; shows max value - ESP -> Show speed graph toggle, persisted as speedgraph=1
* Docs: add roadmap including distance weapon spread thesissalmonik12 days1-0/+13
|
* ESP: draw the FOV circle as a stable screen-space ellipsesalmonik12 days1-20/+39
|
* Aimbot/silent aim: settable FOV, FOV circle, target lockingsalmonik12 days4-64/+224
| | | | | | | | | | | - Aimbot -> FOV and Silent aim -> FOV values (1..180 deg from the crosshair) - Aimbot -> Show FOV circle: projects the FOV cone through the engine's world->screen transform (hidden for >=89 deg since the boundary is behind the eye) - target lock: while a feature has a bind and the key is held, the acquired target is kept while it is alive and has a visible selected hitbox point; it only re-acquires when the target dies/leaves visibility or the key is released. With bind = None both features keep selecting the nearest target.
* Bones: ignore uninitialized/zero bone matricessalmonik13 days1-5/+31
| | | | | | | | | | - validate each SetupBones matrix (finite and non-zero world translation); extra/modded and some vanilla bones (Father Grigori) can be uninitialized and were drawing lines to world (0,0,0) - invalid bones are skipped by the skeleton, hitbox centers and aim points; skeleton children connect to the nearest valid ancestor instead of a dead bone - log the per-model invalid bone count with the first bones diagnostics
* Fonts: recreate the VGUI font after menu/map transitionssalmonik13 days1-0/+18
|
* Use one float-precision PI constantsalmonik13 days3-4/+5
| | | | | | - move PI_F into hl2h.h as constexpr 3.14159265f and remove the duplicated long-double-style literals from hl2h.cpp/esp.cpp - extra digits are compile-time only; float operations cost the same
* Fonts: bundle Liberation Sans and register it with fontconfigsalmonik13 days4-10/+180
| | | | | | | | | - ship assets/LiberationSans-Regular.ttf (+ OFL license/README) - at startup, resolve the .so path via dladdr, add assets/...ttf to the current fontconfig config with FcConfigAppFontAddFile, and fall back to the system Liberation path if the asset is missing - font creation tries Liberation Sans, then DejaVu Sans/Noto/Tahoma/Verdana/ Arial, so the overlay still renders on installs without the bundled font
* Bones: head fallback for headcrab black/fastsalmonik13 days1-4/+23
| | | | | | | | - head lookup now accepts head-like bone names (teeth, mouth, jaw, face, eye, front, snout, beak) after the HITGROUP_HEAD check (headcrabblack: HCblack.teeth; headcrab/fast: HCfast.wiggle_front) - final fallback is the model's first hitbox center for non-humanoids with no head information at all
* Binds: allow multiple features to share the same keysalmonik13 days1-9/+2
|
* Docs/cleanup: refresh CONTEXT, update ISurface status, remove dead codesalmonik13 days6-123/+180
| | | | | | | | | | - rewrite CONTEXT.md for the current architecture, interfaces, netvars, menu tree, bones/ESP, aimbot/vischeck, triggerbot, silent aim and ABH - update ISURFACE_STATUS.md: DrawLine slot, current menu/config path, 9 build TUs, current file layout - remove the stale root-level `tree` file - drop unused class_health_off/per-class health scan (NPC HP is not networked), surf_call_slot, and unused scancode helpers
* Config: store in $XDG_CONFIG_HOME/hl2hake/configsalmonik13 days1-4/+23
|
* ABH: silent auto-ABH on the jump ticksalmonik13 days1-3/+21
| | | | | | | | | | - on landing with jump held, face opposite the horizontal velocity and zero forward/side movement for that tick; the HL2 jump speed-bound subtraction then accelerates along the velocity (the classic no-input ABH exploit) - works standalone or with bhop; bhop's auto-strafe still applies in air when enabled - rendered view is restored at FRAME_RENDER_START via the existing hook, so the camera does not flip around
* Silent aim: restore view at FRAME_RENDER_START; preserve movementsalmonik13 days3-4/+52
| | | | | | | | | - hook CHLClient::FrameStageNotify (vtable slot 35) and at FRAME_RENDER_START re-apply the player's original view angles after the engine has consumed the aimed usercmd; this fixes the slow pull with high-RPM weapons and the revolver leaving the view on the target - silent aim also rewrites forwardmove/sidemove so the world-space movement wish vector is unchanged by the temporary aim angles
* Silent aim: exact usercmd angle + fire, restore rendered viewsalmonik13 days4-37/+110
| | | | | | | | | | | | - new top-level Silent aim feature (Active + Bind, default Mouse3) - reuses the shared aim-target selection (bone checklist, nearest selected point, world-only MASK_VISIBLE vischeck) - writes the exact target angle into cmd->viewangles, sets IN_ATTACK for the shot, then immediately restores engine view angles to the player's input view (g_cam_view) so the camera stays where it was - shares the vischeck/bone selection with the aimbot; independent of the aimbot/triggerbot binds - config [silentaim] active/bind
* Triggerbot: crosshair entity trace, hostile-onlysalmonik13 days5-25/+159
| | | | | | | | | - top-level Triggerbot feature (Active + Bind, default Mouse4, rebindable) - trace the crosshair ray from the eye with MASK_SHOT and TRACE_EVERYTHING; the filter ignores the local player - if the first entity hit is a live hostile NPC, press IN_ATTACK and fix the usercmd CRC; walls/props/friendly/neutral/corpses do not trigger - independent of Aimbot; config [triggerbot] active/bind
* Aimbot v3: world-only vischecksalmonik13 days6-42/+179
| | | | | | | | | | - resolve EngineTraceClient003; TraceRay (slot 4) from the eye to the exact selected hitbox/bone point with MASK_VISIBLE - TRACE_WORLD_ONLY filter as requested (static props are not tested, per SDK) - Aimbot -> Vischeck toggle, persisted as vischeck=1; when on, blocked targets are skipped and the next-nearest candidate is tried - target candidates are ranked by angle; on each target the nearest visible selected hitbox point wins
* ESP: add Show box togglesalmonik13 days3-5/+10
|
* Aimbot v2: bone checklist and numeric smoothnesssalmonik13 days4-18/+164
| | | | | | | | | | - Aimbot -> Bones: Head, Torso (chest+stomach), Left/Right arm, Left/Right leg; the aimbot aims at the nearest selected hitbox point on the chosen target (head uses the head hitbox/bone fallback) - Aimbot -> Smoothness: value 1..45 deg/tick, Left/Right in the menu to adjust, persisted as smooth=N; default 5 (previous behaviour) - config: bone_* toggles + smooth under [aimbot] - menu gains a NODE_VALUE type (right-aligned value, Left/Right edit)
* Aimbot: fix eye height (m_vecViewOffset Z, not X); prefer head hitboxsalmonik13 days3-3/+21
| | | | | | | | - g_cam_eye was adding the X component of m_vecViewOffset to Z, leaving the eye ~64 units too low; the aimbot consequently aimed above heads - head_position now prefers the HITGROUP_HEAD hitbox center before falling back to bone names (zombie: headcrab body hitbox) - log the exact head and desired angles for the first few aim ticks
* Aimbot: push smoothed angles to engine view + diagnosticssalmonik13 days2-1/+39
|
* Aimbot: head-only nearest-to-crosshair with bounded smoothingsalmonik13 days4-8/+146
| | | | | | | | | | | - select the hostile NPC whose (approximate) head is closest in angle to the crosshair, then refine to its actual head hitbox/bone - aimbot menu feature (Active + Bind, default Mouse5, rebindable via the existing bind chooser); config [aimbot] active/bind - never snap: move at most 5 degrees per tick toward the target, shortest-path yaw, pitch clamped to +/-89, 0.05 degree deadzone; no overshoot/oscillation - fixes the usercmd CRC after modifying viewangles - skip when dead; ignores friendly/neutral entities (crows, citizens, ...)
* ESP: generic full-bone skeleton for non-humanoid NPCs (headcrabs, crows, ...)salmonik13 days3-3/+14
|
* ESP: include zombie head (headcrab body/head) in humanoid skeletonsalmonik13 days1-2/+19
|
* ESP: derive skeleton core from hitbox bone paths (fixes unnamed ValveBiped ↵salmonik13 days1-21/+42
| | | | bones)
* ESP: restrict skeleton to humanoid core bones (no fingers/toes/headcrab)salmonik13 days3-2/+55
|
* ESP: skeleton ESPsalmonik13 days3-5/+46
| | | | | | | - render parent->child bone links from the SetupBones world matrices (ISurface DrawLine, projected once per bone) - menu option "Show skeleton" under ESP, persisted as skeleton=1 - skeletons use the same hostile/friendly/neutral colours as the boxes
* Bones: refresh snapshots every frame (head marker no longer lags)salmonik13 days1-1/+3
|
* Bones: robust head lookup (hitbox name -> head bone) + hitbox dumpsalmonik13 days3-28/+115
|
* Bones: client-side SetupBones/studiohdr groundworksalmonik13 days4-1/+326
| | | | | | | | | | | - bones.cpp: resolve IClientRenderable via IClientUnknown slot 6, validate it against IVModelInfo GetModel, call SetupBones (slot 16) with engine Time() (slot 14), and parse the studio header (GetStudiomodel, slot 29) for bones/bone names/parents and hitboxes - cache up to 64 entity bone snapshots, refreshed at ~30 Hz - helpers: bone_find/parent/pos, hitbox_center (e.g. "head") - debug probe: HL2H_BONE_DEBUG=1 draws a white marker at each NPC's head hitbox center and logs bone count/head position once
* Menu: start fully collapsed on first opensalmonik13 days1-4/+4
|
* Bhop: uni-directional auto-strafe for all movement directionssalmonik13 days3-5/+73
| | | | | | | | - derive the desired air direction from the raw W/S/A/D input (view-relative) - pick the velocity perpendicular that rotates toward that target, so S/A/D work instead of only forward and A/D no longer spin in circles - no keys: accelerate along the crosshair - menu label now "Uni-directional auto-strafe"; state column moved to x=270
* ESP: menu toggles for neutral/healthbar/healthnum/namesalmonik13 days3-8/+59
|
* ESP: vertical health bar right of the box, HP number beside itsalmonik13 days1-10/+17
|
* ESP working: NPC detection + authoritative server-side healthsalmonik13 days8-60/+477
| | | | | | | | | | | | | - entitylist slot 6 (GetHighestEntityIndex); class name via GetClientNetworkable -> GetClientClass (replaces the unsafe slot-2 call) - HL2 SP NPCs: class CAI_BaseNPC + m_lifeState, since NPC m_iHealth is not networked; model names from VModelInfoClient006 for labels/friend-foe - real HP/HP-max from the listen-server entity (IVEngineServer021 -> PEntityOfEntIndex -> edict->m_pUnk -> GetBaseEntity) using offsets scanned from server.so's datamap; validated against the client model index - world_to_screen via IVDebugOverlay003::ScreenPosition (fixes box drift) - maxs sanity clamp, NPC-only debug logging, neutral colour for wildlife - build.sh: restore -o libhl2hake.so and add server.cpp
* Default map d1_town_01 (intro-less, enemies spawned)salmonik2026-09-148-39/+226
|
* Remove Climb feature; keep bind system for aimbot prep (mouse buttons bindable)salmonik2026-09-123-102/+49
|
* ISurface overlay working: PTEx draw path, -Werror, menu states, bind-driven ↵salmonik2026-09-127-124/+621
| | | | features
* initsalmonik2026-08-3011-0/+1471