summaryrefslogtreecommitdiffstats
path: root/src/bones.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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 skeletonsalmonik12 days1-2/+19
|
* ESP: derive skeleton core from hitbox bone paths (fixes unnamed ValveBiped ↵salmonik12 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