summaryrefslogtreecommitdiffstats
path: root/src/bones.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Melee: surface weapon state across maps; reset stale cachessalmonik11 days1-0/+13
| | | | | | | | | | | - Map transitions often leave a non-crowbar weapon active, so the killbot silently does nothing. Log every active-weapon change as a normal `melee: active ... crowbar=0/1` line and toast once suggesting the crowbar. - Recover the crowbar model from the server entity when the client weapon model index is missing/0 after a map change. - Clear the bone cache and aim/silent locks when the local player entity changes (map load/respawn) so stale entity/model data cannot poison melee target selection.
* Logging: per-session file and debug-gated verbose logssalmonik11 days1-5/+5
| | | | | | | | | | | | | | | | - Open /tmp/hl2hake.log once in the library constructor with "w" so each session starts clean, use line buffering, flush each line, and close it via atexit. No more fopen/fclose per message. - Add logd() for verbose diagnostics, enabled only with HL2H_DEBUG=1. - Move ESP/NPC scans, item-prop/item-classification logs, aimbot/silent-aim/ melee/triggerbot/spread details, jumpbug tracking, bone dumps, netvar dumps, cmd-modified and ground-trace noise to logd(). - Keep logf() for lifecycle, config, warnings/errors, GUI open/close, item category/tagging summaries and item-crate detections so crate debugging works without the ESP stream. - Supply crates now respect the max-distance slider (user change), with the stale comment and CONTEXT updated. - Document HL2H_DEBUG=1 in play.sh and CONTEXT.
* Bones: ignore uninitialized/zero bone matricessalmonik12 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
* Bones: head fallback for headcrab black/fastsalmonik12 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
* Aimbot v2: bone checklist and numeric smoothnesssalmonik12 days1-0/+32
| | | | | | | | | | - 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 hitboxsalmonik12 days1-0/+6
| | | | | | | | - 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
* ESP: generic full-bone skeleton for non-humanoid NPCs (headcrabs, crows, ...)salmonik12 days1-2/+11
|
* 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 days1-0/+39
|
* Bones: refresh snapshots every frame (head marker no longer lags)salmonik13 days1-1/+3
|
* Bones: robust head lookup (hitbox name -> head bone) + hitbox dumpsalmonik13 days1-27/+107
|
* Bones: client-side SetupBones/studiohdr groundworksalmonik13 days1-0/+288
- 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