Problem
Two related hitbox issues in ReGameDLL:
numblends == 1 sequences (duck, reload, plant C4): SV_StudioSetupBones never uses blending[0] to select the sub-animation, so bone positions are wrong.
Spawn: stale frame / blending / controller values can leave the head hitbox offset from the model origin until the first animation update.
These combine with ReHLDS lag compensation (see companion ReHLDS issue) to produce incorrect server-side traces.
Proposed fix
animation.cpp: add numblends == 1 branch using blending[0] + StudioSlerpBones
player.cpp Spawn(): reset frame, framerate, blending, controller under #ifdef REGAMEDLL_FIXES
Reference
Working patch (tested on live CS 1.6 server): https://github.com/cspburgija/cs16-server-hitbox-fix
Companion ReHLDS engine changes are required for full lag compensation fix.
Problem
Two related hitbox issues in ReGameDLL:
numblends == 1 sequences (duck, reload, plant C4): SV_StudioSetupBones never uses blending[0] to select the sub-animation, so bone positions are wrong.
Spawn: stale frame / blending / controller values can leave the head hitbox offset from the model origin until the first animation update.
These combine with ReHLDS lag compensation (see companion ReHLDS issue) to produce incorrect server-side traces.
Proposed fix
animation.cpp: add numblends == 1 branch using blending[0] + StudioSlerpBones
player.cpp Spawn(): reset frame, framerate, blending, controller under #ifdef REGAMEDLL_FIXES
Reference
Working patch (tested on live CS 1.6 server): https://github.com/cspburgija/cs16-server-hitbox-fix
Companion ReHLDS engine changes are required for full lag compensation fix.