Autoaim
From DoomWiki.org
![]() | This article or section is a stub. Please help the Doom Wiki by adding to it. |
Vertical autoaim[edit]
Since you can't look up or down in Doom or Doom II, the system compensates for you. Accuracy is not affected by the differences in the Z-axis co-ordinates of the player and target.
Horizontal autoaim[edit]
The player's projectile weapons have a limited ability to adjust their direction if the nearest target is not exactly straight ahead. From P_SpawnPlayerMissile in p_mobj.c:
// see which target is to be aimed at an = source->angle; slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); if (!linetarget) { an += 1<<26; slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); if (!linetarget) { an -= 2<<26; slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); } if (!linetarget) { an = source->angle; slope = 0; } }
An angle in the Doom engine is 32 bits, so that 1<<26 = 360° × (226 ÷ 232) ≈ 5.6°.