A_Raise is a code pointer used in the weapon raise animation for all weapons.
A_Raise moves the Y position of the weapon sprite upwards from the bottom of the screen by a small amount each time it is invoked. Once a threshold has been reached, the weapon is judged to have been raised and animation proceeds to the weapon's "ready state".
A_Raise is usually used in a state that is an infinite loop that repeatedly jumps back to itself; the loop terminates when the weapon has finished raising. For this reason it is not possible to fire the weapon until the raise sequence has completed.
A_Raise code pointer appears in the following states in Doom's state table:
|Frame number||Doom internal name||Use|
|4||S_PUNCHUP||weapon raise animation for the Fists|
|12||S_PISTOLUP||weapon raise animation for the Pistol|
|20||S_SGUNUP||weapon raise animation for the Shotgun|
|34||S_DSGUNUP||weapon raise animation for the Super Shotgun|
|51||S_CHAINUP||weapon raise animation for the Chaingun|
|59||S_MISSILEUP||weapon raise animation for the Rocket Launcher|
|70||S_SAWUP||weapon raise animation for the Chainsaw|
|76||S_PLASMAUP||weapon raise animation for the Plasma Gun|
|83||S_BFGUP||weapon raise animation for the BFG 9000|
The following is an example of how to set the
A_Raise code pointer in a Dehacked file:
Pointer 22 (Frame 36) Codep Frame = 83
Or using BEX syntax:
[CODEPTR] Frame 1234 = Raise