A_Scream is a code pointer used in the death animation for various monsters.
A_Scream's main purpose is to play the monster's death sound. However, it includes a few minor tweaks:
- Monsters using the zombie death sounds (DSPODTH1, DSPODTH2, DSPODTH3) will randomly pick one of the three. This ensures variation as not all zombies sound the same when they die.
- Imps will randomly play DSBGDTH1 or DSBGDTH2 for the same reason.
- The Cyberdemon and Spider Mastermind play their death sound effects at full volume when they die.
A_Scream code pointer appears in the following states in Doom's state table:
|Frame number||Doom internal name||Use|
|190||S_POSS_DIE2||death animation for the Trooper|
|223||S_SPOS_DIE2||death animation for the Sargeant|
|272||S_VILE_DIE2||death animation for the Archvile|
|347||S_SKEL_DIE3||death animation for the Revenant|
|389||S_FATT_DIE2||death animation for the Mancubus|
|423||S_CPOS_DIE2||death animation for the Chaingun Sargeant|
|458||S_TROO_DIE2||death animation for the Imp|
|491||S_SARG_DIE2||death animation for the Spectre and Demon|
|511||S_HEAD_DIE2||death animation for the Cacodemon|
|543||S_BOSS_DIE2||death animation for the Baron of Hell|
|572||S_BOS2_DIE2||death animation for the Hell Knight|
|596||S_SKULL_DIE2||death animation for the Lost Soul|
|621||S_SPID_DIE1||death animation for the Spiderdemon|
|653||S_BSPI_DIE1||death animation for the Arachnotron|
|692||S_CYBER_DIE2||death animation for the Cyberdemon|
|715||S_PAIN_DIE2||death animation for the Pain Elemental|
|745||S_SSWV_DIE2||death animation for the SS Nazi|
|766||S_COMMKEEN3||death animation for Commander Keen|
|809||S_BEXP2||death animation for the Barrel|
The following is an example of how to set the
A_Scream code pointer in a Dehacked file:
Pointer 21 (Frame 34) Codep Frame = 809
Or using BEX syntax:
[CODEPTR] Frame 1234 = Scream