How is the head position calculated ?
If I understand correctly, the origin and bounds of the player are recorded in the history. Then, when a historical trace is done, all the potential victims are set back to their historical positions and G_BuildHead is called. So the head position (relative to the historical origin) would be based on the most recent look angles and crouch/prone state, rather than those that existed when the origin was stored. The head and leg entities are used here to make sure hits to these (which might be outside the main bbox) are counted against the target.
But that (while a bit questionable) isn’t the end of the story, because IsHeadShot (where actual damage is given out) doesn’t even do a historical trace :???:
What am I missing here ?