diff --git a/src/doom/am_map.c b/src/doom/am_map.c index de15c88..fb2cf2a 100644 --- a/src/doom/am_map.c +++ b/src/doom/am_map.c @@ -2337,7 +2337,7 @@ static void AM_drawThings (void) else { // [JN] CRL - ReMooD-inspired monsters coloring. - if (t->target && t->state && t->state->action.acv != A_Look) + if (t->target && t->state && t->state->action.acv != (actionf_v)A_Look) { color = iddt_reds_active; } diff --git a/src/doom/d_think.h b/src/doom/d_think.h index 5e89c8d..bbafead 100644 --- a/src/doom/d_think.h +++ b/src/doom/d_think.h @@ -33,10 +33,7 @@ // we will need to handle the various // action functions cleanly. // -#ifdef __clang__ // [JN] Shut up Clang warning: -#pragma clang diagnostic ignored "-Wstrict-prototypes" -#endif -typedef void (*actionf_v)(); +typedef void (*actionf_v)(void); typedef void (*actionf_p1)( void* ); typedef void (*actionf_p2)( void*, void* ); typedef void (*actionf_p3)( void*, void*, void* ); // [crispy] let pspr action pointers get called from mobj states diff --git a/src/doom/deh_bexptr.c b/src/doom/deh_bexptr.c index baa52ff..5443477 100644 --- a/src/doom/deh_bexptr.c +++ b/src/doom/deh_bexptr.c @@ -35,95 +35,95 @@ typedef struct { } bex_codeptr_t; static const bex_codeptr_t bex_codeptrtable[] = { - {"Light0", {A_Light0}}, - {"WeaponReady", {A_WeaponReady}}, - {"Lower", {A_Lower}}, - {"Raise", {A_Raise}}, - {"Punch", {A_Punch}}, - {"ReFire", {A_ReFire}}, - {"FirePistol", {A_FirePistol}}, - {"Light1", {A_Light1}}, - {"FireShotgun", {A_FireShotgun}}, - {"Light2", {A_Light2}}, - {"FireShotgun2", {A_FireShotgun2}}, - {"CheckReload", {A_CheckReload}}, - {"OpenShotgun2", {A_OpenShotgun2}}, - {"LoadShotgun2", {A_LoadShotgun2}}, - {"CloseShotgun2", {A_CloseShotgun2}}, - {"FireCGun", {A_FireCGun}}, - {"GunFlash", {A_GunFlash}}, - {"FireMissile", {A_FireMissile}}, - {"Saw", {A_Saw}}, - {"FirePlasma", {A_FirePlasma}}, - {"BFGsound", {A_BFGsound}}, - {"FireBFG", {A_FireBFG}}, - {"BFGSpray", {A_BFGSpray}}, - {"Explode", {A_Explode}}, - {"Pain", {A_Pain}}, - {"PlayerScream", {A_PlayerScream}}, - {"Fall", {A_Fall}}, - {"XScream", {A_XScream}}, - {"Look", {A_Look}}, - {"Chase", {A_Chase}}, - {"FaceTarget", {A_FaceTarget}}, - {"PosAttack", {A_PosAttack}}, - {"Scream", {A_Scream}}, - {"SPosAttack", {A_SPosAttack}}, - {"VileChase", {A_VileChase}}, - {"VileStart", {A_VileStart}}, - {"VileTarget", {A_VileTarget}}, - {"VileAttack", {A_VileAttack}}, - {"StartFire", {A_StartFire}}, - {"Fire", {A_Fire}}, - {"FireCrackle", {A_FireCrackle}}, - {"Tracer", {A_Tracer}}, - {"SkelWhoosh", {A_SkelWhoosh}}, - {"SkelFist", {A_SkelFist}}, - {"SkelMissile", {A_SkelMissile}}, - {"FatRaise", {A_FatRaise}}, - {"FatAttack1", {A_FatAttack1}}, - {"FatAttack2", {A_FatAttack2}}, - {"FatAttack3", {A_FatAttack3}}, - {"BossDeath", {A_BossDeath}}, - {"CPosAttack", {A_CPosAttack}}, - {"CPosRefire", {A_CPosRefire}}, - {"TroopAttack", {A_TroopAttack}}, - {"SargAttack", {A_SargAttack}}, - {"HeadAttack", {A_HeadAttack}}, - {"BruisAttack", {A_BruisAttack}}, - {"SkullAttack", {A_SkullAttack}}, - {"Metal", {A_Metal}}, - {"SpidRefire", {A_SpidRefire}}, - {"BabyMetal", {A_BabyMetal}}, - {"BspiAttack", {A_BspiAttack}}, - {"Hoof", {A_Hoof}}, - {"CyberAttack", {A_CyberAttack}}, - {"PainAttack", {A_PainAttack}}, - {"PainDie", {A_PainDie}}, - {"KeenDie", {A_KeenDie}}, - {"BrainPain", {A_BrainPain}}, - {"BrainScream", {A_BrainScream}}, - {"BrainDie", {A_BrainDie}}, - {"BrainAwake", {A_BrainAwake}}, - {"BrainSpit", {A_BrainSpit}}, - {"SpawnSound", {A_SpawnSound}}, - {"SpawnFly", {A_SpawnFly}}, - {"BrainExplode", {A_BrainExplode}}, + {"Light0", {.acp3 = (actionf_p3)A_Light0}}, + {"WeaponReady", {.acp3 = (actionf_p3)A_WeaponReady}}, + {"Lower", {.acp3 = (actionf_p3)A_Lower}}, + {"Raise", {.acp3 = (actionf_p3)A_Raise}}, + {"Punch", {.acp3 = (actionf_p3)A_Punch}}, + {"ReFire", {.acp3 = (actionf_p3)A_ReFire}}, + {"FirePistol", {.acp3 = (actionf_p3)A_FirePistol}}, + {"Light1", {.acp3 = (actionf_p3)A_Light1}}, + {"FireShotgun", {.acp3 = (actionf_p3)A_FireShotgun}}, + {"Light2", {.acp3 = (actionf_p3)A_Light2}}, + {"FireShotgun2", {.acp3 = (actionf_p3)A_FireShotgun2}}, + {"CheckReload", {.acp3 = (actionf_p3)A_CheckReload}}, + {"OpenShotgun2", {.acp3 = (actionf_p3)A_OpenShotgun2}}, + {"LoadShotgun2", {.acp3 = (actionf_p3)A_LoadShotgun2}}, + {"CloseShotgun2", {.acp3 = (actionf_p3)A_CloseShotgun2}}, + {"FireCGun", {.acp3 = (actionf_p3)A_FireCGun}}, + {"GunFlash", {.acp3 = (actionf_p3)A_GunFlash}}, + {"FireMissile", {.acp3 = (actionf_p3)A_FireMissile}}, + {"Saw", {.acp3 = (actionf_p3)A_Saw}}, + {"FirePlasma", {.acp3 = (actionf_p3)A_FirePlasma}}, + {"BFGsound", {.acp3 = (actionf_p3)A_BFGsound}}, + {"FireBFG", {.acp3 = (actionf_p3)A_FireBFG}}, + {"BFGSpray", {.acp1 = (actionf_p1)A_BFGSpray}}, + {"Explode", {.acp1 = (actionf_p1)A_Explode}}, + {"Pain", {.acp1 = (actionf_p1)A_Pain}}, + {"PlayerScream", {.acp1 = (actionf_p1)A_PlayerScream}}, + {"Fall", {.acp1 = (actionf_p1)A_Fall}}, + {"XScream", {.acp1 = (actionf_p1)A_XScream}}, + {"Look", {.acp1 = (actionf_p1)A_Look}}, + {"Chase", {.acp1 = (actionf_p1)A_Chase}}, + {"FaceTarget", {.acp1 = (actionf_p1)A_FaceTarget}}, + {"PosAttack", {.acp1 = (actionf_p1)A_PosAttack}}, + {"Scream", {.acp1 = (actionf_p1)A_Scream}}, + {"SPosAttack", {.acp1 = (actionf_p1)A_SPosAttack}}, + {"VileChase", {.acp1 = (actionf_p1)A_VileChase}}, + {"VileStart", {.acp1 = (actionf_p1)A_VileStart}}, + {"VileTarget", {.acp1 = (actionf_p1)A_VileTarget}}, + {"VileAttack", {.acp1 = (actionf_p1)A_VileAttack}}, + {"StartFire", {.acp1 = (actionf_p1)A_StartFire}}, + {"Fire", {.acp1 = (actionf_p1)A_Fire}}, + {"FireCrackle", {.acp1 = (actionf_p1)A_FireCrackle}}, + {"Tracer", {.acp1 = (actionf_p1)A_Tracer}}, + {"SkelWhoosh", {.acp1 = (actionf_p1)A_SkelWhoosh}}, + {"SkelFist", {.acp1 = (actionf_p1)A_SkelFist}}, + {"SkelMissile", {.acp1 = (actionf_p1)A_SkelMissile}}, + {"FatRaise", {.acp1 = (actionf_p1)A_FatRaise}}, + {"FatAttack1", {.acp1 = (actionf_p1)A_FatAttack1}}, + {"FatAttack2", {.acp1 = (actionf_p1)A_FatAttack2}}, + {"FatAttack3", {.acp1 = (actionf_p1)A_FatAttack3}}, + {"BossDeath", {.acp1 = (actionf_p1)A_BossDeath}}, + {"CPosAttack", {.acp1 = (actionf_p1)A_CPosAttack}}, + {"CPosRefire", {.acp1 = (actionf_p1)A_CPosRefire}}, + {"TroopAttack", {.acp1 = (actionf_p1)A_TroopAttack}}, + {"SargAttack", {.acp1 = (actionf_p1)A_SargAttack}}, + {"HeadAttack", {.acp1 = (actionf_p1)A_HeadAttack}}, + {"BruisAttack", {.acp1 = (actionf_p1)A_BruisAttack}}, + {"SkullAttack", {.acp1 = (actionf_p1)A_SkullAttack}}, + {"Metal", {.acp1 = (actionf_p1)A_Metal}}, + {"SpidRefire", {.acp1 = (actionf_p1)A_SpidRefire}}, + {"BabyMetal", {.acp1 = (actionf_p1)A_BabyMetal}}, + {"BspiAttack", {.acp1 = (actionf_p1)A_BspiAttack}}, + {"Hoof", {.acp1 = (actionf_p1)A_Hoof}}, + {"CyberAttack", {.acp1 = (actionf_p1)A_CyberAttack}}, + {"PainAttack", {.acp1 = (actionf_p1)A_PainAttack}}, + {"PainDie", {.acp1 = (actionf_p1)A_PainDie}}, + {"KeenDie", {.acp1 = (actionf_p1)A_KeenDie}}, + {"BrainPain", {.acp1 = (actionf_p1)A_BrainPain}}, + {"BrainScream", {.acp1 = (actionf_p1)A_BrainScream}}, + {"BrainDie", {.acp1 = (actionf_p1)A_BrainDie}}, + {"BrainAwake", {.acp1 = (actionf_p1)A_BrainAwake}}, + {"BrainSpit", {.acp1 = (actionf_p1)A_BrainSpit}}, + {"SpawnSound", {.acp1 = (actionf_p1)A_SpawnSound}}, + {"SpawnFly", {.acp1 = (actionf_p1)A_SpawnFly}}, + {"BrainExplode", {.acp1 = (actionf_p1)A_BrainExplode}}, // [crispy] additional BOOM and MBF states, sprites and code pointers - {"Stop", {A_Stop}}, - {"Die", {A_Die}}, - {"FireOldBFG", {A_FireOldBFG}}, - {"Detonate", {A_Detonate}}, - {"Mushroom", {A_Mushroom}}, - {"BetaSkullAttack", {A_BetaSkullAttack}}, + {"Stop", {.acp1 = (actionf_p1)A_Stop}}, + {"Die", {.acp1 = (actionf_p1)A_Die}}, + {"FireOldBFG", {.acp3 = (actionf_p3)A_FireOldBFG}}, + {"Detonate", {.acp1 = (actionf_p1)A_Detonate}}, + {"Mushroom", {.acp1 = (actionf_p1)A_Mushroom}}, + {"BetaSkullAttack", {.acp1 = (actionf_p1)A_BetaSkullAttack}}, // [crispy] more MBF code pointers - {"Spawn", {A_Spawn}}, - {"Turn", {A_Turn}}, - {"Face", {A_Face}}, - {"Scratch", {A_Scratch}}, - {"PlaySound", {A_PlaySound}}, - {"RandomJump", {A_RandomJump}}, - {"LineEffect", {A_LineEffect}}, + {"Spawn", {.acp1 = (actionf_p1)A_Spawn}}, + {"Turn", {.acp1 = (actionf_p1)A_Turn}}, + {"Face", {.acp1 = (actionf_p1)A_Face}}, + {"Scratch", {.acp1 = (actionf_p1)A_Scratch}}, + {"PlaySound", {.acp1 = (actionf_p1)A_PlaySound}}, + {"RandomJump", {.acp3 = (actionf_p3)A_RandomJump}}, + {"LineEffect", {.acp1 = (actionf_p1)A_LineEffect}}, {"NULL", {NULL}}, }; diff --git a/src/doom/info.c b/src/doom/info.c index 25d7032..4c54f3e 100644 --- a/src/doom/info.c +++ b/src/doom/info.c @@ -67,98 +67,98 @@ const char *sprnames[] = { state_t states[NUMSTATES] = { {SPR_TROO,0,-1,{NULL},S_NULL,0,0}, // S_NULL - {SPR_SHTG,4,0,{A_Light0},S_NULL,0,0}, // S_LIGHTDONE - {SPR_PUNG,0,1,{A_WeaponReady},S_PUNCH,0,0}, // S_PUNCH - {SPR_PUNG,0,1,{A_Lower},S_PUNCHDOWN,0,0}, // S_PUNCHDOWN - {SPR_PUNG,0,1,{A_Raise},S_PUNCHUP,0,0}, // S_PUNCHUP + {SPR_SHTG,4,0,{.acp3 = (actionf_p3)A_Light0},S_NULL,0,0}, // S_LIGHTDONE + {SPR_PUNG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_PUNCH,0,0}, // S_PUNCH + {SPR_PUNG,0,1,{.acp3 = (actionf_p3)A_Lower},S_PUNCHDOWN,0,0}, // S_PUNCHDOWN + {SPR_PUNG,0,1,{.acp3 = (actionf_p3)A_Raise},S_PUNCHUP,0,0}, // S_PUNCHUP {SPR_PUNG,1,4,{NULL},S_PUNCH2,0,0}, // S_PUNCH1 - {SPR_PUNG,2,4,{A_Punch},S_PUNCH3,0,0}, // S_PUNCH2 + {SPR_PUNG,2,4,{.acp3 = (actionf_p3)A_Punch},S_PUNCH3,0,0}, // S_PUNCH2 {SPR_PUNG,3,5,{NULL},S_PUNCH4,0,0}, // S_PUNCH3 {SPR_PUNG,2,4,{NULL},S_PUNCH5,0,0}, // S_PUNCH4 - {SPR_PUNG,1,5,{A_ReFire},S_PUNCH,0,0}, // S_PUNCH5 - {SPR_PISG,0,1,{A_WeaponReady},S_PISTOL,0,0},// S_PISTOL - {SPR_PISG,0,1,{A_Lower},S_PISTOLDOWN,0,0}, // S_PISTOLDOWN - {SPR_PISG,0,1,{A_Raise},S_PISTOLUP,0,0}, // S_PISTOLUP + {SPR_PUNG,1,5,{.acp3 = (actionf_p3)A_ReFire},S_PUNCH,0,0}, // S_PUNCH5 + {SPR_PISG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_PISTOL,0,0},// S_PISTOL + {SPR_PISG,0,1,{.acp3 = (actionf_p3)A_Lower},S_PISTOLDOWN,0,0}, // S_PISTOLDOWN + {SPR_PISG,0,1,{.acp3 = (actionf_p3)A_Raise},S_PISTOLUP,0,0}, // S_PISTOLUP {SPR_PISG,0,4,{NULL},S_PISTOL2,0,0}, // S_PISTOL1 - {SPR_PISG,1,6,{A_FirePistol},S_PISTOL3,0,0},// S_PISTOL2 + {SPR_PISG,1,6,{.acp3 = (actionf_p3)A_FirePistol},S_PISTOL3,0,0},// S_PISTOL2 {SPR_PISG,2,4,{NULL},S_PISTOL4,0,0}, // S_PISTOL3 - {SPR_PISG,1,5,{A_ReFire},S_PISTOL,0,0}, // S_PISTOL4 - {SPR_PISF,32768,7,{A_Light1},S_LIGHTDONE,0,0}, // S_PISTOLFLASH - {SPR_SHTG,0,1,{A_WeaponReady},S_SGUN,0,0}, // S_SGUN - {SPR_SHTG,0,1,{A_Lower},S_SGUNDOWN,0,0}, // S_SGUNDOWN - {SPR_SHTG,0,1,{A_Raise},S_SGUNUP,0,0}, // S_SGUNUP + {SPR_PISG,1,5,{.acp3 = (actionf_p3)A_ReFire},S_PISTOL,0,0}, // S_PISTOL4 + {SPR_PISF,32768,7,{.acp3 = (actionf_p3)A_Light1},S_LIGHTDONE,0,0}, // S_PISTOLFLASH + {SPR_SHTG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_SGUN,0,0}, // S_SGUN + {SPR_SHTG,0,1,{.acp3 = (actionf_p3)A_Lower},S_SGUNDOWN,0,0}, // S_SGUNDOWN + {SPR_SHTG,0,1,{.acp3 = (actionf_p3)A_Raise},S_SGUNUP,0,0}, // S_SGUNUP {SPR_SHTG,0,3,{NULL},S_SGUN2,0,0}, // S_SGUN1 - {SPR_SHTG,0,7,{A_FireShotgun},S_SGUN3,0,0}, // S_SGUN2 + {SPR_SHTG,0,7,{.acp3 = (actionf_p3)A_FireShotgun},S_SGUN3,0,0}, // S_SGUN2 {SPR_SHTG,1,5,{NULL},S_SGUN4,0,0}, // S_SGUN3 {SPR_SHTG,2,5,{NULL},S_SGUN5,0,0}, // S_SGUN4 {SPR_SHTG,3,4,{NULL},S_SGUN6,0,0}, // S_SGUN5 {SPR_SHTG,2,5,{NULL},S_SGUN7,0,0}, // S_SGUN6 {SPR_SHTG,1,5,{NULL},S_SGUN8,0,0}, // S_SGUN7 {SPR_SHTG,0,3,{NULL},S_SGUN9,0,0}, // S_SGUN8 - {SPR_SHTG,0,7,{A_ReFire},S_SGUN,0,0}, // S_SGUN9 - {SPR_SHTF,32768,4,{A_Light1},S_SGUNFLASH2,0,0}, // S_SGUNFLASH1 - {SPR_SHTF,32769,3,{A_Light2},S_LIGHTDONE,0,0}, // S_SGUNFLASH2 - {SPR_SHT2,0,1,{A_WeaponReady},S_DSGUN,0,0}, // S_DSGUN - {SPR_SHT2,0,1,{A_Lower},S_DSGUNDOWN,0,0}, // S_DSGUNDOWN - {SPR_SHT2,0,1,{A_Raise},S_DSGUNUP,0,0}, // S_DSGUNUP + {SPR_SHTG,0,7,{.acp3 = (actionf_p3)A_ReFire},S_SGUN,0,0}, // S_SGUN9 + {SPR_SHTF,32768,4,{.acp3 = (actionf_p3)A_Light1},S_SGUNFLASH2,0,0}, // S_SGUNFLASH1 + {SPR_SHTF,32769,3,{.acp3 = (actionf_p3)A_Light2},S_LIGHTDONE,0,0}, // S_SGUNFLASH2 + {SPR_SHT2,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_DSGUN,0,0}, // S_DSGUN + {SPR_SHT2,0,1,{.acp3 = (actionf_p3)A_Lower},S_DSGUNDOWN,0,0}, // S_DSGUNDOWN + {SPR_SHT2,0,1,{.acp3 = (actionf_p3)A_Raise},S_DSGUNUP,0,0}, // S_DSGUNUP {SPR_SHT2,0,3,{NULL},S_DSGUN2,0,0}, // S_DSGUN1 // [JN] killough 9/5/98: make SSG lighting flash more uniform along super shotgun: - {SPR_SHT2,32768,7,{A_FireShotgun2},S_DSGUN3}, // S_DSGUN2 + {SPR_SHT2,32768,7,{.acp3 = (actionf_p3)A_FireShotgun2},S_DSGUN3}, // S_DSGUN2 {SPR_SHT2,1,7,{NULL},S_DSGUN4,0,0}, // S_DSGUN3 - {SPR_SHT2,2,7,{A_CheckReload},S_DSGUN5,0,0}, // S_DSGUN4 - {SPR_SHT2,3,7,{A_OpenShotgun2},S_DSGUN6,0,0}, // S_DSGUN5 + {SPR_SHT2,2,7,{.acp3 = (actionf_p3)A_CheckReload},S_DSGUN5,0,0}, // S_DSGUN4 + {SPR_SHT2,3,7,{.acp3 = (actionf_p3)A_OpenShotgun2},S_DSGUN6,0,0}, // S_DSGUN5 {SPR_SHT2,4,7,{NULL},S_DSGUN7,0,0}, // S_DSGUN6 - {SPR_SHT2,5,7,{A_LoadShotgun2},S_DSGUN8,0,0}, // S_DSGUN7 + {SPR_SHT2,5,7,{.acp3 = (actionf_p3)A_LoadShotgun2},S_DSGUN8,0,0}, // S_DSGUN7 {SPR_SHT2,6,6,{NULL},S_DSGUN9,0,0}, // S_DSGUN8 - {SPR_SHT2,7,6,{A_CloseShotgun2},S_DSGUN10,0,0}, // S_DSGUN9 - {SPR_SHT2,0,5,{A_ReFire},S_DSGUN,0,0}, // S_DSGUN10 + {SPR_SHT2,7,6,{.acp3 = (actionf_p3)A_CloseShotgun2},S_DSGUN10,0,0}, // S_DSGUN9 + {SPR_SHT2,0,5,{.acp3 = (actionf_p3)A_ReFire},S_DSGUN,0,0}, // S_DSGUN10 {SPR_SHT2,1,7,{NULL},S_DSNR2,0,0}, // S_DSNR1 {SPR_SHT2,0,3,{NULL},S_DSGUNDOWN,0,0}, // S_DSNR2 // [JN] killough 8/20/98: reduce first SSG flash frame one tic, to fix // Doom II SSG flash bug, in which SSG raises before flash finishes - {SPR_SHT2,32776,4,{A_Light1},S_DSGUNFLASH2,0,0}, // S_DSGUNFLASH1 - {SPR_SHT2,32777,4,{A_Light2},S_LIGHTDONE,0,0}, // S_DSGUNFLASH2 - {SPR_CHGG,0,1,{A_WeaponReady},S_CHAIN,0,0}, // S_CHAIN - {SPR_CHGG,0,1,{A_Lower},S_CHAINDOWN,0,0}, // S_CHAINDOWN - {SPR_CHGG,0,1,{A_Raise},S_CHAINUP,0,0}, // S_CHAINUP - {SPR_CHGG,0,4,{A_FireCGun},S_CHAIN2,0,0}, // S_CHAIN1 - {SPR_CHGG,1,4,{A_FireCGun},S_CHAIN3,0,0}, // S_CHAIN2 - {SPR_CHGG,1,0,{A_ReFire},S_CHAIN,0,0}, // S_CHAIN3 - {SPR_CHGF,32768,5,{A_Light1},S_LIGHTDONE,0,0}, // S_CHAINFLASH1 - {SPR_CHGF,32769,5,{A_Light2},S_LIGHTDONE,0,0}, // S_CHAINFLASH2 - {SPR_MISG,0,1,{A_WeaponReady},S_MISSILE,0,0}, // S_MISSILE - {SPR_MISG,0,1,{A_Lower},S_MISSILEDOWN,0,0}, // S_MISSILEDOWN - {SPR_MISG,0,1,{A_Raise},S_MISSILEUP,0,0}, // S_MISSILEUP - {SPR_MISG,1,8,{A_GunFlash},S_MISSILE2,0,0}, // S_MISSILE1 - {SPR_MISG,1,12,{A_FireMissile},S_MISSILE3,0,0}, // S_MISSILE2 - {SPR_MISG,1,0,{A_ReFire},S_MISSILE,0,0}, // S_MISSILE3 - {SPR_MISF,32768,3,{A_Light1},S_MISSILEFLASH2,0,0}, // S_MISSILEFLASH1 + {SPR_SHT2,32776,4,{.acp3 = (actionf_p3)A_Light1},S_DSGUNFLASH2,0,0}, // S_DSGUNFLASH1 + {SPR_SHT2,32777,4,{.acp3 = (actionf_p3)A_Light2},S_LIGHTDONE,0,0}, // S_DSGUNFLASH2 + {SPR_CHGG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_CHAIN,0,0}, // S_CHAIN + {SPR_CHGG,0,1,{.acp3 = (actionf_p3)A_Lower},S_CHAINDOWN,0,0}, // S_CHAINDOWN + {SPR_CHGG,0,1,{.acp3 = (actionf_p3)A_Raise},S_CHAINUP,0,0}, // S_CHAINUP + {SPR_CHGG,0,4,{.acp3 = (actionf_p3)A_FireCGun},S_CHAIN2,0,0}, // S_CHAIN1 + {SPR_CHGG,1,4,{.acp3 = (actionf_p3)A_FireCGun},S_CHAIN3,0,0}, // S_CHAIN2 + {SPR_CHGG,1,0,{.acp3 = (actionf_p3)A_ReFire},S_CHAIN,0,0}, // S_CHAIN3 + {SPR_CHGF,32768,5,{.acp3 = (actionf_p3)A_Light1},S_LIGHTDONE,0,0}, // S_CHAINFLASH1 + {SPR_CHGF,32769,5,{.acp3 = (actionf_p3)A_Light2},S_LIGHTDONE,0,0}, // S_CHAINFLASH2 + {SPR_MISG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_MISSILE,0,0}, // S_MISSILE + {SPR_MISG,0,1,{.acp3 = (actionf_p3)A_Lower},S_MISSILEDOWN,0,0}, // S_MISSILEDOWN + {SPR_MISG,0,1,{.acp3 = (actionf_p3)A_Raise},S_MISSILEUP,0,0}, // S_MISSILEUP + {SPR_MISG,1,8,{.acp3 = (actionf_p3)A_GunFlash},S_MISSILE2,0,0}, // S_MISSILE1 + {SPR_MISG,1,12,{.acp3 = (actionf_p3)A_FireMissile},S_MISSILE3,0,0}, // S_MISSILE2 + {SPR_MISG,1,0,{.acp3 = (actionf_p3)A_ReFire},S_MISSILE,0,0}, // S_MISSILE3 + {SPR_MISF,32768,3,{.acp3 = (actionf_p3)A_Light1},S_MISSILEFLASH2,0,0}, // S_MISSILEFLASH1 {SPR_MISF,32769,4,{NULL},S_MISSILEFLASH3,0,0}, // S_MISSILEFLASH2 - {SPR_MISF,32770,4,{A_Light2},S_MISSILEFLASH4,0,0}, // S_MISSILEFLASH3 - {SPR_MISF,32771,4,{A_Light2},S_LIGHTDONE,0,0}, // S_MISSILEFLASH4 - {SPR_SAWG,2,4,{A_WeaponReady},S_SAWB,0,0}, // S_SAW - {SPR_SAWG,3,4,{A_WeaponReady},S_SAW,0,0}, // S_SAWB - {SPR_SAWG,2,1,{A_Lower},S_SAWDOWN,0,0}, // S_SAWDOWN - {SPR_SAWG,2,1,{A_Raise},S_SAWUP,0,0}, // S_SAWUP - {SPR_SAWG,0,4,{A_Saw},S_SAW2,0,0}, // S_SAW1 - {SPR_SAWG,1,4,{A_Saw},S_SAW3,0,0}, // S_SAW2 - {SPR_SAWG,1,0,{A_ReFire},S_SAW,0,0}, // S_SAW3 - {SPR_PLSG,0,1,{A_WeaponReady},S_PLASMA,0,0}, // S_PLASMA - {SPR_PLSG,0,1,{A_Lower},S_PLASMADOWN,0,0}, // S_PLASMADOWN - {SPR_PLSG,0,1,{A_Raise},S_PLASMAUP,0,0}, // S_PLASMAUP - {SPR_PLSG,0,3,{A_FirePlasma},S_PLASMA2,0,0}, // S_PLASMA1 - {SPR_PLSG,1,20,{A_ReFire},S_PLASMA,0,0}, // S_PLASMA2 - {SPR_PLSF,32768,4,{A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH1 - {SPR_PLSF,32769,4,{A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH2 - {SPR_BFGG,0,1,{A_WeaponReady},S_BFG,0,0}, // S_BFG - {SPR_BFGG,0,1,{A_Lower},S_BFGDOWN,0,0}, // S_BFGDOWN - {SPR_BFGG,0,1,{A_Raise},S_BFGUP,0,0}, // S_BFGUP - {SPR_BFGG,0,20,{A_BFGsound},S_BFG2,0,0}, // S_BFG1 - {SPR_BFGG,1,10,{A_GunFlash},S_BFG3,0,0}, // S_BFG2 - {SPR_BFGG,1,10,{A_FireBFG},S_BFG4,0,0}, // S_BFG3 - {SPR_BFGG,1,20,{A_ReFire},S_BFG,0,0}, // S_BFG4 - {SPR_BFGF,32768,11,{A_Light1},S_BFGFLASH2,0,0}, // S_BFGFLASH1 - {SPR_BFGF,32769,6,{A_Light2},S_LIGHTDONE,0,0}, // S_BFGFLASH2 + {SPR_MISF,32770,4,{.acp3 = (actionf_p3)A_Light2},S_MISSILEFLASH4,0,0}, // S_MISSILEFLASH3 + {SPR_MISF,32771,4,{.acp3 = (actionf_p3)A_Light2},S_LIGHTDONE,0,0}, // S_MISSILEFLASH4 + {SPR_SAWG,2,4,{.acp3 = (actionf_p3)A_WeaponReady},S_SAWB,0,0}, // S_SAW + {SPR_SAWG,3,4,{.acp3 = (actionf_p3)A_WeaponReady},S_SAW,0,0}, // S_SAWB + {SPR_SAWG,2,1,{.acp3 = (actionf_p3)A_Lower},S_SAWDOWN,0,0}, // S_SAWDOWN + {SPR_SAWG,2,1,{.acp3 = (actionf_p3)A_Raise},S_SAWUP,0,0}, // S_SAWUP + {SPR_SAWG,0,4,{.acp3 = (actionf_p3)A_Saw},S_SAW2,0,0}, // S_SAW1 + {SPR_SAWG,1,4,{.acp3 = (actionf_p3)A_Saw},S_SAW3,0,0}, // S_SAW2 + {SPR_SAWG,1,0,{.acp3 = (actionf_p3)A_ReFire},S_SAW,0,0}, // S_SAW3 + {SPR_PLSG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_PLASMA,0,0}, // S_PLASMA + {SPR_PLSG,0,1,{.acp3 = (actionf_p3)A_Lower},S_PLASMADOWN,0,0}, // S_PLASMADOWN + {SPR_PLSG,0,1,{.acp3 = (actionf_p3)A_Raise},S_PLASMAUP,0,0}, // S_PLASMAUP + {SPR_PLSG,0,3,{.acp3 = (actionf_p3)A_FirePlasma},S_PLASMA2,0,0}, // S_PLASMA1 + {SPR_PLSG,1,20,{.acp3 = (actionf_p3)A_ReFire},S_PLASMA,0,0}, // S_PLASMA2 + {SPR_PLSF,32768,4,{.acp3 = (actionf_p3)A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH1 + {SPR_PLSF,32769,4,{.acp3 = (actionf_p3)A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH2 + {SPR_BFGG,0,1,{.acp3 = (actionf_p3)A_WeaponReady},S_BFG,0,0}, // S_BFG + {SPR_BFGG,0,1,{.acp3 = (actionf_p3)A_Lower},S_BFGDOWN,0,0}, // S_BFGDOWN + {SPR_BFGG,0,1,{.acp3 = (actionf_p3)A_Raise},S_BFGUP,0,0}, // S_BFGUP + {SPR_BFGG,0,20,{.acp3 = (actionf_p3)A_BFGsound},S_BFG2,0,0}, // S_BFG1 + {SPR_BFGG,1,10,{.acp3 = (actionf_p3)A_GunFlash},S_BFG3,0,0}, // S_BFG2 + {SPR_BFGG,1,10,{.acp3 = (actionf_p3)A_FireBFG},S_BFG4,0,0}, // S_BFG3 + {SPR_BFGG,1,20,{.acp3 = (actionf_p3)A_ReFire},S_BFG,0,0}, // S_BFG4 + {SPR_BFGF,32768,11,{.acp3 = (actionf_p3)A_Light1},S_BFGFLASH2,0,0}, // S_BFGFLASH1 + {SPR_BFGF,32769,6,{.acp3 = (actionf_p3)A_Light2},S_LIGHTDONE,0,0}, // S_BFGFLASH2 {SPR_BLUD,2,8,{NULL},S_BLOOD2,0,0}, // S_BLOOD1 {SPR_BLUD,1,8,{NULL},S_BLOOD3,0,0}, // S_BLOOD2 {SPR_BLUD,0,8,{NULL},S_NULL,0,0}, // S_BLOOD3 @@ -188,7 +188,7 @@ state_t states[NUMSTATES] = { {SPR_BFS1,32769,4,{NULL},S_BFGSHOT,0,0}, // S_BFGSHOT2 {SPR_BFE1,32768,8,{NULL},S_BFGLAND2,0,0}, // S_BFGLAND {SPR_BFE1,32769,8,{NULL},S_BFGLAND3,0,0}, // S_BFGLAND2 - {SPR_BFE1,32770,8,{A_BFGSpray},S_BFGLAND4,0,0}, // S_BFGLAND3 + {SPR_BFE1,32770,8,{.acp1 = (actionf_p1)A_BFGSpray},S_BFGLAND4,0,0}, // S_BFGLAND3 {SPR_BFE1,32771,8,{NULL},S_BFGLAND5,0,0}, // S_BFGLAND4 {SPR_BFE1,32772,8,{NULL},S_BFGLAND6,0,0}, // S_BFGLAND5 {SPR_BFE1,32773,8,{NULL},S_NULL,0,0}, // S_BFGLAND6 @@ -196,7 +196,7 @@ state_t states[NUMSTATES] = { {SPR_BFE2,32769,8,{NULL},S_BFGEXP3,0,0}, // S_BFGEXP2 {SPR_BFE2,32770,8,{NULL},S_BFGEXP4,0,0}, // S_BFGEXP3 {SPR_BFE2,32771,8,{NULL},S_NULL,0,0}, // S_BFGEXP4 - {SPR_MISL,32769,8,{A_Explode},S_EXPLODE2,0,0}, // S_EXPLODE1 + {SPR_MISL,32769,8,{.acp1 = (actionf_p1)A_Explode},S_EXPLODE2,0,0}, // S_EXPLODE1 {SPR_MISL,32770,6,{NULL},S_EXPLODE3,0,0}, // S_EXPLODE2 {SPR_MISL,32771,4,{NULL},S_NULL,0,0}, // S_EXPLODE3 {SPR_TFOG,32768,6,{NULL},S_TFOG01,0,0}, // S_TFOG @@ -226,47 +226,47 @@ state_t states[NUMSTATES] = { {SPR_PLAY,4,12,{NULL},S_PLAY,0,0}, // S_PLAY_ATK1 {SPR_PLAY,32773,6,{NULL},S_PLAY_ATK1,0,0}, // S_PLAY_ATK2 {SPR_PLAY,6,4,{NULL},S_PLAY_PAIN2,0,0}, // S_PLAY_PAIN - {SPR_PLAY,6,4,{A_Pain},S_PLAY,0,0}, // S_PLAY_PAIN2 + {SPR_PLAY,6,4,{.acp1 = (actionf_p1)A_Pain},S_PLAY,0,0}, // S_PLAY_PAIN2 {SPR_PLAY,7,10,{NULL},S_PLAY_DIE2,0,0}, // S_PLAY_DIE1 - {SPR_PLAY,8,10,{A_PlayerScream},S_PLAY_DIE3,0,0}, // S_PLAY_DIE2 - {SPR_PLAY,9,10,{A_Fall},S_PLAY_DIE4,0,0}, // S_PLAY_DIE3 + {SPR_PLAY,8,10,{.acp1 = (actionf_p1)A_PlayerScream},S_PLAY_DIE3,0,0}, // S_PLAY_DIE2 + {SPR_PLAY,9,10,{.acp1 = (actionf_p1)A_Fall},S_PLAY_DIE4,0,0}, // S_PLAY_DIE3 {SPR_PLAY,10,10,{NULL},S_PLAY_DIE5,0,0}, // S_PLAY_DIE4 {SPR_PLAY,11,10,{NULL},S_PLAY_DIE6,0,0}, // S_PLAY_DIE5 {SPR_PLAY,12,10,{NULL},S_PLAY_DIE7,0,0}, // S_PLAY_DIE6 {SPR_PLAY,13,-1,{NULL},S_NULL,0,0}, // S_PLAY_DIE7 {SPR_PLAY,14,5,{NULL},S_PLAY_XDIE2,0,0}, // S_PLAY_XDIE1 - {SPR_PLAY,15,5,{A_XScream},S_PLAY_XDIE3,0,0}, // S_PLAY_XDIE2 - {SPR_PLAY,16,5,{A_Fall},S_PLAY_XDIE4,0,0}, // S_PLAY_XDIE3 + {SPR_PLAY,15,5,{.acp1 = (actionf_p1)A_XScream},S_PLAY_XDIE3,0,0}, // S_PLAY_XDIE2 + {SPR_PLAY,16,5,{.acp1 = (actionf_p1)A_Fall},S_PLAY_XDIE4,0,0}, // S_PLAY_XDIE3 {SPR_PLAY,17,5,{NULL},S_PLAY_XDIE5,0,0}, // S_PLAY_XDIE4 {SPR_PLAY,18,5,{NULL},S_PLAY_XDIE6,0,0}, // S_PLAY_XDIE5 {SPR_PLAY,19,5,{NULL},S_PLAY_XDIE7,0,0}, // S_PLAY_XDIE6 {SPR_PLAY,20,5,{NULL},S_PLAY_XDIE8,0,0}, // S_PLAY_XDIE7 {SPR_PLAY,21,5,{NULL},S_PLAY_XDIE9,0,0}, // S_PLAY_XDIE8 {SPR_PLAY,22,-1,{NULL},S_NULL,0,0}, // S_PLAY_XDIE9 - {SPR_POSS,0,10,{A_Look},S_POSS_STND2,0,0}, // S_POSS_STND - {SPR_POSS,1,10,{A_Look},S_POSS_STND,0,0}, // S_POSS_STND2 - {SPR_POSS,0,4,{A_Chase},S_POSS_RUN2,0,0}, // S_POSS_RUN1 - {SPR_POSS,0,4,{A_Chase},S_POSS_RUN3,0,0}, // S_POSS_RUN2 - {SPR_POSS,1,4,{A_Chase},S_POSS_RUN4,0,0}, // S_POSS_RUN3 - {SPR_POSS,1,4,{A_Chase},S_POSS_RUN5,0,0}, // S_POSS_RUN4 - {SPR_POSS,2,4,{A_Chase},S_POSS_RUN6,0,0}, // S_POSS_RUN5 - {SPR_POSS,2,4,{A_Chase},S_POSS_RUN7,0,0}, // S_POSS_RUN6 - {SPR_POSS,3,4,{A_Chase},S_POSS_RUN8,0,0}, // S_POSS_RUN7 - {SPR_POSS,3,4,{A_Chase},S_POSS_RUN1,0,0}, // S_POSS_RUN8 - {SPR_POSS,4,10,{A_FaceTarget},S_POSS_ATK2,0,0}, // S_POSS_ATK1 + {SPR_POSS,0,10,{.acp1 = (actionf_p1)A_Look},S_POSS_STND2,0,0}, // S_POSS_STND + {SPR_POSS,1,10,{.acp1 = (actionf_p1)A_Look},S_POSS_STND,0,0}, // S_POSS_STND2 + {SPR_POSS,0,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN2,0,0}, // S_POSS_RUN1 + {SPR_POSS,0,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN3,0,0}, // S_POSS_RUN2 + {SPR_POSS,1,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN4,0,0}, // S_POSS_RUN3 + {SPR_POSS,1,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN5,0,0}, // S_POSS_RUN4 + {SPR_POSS,2,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN6,0,0}, // S_POSS_RUN5 + {SPR_POSS,2,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN7,0,0}, // S_POSS_RUN6 + {SPR_POSS,3,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN8,0,0}, // S_POSS_RUN7 + {SPR_POSS,3,4,{.acp1 = (actionf_p1)A_Chase},S_POSS_RUN1,0,0}, // S_POSS_RUN8 + {SPR_POSS,4,10,{.acp1 = (actionf_p1)A_FaceTarget},S_POSS_ATK2,0,0}, // S_POSS_ATK1 // [crispy] render Zombiman's firing frames full-bright - {SPR_POSS,5|0x8000,8,{A_PosAttack},S_POSS_ATK3,0,0}, // S_POSS_ATK2 + {SPR_POSS,5|0x8000,8,{.acp1 = (actionf_p1)A_PosAttack},S_POSS_ATK3,0,0}, // S_POSS_ATK2 {SPR_POSS,4,8,{NULL},S_POSS_RUN1,0,0}, // S_POSS_ATK3 {SPR_POSS,6,3,{NULL},S_POSS_PAIN2,0,0}, // S_POSS_PAIN - {SPR_POSS,6,3,{A_Pain},S_POSS_RUN1,0,0}, // S_POSS_PAIN2 + {SPR_POSS,6,3,{.acp1 = (actionf_p1)A_Pain},S_POSS_RUN1,0,0}, // S_POSS_PAIN2 {SPR_POSS,7,5,{NULL},S_POSS_DIE2,0,0}, // S_POSS_DIE1 - {SPR_POSS,8,5,{A_Scream},S_POSS_DIE3,0,0}, // S_POSS_DIE2 - {SPR_POSS,9,5,{A_Fall},S_POSS_DIE4,0,0}, // S_POSS_DIE3 + {SPR_POSS,8,5,{.acp1 = (actionf_p1)A_Scream},S_POSS_DIE3,0,0}, // S_POSS_DIE2 + {SPR_POSS,9,5,{.acp1 = (actionf_p1)A_Fall},S_POSS_DIE4,0,0}, // S_POSS_DIE3 {SPR_POSS,10,5,{NULL},S_POSS_DIE5,0,0}, // S_POSS_DIE4 {SPR_POSS,11,-1,{NULL},S_NULL,0,0}, // S_POSS_DIE5 {SPR_POSS,12,5,{NULL},S_POSS_XDIE2,0,0}, // S_POSS_XDIE1 - {SPR_POSS,13,5,{A_XScream},S_POSS_XDIE3,0,0}, // S_POSS_XDIE2 - {SPR_POSS,14,5,{A_Fall},S_POSS_XDIE4,0,0}, // S_POSS_XDIE3 + {SPR_POSS,13,5,{.acp1 = (actionf_p1)A_XScream},S_POSS_XDIE3,0,0}, // S_POSS_XDIE2 + {SPR_POSS,14,5,{.acp1 = (actionf_p1)A_Fall},S_POSS_XDIE4,0,0}, // S_POSS_XDIE3 {SPR_POSS,15,5,{NULL},S_POSS_XDIE5,0,0}, // S_POSS_XDIE4 {SPR_POSS,16,5,{NULL},S_POSS_XDIE6,0,0}, // S_POSS_XDIE5 {SPR_POSS,17,5,{NULL},S_POSS_XDIE7,0,0}, // S_POSS_XDIE6 @@ -277,29 +277,29 @@ state_t states[NUMSTATES] = { {SPR_POSS,9,5,{NULL},S_POSS_RAISE3,0,0}, // S_POSS_RAISE2 {SPR_POSS,8,5,{NULL},S_POSS_RAISE4,0,0}, // S_POSS_RAISE3 {SPR_POSS,7,5,{NULL},S_POSS_RUN1,0,0}, // S_POSS_RAISE4 - {SPR_SPOS,0,10,{A_Look},S_SPOS_STND2,0,0}, // S_SPOS_STND - {SPR_SPOS,1,10,{A_Look},S_SPOS_STND,0,0}, // S_SPOS_STND2 - {SPR_SPOS,0,3,{A_Chase},S_SPOS_RUN2,0,0}, // S_SPOS_RUN1 - {SPR_SPOS,0,3,{A_Chase},S_SPOS_RUN3,0,0}, // S_SPOS_RUN2 - {SPR_SPOS,1,3,{A_Chase},S_SPOS_RUN4,0,0}, // S_SPOS_RUN3 - {SPR_SPOS,1,3,{A_Chase},S_SPOS_RUN5,0,0}, // S_SPOS_RUN4 - {SPR_SPOS,2,3,{A_Chase},S_SPOS_RUN6,0,0}, // S_SPOS_RUN5 - {SPR_SPOS,2,3,{A_Chase},S_SPOS_RUN7,0,0}, // S_SPOS_RUN6 - {SPR_SPOS,3,3,{A_Chase},S_SPOS_RUN8,0,0}, // S_SPOS_RUN7 - {SPR_SPOS,3,3,{A_Chase},S_SPOS_RUN1,0,0}, // S_SPOS_RUN8 - {SPR_SPOS,4,10,{A_FaceTarget},S_SPOS_ATK2,0,0}, // S_SPOS_ATK1 - {SPR_SPOS,32773,10,{A_SPosAttack},S_SPOS_ATK3,0,0}, // S_SPOS_ATK2 + {SPR_SPOS,0,10,{.acp1 = (actionf_p1)A_Look},S_SPOS_STND2,0,0}, // S_SPOS_STND + {SPR_SPOS,1,10,{.acp1 = (actionf_p1)A_Look},S_SPOS_STND,0,0}, // S_SPOS_STND2 + {SPR_SPOS,0,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN2,0,0}, // S_SPOS_RUN1 + {SPR_SPOS,0,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN3,0,0}, // S_SPOS_RUN2 + {SPR_SPOS,1,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN4,0,0}, // S_SPOS_RUN3 + {SPR_SPOS,1,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN5,0,0}, // S_SPOS_RUN4 + {SPR_SPOS,2,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN6,0,0}, // S_SPOS_RUN5 + {SPR_SPOS,2,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN7,0,0}, // S_SPOS_RUN6 + {SPR_SPOS,3,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN8,0,0}, // S_SPOS_RUN7 + {SPR_SPOS,3,3,{.acp1 = (actionf_p1)A_Chase},S_SPOS_RUN1,0,0}, // S_SPOS_RUN8 + {SPR_SPOS,4,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SPOS_ATK2,0,0}, // S_SPOS_ATK1 + {SPR_SPOS,32773,10,{.acp1 = (actionf_p1)A_SPosAttack},S_SPOS_ATK3,0,0}, // S_SPOS_ATK2 {SPR_SPOS,4,10,{NULL},S_SPOS_RUN1,0,0}, // S_SPOS_ATK3 {SPR_SPOS,6,3,{NULL},S_SPOS_PAIN2,0,0}, // S_SPOS_PAIN - {SPR_SPOS,6,3,{A_Pain},S_SPOS_RUN1,0,0}, // S_SPOS_PAIN2 + {SPR_SPOS,6,3,{.acp1 = (actionf_p1)A_Pain},S_SPOS_RUN1,0,0}, // S_SPOS_PAIN2 {SPR_SPOS,7,5,{NULL},S_SPOS_DIE2,0,0}, // S_SPOS_DIE1 - {SPR_SPOS,8,5,{A_Scream},S_SPOS_DIE3,0,0}, // S_SPOS_DIE2 - {SPR_SPOS,9,5,{A_Fall},S_SPOS_DIE4,0,0}, // S_SPOS_DIE3 + {SPR_SPOS,8,5,{.acp1 = (actionf_p1)A_Scream},S_SPOS_DIE3,0,0}, // S_SPOS_DIE2 + {SPR_SPOS,9,5,{.acp1 = (actionf_p1)A_Fall},S_SPOS_DIE4,0,0}, // S_SPOS_DIE3 {SPR_SPOS,10,5,{NULL},S_SPOS_DIE5,0,0}, // S_SPOS_DIE4 {SPR_SPOS,11,-1,{NULL},S_NULL,0,0}, // S_SPOS_DIE5 {SPR_SPOS,12,5,{NULL},S_SPOS_XDIE2,0,0}, // S_SPOS_XDIE1 - {SPR_SPOS,13,5,{A_XScream},S_SPOS_XDIE3,0,0}, // S_SPOS_XDIE2 - {SPR_SPOS,14,5,{A_Fall},S_SPOS_XDIE4,0,0}, // S_SPOS_XDIE3 + {SPR_SPOS,13,5,{.acp1 = (actionf_p1)A_XScream},S_SPOS_XDIE3,0,0}, // S_SPOS_XDIE2 + {SPR_SPOS,14,5,{.acp1 = (actionf_p1)A_Fall},S_SPOS_XDIE4,0,0}, // S_SPOS_XDIE3 {SPR_SPOS,15,5,{NULL},S_SPOS_XDIE5,0,0}, // S_SPOS_XDIE4 {SPR_SPOS,16,5,{NULL},S_SPOS_XDIE6,0,0}, // S_SPOS_XDIE5 {SPR_SPOS,17,5,{NULL},S_SPOS_XDIE7,0,0}, // S_SPOS_XDIE6 @@ -311,39 +311,39 @@ state_t states[NUMSTATES] = { {SPR_SPOS,9,5,{NULL},S_SPOS_RAISE4,0,0}, // S_SPOS_RAISE3 {SPR_SPOS,8,5,{NULL},S_SPOS_RAISE5,0,0}, // S_SPOS_RAISE4 {SPR_SPOS,7,5,{NULL},S_SPOS_RUN1,0,0}, // S_SPOS_RAISE5 - {SPR_VILE,0,10,{A_Look},S_VILE_STND2,0,0}, // S_VILE_STND - {SPR_VILE,1,10,{A_Look},S_VILE_STND,0,0}, // S_VILE_STND2 - {SPR_VILE,0,2,{A_VileChase},S_VILE_RUN2,0,0}, // S_VILE_RUN1 - {SPR_VILE,0,2,{A_VileChase},S_VILE_RUN3,0,0}, // S_VILE_RUN2 - {SPR_VILE,1,2,{A_VileChase},S_VILE_RUN4,0,0}, // S_VILE_RUN3 - {SPR_VILE,1,2,{A_VileChase},S_VILE_RUN5,0,0}, // S_VILE_RUN4 - {SPR_VILE,2,2,{A_VileChase},S_VILE_RUN6,0,0}, // S_VILE_RUN5 - {SPR_VILE,2,2,{A_VileChase},S_VILE_RUN7,0,0}, // S_VILE_RUN6 - {SPR_VILE,3,2,{A_VileChase},S_VILE_RUN8,0,0}, // S_VILE_RUN7 - {SPR_VILE,3,2,{A_VileChase},S_VILE_RUN9,0,0}, // S_VILE_RUN8 - {SPR_VILE,4,2,{A_VileChase},S_VILE_RUN10,0,0}, // S_VILE_RUN9 - {SPR_VILE,4,2,{A_VileChase},S_VILE_RUN11,0,0}, // S_VILE_RUN10 - {SPR_VILE,5,2,{A_VileChase},S_VILE_RUN12,0,0}, // S_VILE_RUN11 - {SPR_VILE,5,2,{A_VileChase},S_VILE_RUN1,0,0}, // S_VILE_RUN12 - {SPR_VILE,32774,0,{A_VileStart},S_VILE_ATK2,0,0}, // S_VILE_ATK1 - {SPR_VILE,32774,10,{A_FaceTarget},S_VILE_ATK3,0,0}, // S_VILE_ATK2 - {SPR_VILE,32775,8,{A_VileTarget},S_VILE_ATK4,0,0}, // S_VILE_ATK3 - {SPR_VILE,32776,8,{A_FaceTarget},S_VILE_ATK5,0,0}, // S_VILE_ATK4 - {SPR_VILE,32777,8,{A_FaceTarget},S_VILE_ATK6,0,0}, // S_VILE_ATK5 - {SPR_VILE,32778,8,{A_FaceTarget},S_VILE_ATK7,0,0}, // S_VILE_ATK6 - {SPR_VILE,32779,8,{A_FaceTarget},S_VILE_ATK8,0,0}, // S_VILE_ATK7 - {SPR_VILE,32780,8,{A_FaceTarget},S_VILE_ATK9,0,0}, // S_VILE_ATK8 - {SPR_VILE,32781,8,{A_FaceTarget},S_VILE_ATK10,0,0}, // S_VILE_ATK9 - {SPR_VILE,32782,8,{A_VileAttack},S_VILE_ATK11,0,0}, // S_VILE_ATK10 + {SPR_VILE,0,10,{.acp1 = (actionf_p1)A_Look},S_VILE_STND2,0,0}, // S_VILE_STND + {SPR_VILE,1,10,{.acp1 = (actionf_p1)A_Look},S_VILE_STND,0,0}, // S_VILE_STND2 + {SPR_VILE,0,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN2,0,0}, // S_VILE_RUN1 + {SPR_VILE,0,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN3,0,0}, // S_VILE_RUN2 + {SPR_VILE,1,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN4,0,0}, // S_VILE_RUN3 + {SPR_VILE,1,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN5,0,0}, // S_VILE_RUN4 + {SPR_VILE,2,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN6,0,0}, // S_VILE_RUN5 + {SPR_VILE,2,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN7,0,0}, // S_VILE_RUN6 + {SPR_VILE,3,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN8,0,0}, // S_VILE_RUN7 + {SPR_VILE,3,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN9,0,0}, // S_VILE_RUN8 + {SPR_VILE,4,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN10,0,0}, // S_VILE_RUN9 + {SPR_VILE,4,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN11,0,0}, // S_VILE_RUN10 + {SPR_VILE,5,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN12,0,0}, // S_VILE_RUN11 + {SPR_VILE,5,2,{.acp1 = (actionf_p1)A_VileChase},S_VILE_RUN1,0,0}, // S_VILE_RUN12 + {SPR_VILE,32774,0,{.acp1 = (actionf_p1)A_VileStart},S_VILE_ATK2,0,0}, // S_VILE_ATK1 + {SPR_VILE,32774,10,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK3,0,0}, // S_VILE_ATK2 + {SPR_VILE,32775,8,{.acp1 = (actionf_p1)A_VileTarget},S_VILE_ATK4,0,0}, // S_VILE_ATK3 + {SPR_VILE,32776,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK5,0,0}, // S_VILE_ATK4 + {SPR_VILE,32777,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK6,0,0}, // S_VILE_ATK5 + {SPR_VILE,32778,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK7,0,0}, // S_VILE_ATK6 + {SPR_VILE,32779,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK8,0,0}, // S_VILE_ATK7 + {SPR_VILE,32780,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK9,0,0}, // S_VILE_ATK8 + {SPR_VILE,32781,8,{.acp1 = (actionf_p1)A_FaceTarget},S_VILE_ATK10,0,0}, // S_VILE_ATK9 + {SPR_VILE,32782,8,{.acp1 = (actionf_p1)A_VileAttack},S_VILE_ATK11,0,0}, // S_VILE_ATK10 {SPR_VILE,32783,20,{NULL},S_VILE_RUN1,0,0}, // S_VILE_ATK11 {SPR_VILE,32794,10,{NULL},S_VILE_HEAL2,0,0}, // S_VILE_HEAL1 {SPR_VILE,32795,10,{NULL},S_VILE_HEAL3,0,0}, // S_VILE_HEAL2 {SPR_VILE,32796,10,{NULL},S_VILE_RUN1,0,0}, // S_VILE_HEAL3 {SPR_VILE,16,5,{NULL},S_VILE_PAIN2,0,0}, // S_VILE_PAIN - {SPR_VILE,16,5,{A_Pain},S_VILE_RUN1,0,0}, // S_VILE_PAIN2 + {SPR_VILE,16,5,{.acp1 = (actionf_p1)A_Pain},S_VILE_RUN1,0,0}, // S_VILE_PAIN2 {SPR_VILE,16,7,{NULL},S_VILE_DIE2,0,0}, // S_VILE_DIE1 - {SPR_VILE,17,7,{A_Scream},S_VILE_DIE3,0,0}, // S_VILE_DIE2 - {SPR_VILE,18,7,{A_Fall},S_VILE_DIE4,0,0}, // S_VILE_DIE3 + {SPR_VILE,17,7,{.acp1 = (actionf_p1)A_Scream},S_VILE_DIE3,0,0}, // S_VILE_DIE2 + {SPR_VILE,18,7,{.acp1 = (actionf_p1)A_Fall},S_VILE_DIE4,0,0}, // S_VILE_DIE3 {SPR_VILE,19,7,{NULL},S_VILE_DIE5,0,0}, // S_VILE_DIE4 {SPR_VILE,20,7,{NULL},S_VILE_DIE6,0,0}, // S_VILE_DIE5 {SPR_VILE,21,7,{NULL},S_VILE_DIE7,0,0}, // S_VILE_DIE6 @@ -351,74 +351,74 @@ state_t states[NUMSTATES] = { {SPR_VILE,23,5,{NULL},S_VILE_DIE9,0,0}, // S_VILE_DIE8 {SPR_VILE,24,5,{NULL},S_VILE_DIE10,0,0}, // S_VILE_DIE9 {SPR_VILE,25,-1,{NULL},S_NULL,0,0}, // S_VILE_DIE10 - {SPR_FIRE,32768,2,{A_StartFire},S_FIRE2,0,0}, // S_FIRE1 - {SPR_FIRE,32769,2,{A_Fire},S_FIRE3,0,0}, // S_FIRE2 - {SPR_FIRE,32768,2,{A_Fire},S_FIRE4,0,0}, // S_FIRE3 - {SPR_FIRE,32769,2,{A_Fire},S_FIRE5,0,0}, // S_FIRE4 - {SPR_FIRE,32770,2,{A_FireCrackle},S_FIRE6,0,0}, // S_FIRE5 - {SPR_FIRE,32769,2,{A_Fire},S_FIRE7,0,0}, // S_FIRE6 - {SPR_FIRE,32770,2,{A_Fire},S_FIRE8,0,0}, // S_FIRE7 - {SPR_FIRE,32769,2,{A_Fire},S_FIRE9,0,0}, // S_FIRE8 - {SPR_FIRE,32770,2,{A_Fire},S_FIRE10,0,0}, // S_FIRE9 - {SPR_FIRE,32771,2,{A_Fire},S_FIRE11,0,0}, // S_FIRE10 - {SPR_FIRE,32770,2,{A_Fire},S_FIRE12,0,0}, // S_FIRE11 - {SPR_FIRE,32771,2,{A_Fire},S_FIRE13,0,0}, // S_FIRE12 - {SPR_FIRE,32770,2,{A_Fire},S_FIRE14,0,0}, // S_FIRE13 - {SPR_FIRE,32771,2,{A_Fire},S_FIRE15,0,0}, // S_FIRE14 - {SPR_FIRE,32772,2,{A_Fire},S_FIRE16,0,0}, // S_FIRE15 - {SPR_FIRE,32771,2,{A_Fire},S_FIRE17,0,0}, // S_FIRE16 - {SPR_FIRE,32772,2,{A_Fire},S_FIRE18,0,0}, // S_FIRE17 - {SPR_FIRE,32771,2,{A_Fire},S_FIRE19,0,0}, // S_FIRE18 - {SPR_FIRE,32772,2,{A_FireCrackle},S_FIRE20,0,0}, // S_FIRE19 - {SPR_FIRE,32773,2,{A_Fire},S_FIRE21,0,0}, // S_FIRE20 - {SPR_FIRE,32772,2,{A_Fire},S_FIRE22,0,0}, // S_FIRE21 - {SPR_FIRE,32773,2,{A_Fire},S_FIRE23,0,0}, // S_FIRE22 - {SPR_FIRE,32772,2,{A_Fire},S_FIRE24,0,0}, // S_FIRE23 - {SPR_FIRE,32773,2,{A_Fire},S_FIRE25,0,0}, // S_FIRE24 - {SPR_FIRE,32774,2,{A_Fire},S_FIRE26,0,0}, // S_FIRE25 - {SPR_FIRE,32775,2,{A_Fire},S_FIRE27,0,0}, // S_FIRE26 - {SPR_FIRE,32774,2,{A_Fire},S_FIRE28,0,0}, // S_FIRE27 - {SPR_FIRE,32775,2,{A_Fire},S_FIRE29,0,0}, // S_FIRE28 - {SPR_FIRE,32774,2,{A_Fire},S_FIRE30,0,0}, // S_FIRE29 - {SPR_FIRE,32775,2,{A_Fire},S_NULL,0,0}, // S_FIRE30 + {SPR_FIRE,32768,2,{.acp1 = (actionf_p1)A_StartFire},S_FIRE2,0,0}, // S_FIRE1 + {SPR_FIRE,32769,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE3,0,0}, // S_FIRE2 + {SPR_FIRE,32768,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE4,0,0}, // S_FIRE3 + {SPR_FIRE,32769,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE5,0,0}, // S_FIRE4 + {SPR_FIRE,32770,2,{.acp1 = (actionf_p1)A_FireCrackle},S_FIRE6,0,0}, // S_FIRE5 + {SPR_FIRE,32769,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE7,0,0}, // S_FIRE6 + {SPR_FIRE,32770,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE8,0,0}, // S_FIRE7 + {SPR_FIRE,32769,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE9,0,0}, // S_FIRE8 + {SPR_FIRE,32770,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE10,0,0}, // S_FIRE9 + {SPR_FIRE,32771,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE11,0,0}, // S_FIRE10 + {SPR_FIRE,32770,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE12,0,0}, // S_FIRE11 + {SPR_FIRE,32771,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE13,0,0}, // S_FIRE12 + {SPR_FIRE,32770,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE14,0,0}, // S_FIRE13 + {SPR_FIRE,32771,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE15,0,0}, // S_FIRE14 + {SPR_FIRE,32772,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE16,0,0}, // S_FIRE15 + {SPR_FIRE,32771,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE17,0,0}, // S_FIRE16 + {SPR_FIRE,32772,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE18,0,0}, // S_FIRE17 + {SPR_FIRE,32771,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE19,0,0}, // S_FIRE18 + {SPR_FIRE,32772,2,{.acp1 = (actionf_p1)A_FireCrackle},S_FIRE20,0,0}, // S_FIRE19 + {SPR_FIRE,32773,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE21,0,0}, // S_FIRE20 + {SPR_FIRE,32772,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE22,0,0}, // S_FIRE21 + {SPR_FIRE,32773,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE23,0,0}, // S_FIRE22 + {SPR_FIRE,32772,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE24,0,0}, // S_FIRE23 + {SPR_FIRE,32773,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE25,0,0}, // S_FIRE24 + {SPR_FIRE,32774,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE26,0,0}, // S_FIRE25 + {SPR_FIRE,32775,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE27,0,0}, // S_FIRE26 + {SPR_FIRE,32774,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE28,0,0}, // S_FIRE27 + {SPR_FIRE,32775,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE29,0,0}, // S_FIRE28 + {SPR_FIRE,32774,2,{.acp1 = (actionf_p1)A_Fire},S_FIRE30,0,0}, // S_FIRE29 + {SPR_FIRE,32775,2,{.acp1 = (actionf_p1)A_Fire},S_NULL,0,0}, // S_FIRE30 {SPR_PUFF,1,4,{NULL},S_SMOKE2,0,0}, // S_SMOKE1 {SPR_PUFF,2,4,{NULL},S_SMOKE3,0,0}, // S_SMOKE2 {SPR_PUFF,1,4,{NULL},S_SMOKE4,0,0}, // S_SMOKE3 {SPR_PUFF,2,4,{NULL},S_SMOKE5,0,0}, // S_SMOKE4 {SPR_PUFF,3,4,{NULL},S_NULL,0,0}, // S_SMOKE5 - {SPR_FATB,32768,2,{A_Tracer},S_TRACER2,0,0}, // S_TRACER - {SPR_FATB,32769,2,{A_Tracer},S_TRACER,0,0}, // S_TRACER2 + {SPR_FATB,32768,2,{.acp1 = (actionf_p1)A_Tracer},S_TRACER2,0,0}, // S_TRACER + {SPR_FATB,32769,2,{.acp1 = (actionf_p1)A_Tracer},S_TRACER,0,0}, // S_TRACER2 {SPR_FBXP,32768,8,{NULL},S_TRACEEXP2,0,0}, // S_TRACEEXP1 {SPR_FBXP,32769,6,{NULL},S_TRACEEXP3,0,0}, // S_TRACEEXP2 {SPR_FBXP,32770,4,{NULL},S_NULL,0,0}, // S_TRACEEXP3 - {SPR_SKEL,0,10,{A_Look},S_SKEL_STND2,0,0}, // S_SKEL_STND - {SPR_SKEL,1,10,{A_Look},S_SKEL_STND,0,0}, // S_SKEL_STND2 - {SPR_SKEL,0,2,{A_Chase},S_SKEL_RUN2,0,0}, // S_SKEL_RUN1 - {SPR_SKEL,0,2,{A_Chase},S_SKEL_RUN3,0,0}, // S_SKEL_RUN2 - {SPR_SKEL,1,2,{A_Chase},S_SKEL_RUN4,0,0}, // S_SKEL_RUN3 - {SPR_SKEL,1,2,{A_Chase},S_SKEL_RUN5,0,0}, // S_SKEL_RUN4 - {SPR_SKEL,2,2,{A_Chase},S_SKEL_RUN6,0,0}, // S_SKEL_RUN5 - {SPR_SKEL,2,2,{A_Chase},S_SKEL_RUN7,0,0}, // S_SKEL_RUN6 - {SPR_SKEL,3,2,{A_Chase},S_SKEL_RUN8,0,0}, // S_SKEL_RUN7 - {SPR_SKEL,3,2,{A_Chase},S_SKEL_RUN9,0,0}, // S_SKEL_RUN8 - {SPR_SKEL,4,2,{A_Chase},S_SKEL_RUN10,0,0}, // S_SKEL_RUN9 - {SPR_SKEL,4,2,{A_Chase},S_SKEL_RUN11,0,0}, // S_SKEL_RUN10 - {SPR_SKEL,5,2,{A_Chase},S_SKEL_RUN12,0,0}, // S_SKEL_RUN11 - {SPR_SKEL,5,2,{A_Chase},S_SKEL_RUN1,0,0}, // S_SKEL_RUN12 - {SPR_SKEL,6,0,{A_FaceTarget},S_SKEL_FIST2,0,0}, // S_SKEL_FIST1 - {SPR_SKEL,6,6,{A_SkelWhoosh},S_SKEL_FIST3,0,0}, // S_SKEL_FIST2 - {SPR_SKEL,7,6,{A_FaceTarget},S_SKEL_FIST4,0,0}, // S_SKEL_FIST3 - {SPR_SKEL,8,6,{A_SkelFist},S_SKEL_RUN1,0,0}, // S_SKEL_FIST4 - {SPR_SKEL,32777,0,{A_FaceTarget},S_SKEL_MISS2,0,0}, // S_SKEL_MISS1 - {SPR_SKEL,32777,10,{A_FaceTarget},S_SKEL_MISS3,0,0}, // S_SKEL_MISS2 - {SPR_SKEL,10,10,{A_SkelMissile},S_SKEL_MISS4,0,0}, // S_SKEL_MISS3 - {SPR_SKEL,10,10,{A_FaceTarget},S_SKEL_RUN1,0,0}, // S_SKEL_MISS4 + {SPR_SKEL,0,10,{.acp1 = (actionf_p1)A_Look},S_SKEL_STND2,0,0}, // S_SKEL_STND + {SPR_SKEL,1,10,{.acp1 = (actionf_p1)A_Look},S_SKEL_STND,0,0}, // S_SKEL_STND2 + {SPR_SKEL,0,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN2,0,0}, // S_SKEL_RUN1 + {SPR_SKEL,0,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN3,0,0}, // S_SKEL_RUN2 + {SPR_SKEL,1,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN4,0,0}, // S_SKEL_RUN3 + {SPR_SKEL,1,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN5,0,0}, // S_SKEL_RUN4 + {SPR_SKEL,2,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN6,0,0}, // S_SKEL_RUN5 + {SPR_SKEL,2,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN7,0,0}, // S_SKEL_RUN6 + {SPR_SKEL,3,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN8,0,0}, // S_SKEL_RUN7 + {SPR_SKEL,3,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN9,0,0}, // S_SKEL_RUN8 + {SPR_SKEL,4,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN10,0,0}, // S_SKEL_RUN9 + {SPR_SKEL,4,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN11,0,0}, // S_SKEL_RUN10 + {SPR_SKEL,5,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN12,0,0}, // S_SKEL_RUN11 + {SPR_SKEL,5,2,{.acp1 = (actionf_p1)A_Chase},S_SKEL_RUN1,0,0}, // S_SKEL_RUN12 + {SPR_SKEL,6,0,{.acp1 = (actionf_p1)A_FaceTarget},S_SKEL_FIST2,0,0}, // S_SKEL_FIST1 + {SPR_SKEL,6,6,{.acp1 = (actionf_p1)A_SkelWhoosh},S_SKEL_FIST3,0,0}, // S_SKEL_FIST2 + {SPR_SKEL,7,6,{.acp1 = (actionf_p1)A_FaceTarget},S_SKEL_FIST4,0,0}, // S_SKEL_FIST3 + {SPR_SKEL,8,6,{.acp1 = (actionf_p1)A_SkelFist},S_SKEL_RUN1,0,0}, // S_SKEL_FIST4 + {SPR_SKEL,32777,0,{.acp1 = (actionf_p1)A_FaceTarget},S_SKEL_MISS2,0,0}, // S_SKEL_MISS1 + {SPR_SKEL,32777,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SKEL_MISS3,0,0}, // S_SKEL_MISS2 + {SPR_SKEL,10,10,{.acp1 = (actionf_p1)A_SkelMissile},S_SKEL_MISS4,0,0}, // S_SKEL_MISS3 + {SPR_SKEL,10,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SKEL_RUN1,0,0}, // S_SKEL_MISS4 {SPR_SKEL,11,5,{NULL},S_SKEL_PAIN2,0,0}, // S_SKEL_PAIN - {SPR_SKEL,11,5,{A_Pain},S_SKEL_RUN1,0,0}, // S_SKEL_PAIN2 + {SPR_SKEL,11,5,{.acp1 = (actionf_p1)A_Pain},S_SKEL_RUN1,0,0}, // S_SKEL_PAIN2 {SPR_SKEL,11,7,{NULL},S_SKEL_DIE2,0,0}, // S_SKEL_DIE1 {SPR_SKEL,12,7,{NULL},S_SKEL_DIE3,0,0}, // S_SKEL_DIE2 - {SPR_SKEL,13,7,{A_Scream},S_SKEL_DIE4,0,0}, // S_SKEL_DIE3 - {SPR_SKEL,14,7,{A_Fall},S_SKEL_DIE5,0,0}, // S_SKEL_DIE4 + {SPR_SKEL,13,7,{.acp1 = (actionf_p1)A_Scream},S_SKEL_DIE4,0,0}, // S_SKEL_DIE3 + {SPR_SKEL,14,7,{.acp1 = (actionf_p1)A_Fall},S_SKEL_DIE5,0,0}, // S_SKEL_DIE4 {SPR_SKEL,15,7,{NULL},S_SKEL_DIE6,0,0}, // S_SKEL_DIE5 {SPR_SKEL,16,-1,{NULL},S_NULL,0,0}, // S_SKEL_DIE6 {SPR_SKEL,16,5,{NULL},S_SKEL_RAISE2,0,0}, // S_SKEL_RAISE1 @@ -432,42 +432,42 @@ state_t states[NUMSTATES] = { {SPR_MISL,32769,8,{NULL},S_FATSHOTX2,0,0}, // S_FATSHOTX1 {SPR_MISL,32770,6,{NULL},S_FATSHOTX3,0,0}, // S_FATSHOTX2 {SPR_MISL,32771,4,{NULL},S_NULL,0,0}, // S_FATSHOTX3 - {SPR_FATT,0,15,{A_Look},S_FATT_STND2,0,0}, // S_FATT_STND - {SPR_FATT,1,15,{A_Look},S_FATT_STND,0,0}, // S_FATT_STND2 - {SPR_FATT,0,4,{A_Chase},S_FATT_RUN2,0,0}, // S_FATT_RUN1 - {SPR_FATT,0,4,{A_Chase},S_FATT_RUN3,0,0}, // S_FATT_RUN2 - {SPR_FATT,1,4,{A_Chase},S_FATT_RUN4,0,0}, // S_FATT_RUN3 - {SPR_FATT,1,4,{A_Chase},S_FATT_RUN5,0,0}, // S_FATT_RUN4 - {SPR_FATT,2,4,{A_Chase},S_FATT_RUN6,0,0}, // S_FATT_RUN5 - {SPR_FATT,2,4,{A_Chase},S_FATT_RUN7,0,0}, // S_FATT_RUN6 - {SPR_FATT,3,4,{A_Chase},S_FATT_RUN8,0,0}, // S_FATT_RUN7 - {SPR_FATT,3,4,{A_Chase},S_FATT_RUN9,0,0}, // S_FATT_RUN8 - {SPR_FATT,4,4,{A_Chase},S_FATT_RUN10,0,0}, // S_FATT_RUN9 - {SPR_FATT,4,4,{A_Chase},S_FATT_RUN11,0,0}, // S_FATT_RUN10 - {SPR_FATT,5,4,{A_Chase},S_FATT_RUN12,0,0}, // S_FATT_RUN11 - {SPR_FATT,5,4,{A_Chase},S_FATT_RUN1,0,0}, // S_FATT_RUN12 - {SPR_FATT,6,20,{A_FatRaise},S_FATT_ATK2,0,0}, // S_FATT_ATK1 - {SPR_FATT,32775,10,{A_FatAttack1},S_FATT_ATK3,0,0}, // S_FATT_ATK2 - {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK4,0,0}, // S_FATT_ATK3 - {SPR_FATT,6,5,{A_FaceTarget},S_FATT_ATK5,0,0}, // S_FATT_ATK4 - {SPR_FATT,32775,10,{A_FatAttack2},S_FATT_ATK6,0,0}, // S_FATT_ATK5 - {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK7,0,0}, // S_FATT_ATK6 - {SPR_FATT,6,5,{A_FaceTarget},S_FATT_ATK8,0,0}, // S_FATT_ATK7 - {SPR_FATT,32775,10,{A_FatAttack3},S_FATT_ATK9,0,0}, // S_FATT_ATK8 - {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK10,0,0}, // S_FATT_ATK9 - {SPR_FATT,6,5,{A_FaceTarget},S_FATT_RUN1,0,0}, // S_FATT_ATK10 + {SPR_FATT,0,15,{.acp1 = (actionf_p1)A_Look},S_FATT_STND2,0,0}, // S_FATT_STND + {SPR_FATT,1,15,{.acp1 = (actionf_p1)A_Look},S_FATT_STND,0,0}, // S_FATT_STND2 + {SPR_FATT,0,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN2,0,0}, // S_FATT_RUN1 + {SPR_FATT,0,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN3,0,0}, // S_FATT_RUN2 + {SPR_FATT,1,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN4,0,0}, // S_FATT_RUN3 + {SPR_FATT,1,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN5,0,0}, // S_FATT_RUN4 + {SPR_FATT,2,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN6,0,0}, // S_FATT_RUN5 + {SPR_FATT,2,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN7,0,0}, // S_FATT_RUN6 + {SPR_FATT,3,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN8,0,0}, // S_FATT_RUN7 + {SPR_FATT,3,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN9,0,0}, // S_FATT_RUN8 + {SPR_FATT,4,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN10,0,0}, // S_FATT_RUN9 + {SPR_FATT,4,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN11,0,0}, // S_FATT_RUN10 + {SPR_FATT,5,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN12,0,0}, // S_FATT_RUN11 + {SPR_FATT,5,4,{.acp1 = (actionf_p1)A_Chase},S_FATT_RUN1,0,0}, // S_FATT_RUN12 + {SPR_FATT,6,20,{.acp1 = (actionf_p1)A_FatRaise},S_FATT_ATK2,0,0}, // S_FATT_ATK1 + {SPR_FATT,32775,10,{.acp1 = (actionf_p1)A_FatAttack1},S_FATT_ATK3,0,0}, // S_FATT_ATK2 + {SPR_FATT,8,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_ATK4,0,0}, // S_FATT_ATK3 + {SPR_FATT,6,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_ATK5,0,0}, // S_FATT_ATK4 + {SPR_FATT,32775,10,{.acp1 = (actionf_p1)A_FatAttack2},S_FATT_ATK6,0,0}, // S_FATT_ATK5 + {SPR_FATT,8,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_ATK7,0,0}, // S_FATT_ATK6 + {SPR_FATT,6,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_ATK8,0,0}, // S_FATT_ATK7 + {SPR_FATT,32775,10,{.acp1 = (actionf_p1)A_FatAttack3},S_FATT_ATK9,0,0}, // S_FATT_ATK8 + {SPR_FATT,8,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_ATK10,0,0}, // S_FATT_ATK9 + {SPR_FATT,6,5,{.acp1 = (actionf_p1)A_FaceTarget},S_FATT_RUN1,0,0}, // S_FATT_ATK10 {SPR_FATT,9,3,{NULL},S_FATT_PAIN2,0,0}, // S_FATT_PAIN - {SPR_FATT,9,3,{A_Pain},S_FATT_RUN1,0,0}, // S_FATT_PAIN2 + {SPR_FATT,9,3,{.acp1 = (actionf_p1)A_Pain},S_FATT_RUN1,0,0}, // S_FATT_PAIN2 {SPR_FATT,10,6,{NULL},S_FATT_DIE2,0,0}, // S_FATT_DIE1 - {SPR_FATT,11,6,{A_Scream},S_FATT_DIE3,0,0}, // S_FATT_DIE2 - {SPR_FATT,12,6,{A_Fall},S_FATT_DIE4,0,0}, // S_FATT_DIE3 + {SPR_FATT,11,6,{.acp1 = (actionf_p1)A_Scream},S_FATT_DIE3,0,0}, // S_FATT_DIE2 + {SPR_FATT,12,6,{.acp1 = (actionf_p1)A_Fall},S_FATT_DIE4,0,0}, // S_FATT_DIE3 {SPR_FATT,13,6,{NULL},S_FATT_DIE5,0,0}, // S_FATT_DIE4 {SPR_FATT,14,6,{NULL},S_FATT_DIE6,0,0}, // S_FATT_DIE5 {SPR_FATT,15,6,{NULL},S_FATT_DIE7,0,0}, // S_FATT_DIE6 {SPR_FATT,16,6,{NULL},S_FATT_DIE8,0,0}, // S_FATT_DIE7 {SPR_FATT,17,6,{NULL},S_FATT_DIE9,0,0}, // S_FATT_DIE8 {SPR_FATT,18,6,{NULL},S_FATT_DIE10,0,0}, // S_FATT_DIE9 - {SPR_FATT,19,-1,{A_BossDeath},S_NULL,0,0}, // S_FATT_DIE10 + {SPR_FATT,19,-1,{.acp1 = (actionf_p1)A_BossDeath},S_NULL,0,0}, // S_FATT_DIE10 {SPR_FATT,17,5,{NULL},S_FATT_RAISE2,0,0}, // S_FATT_RAISE1 {SPR_FATT,16,5,{NULL},S_FATT_RAISE3,0,0}, // S_FATT_RAISE2 {SPR_FATT,15,5,{NULL},S_FATT_RAISE4,0,0}, // S_FATT_RAISE3 @@ -476,33 +476,33 @@ state_t states[NUMSTATES] = { {SPR_FATT,12,5,{NULL},S_FATT_RAISE7,0,0}, // S_FATT_RAISE6 {SPR_FATT,11,5,{NULL},S_FATT_RAISE8,0,0}, // S_FATT_RAISE7 {SPR_FATT,10,5,{NULL},S_FATT_RUN1,0,0}, // S_FATT_RAISE8 - {SPR_CPOS,0,10,{A_Look},S_CPOS_STND2,0,0}, // S_CPOS_STND - {SPR_CPOS,1,10,{A_Look},S_CPOS_STND,0,0}, // S_CPOS_STND2 - {SPR_CPOS,0,3,{A_Chase},S_CPOS_RUN2,0,0}, // S_CPOS_RUN1 - {SPR_CPOS,0,3,{A_Chase},S_CPOS_RUN3,0,0}, // S_CPOS_RUN2 - {SPR_CPOS,1,3,{A_Chase},S_CPOS_RUN4,0,0}, // S_CPOS_RUN3 - {SPR_CPOS,1,3,{A_Chase},S_CPOS_RUN5,0,0}, // S_CPOS_RUN4 - {SPR_CPOS,2,3,{A_Chase},S_CPOS_RUN6,0,0}, // S_CPOS_RUN5 - {SPR_CPOS,2,3,{A_Chase},S_CPOS_RUN7,0,0}, // S_CPOS_RUN6 - {SPR_CPOS,3,3,{A_Chase},S_CPOS_RUN8,0,0}, // S_CPOS_RUN7 - {SPR_CPOS,3,3,{A_Chase},S_CPOS_RUN1,0,0}, // S_CPOS_RUN8 - {SPR_CPOS,4,10,{A_FaceTarget},S_CPOS_ATK2,0,0}, // S_CPOS_ATK1 - {SPR_CPOS,32773,4,{A_CPosAttack},S_CPOS_ATK3,0,0}, // S_CPOS_ATK2 - {SPR_CPOS,32772,4,{A_CPosAttack},S_CPOS_ATK4,0,0}, // S_CPOS_ATK3 + {SPR_CPOS,0,10,{.acp1 = (actionf_p1)A_Look},S_CPOS_STND2,0,0}, // S_CPOS_STND + {SPR_CPOS,1,10,{.acp1 = (actionf_p1)A_Look},S_CPOS_STND,0,0}, // S_CPOS_STND2 + {SPR_CPOS,0,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN2,0,0}, // S_CPOS_RUN1 + {SPR_CPOS,0,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN3,0,0}, // S_CPOS_RUN2 + {SPR_CPOS,1,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN4,0,0}, // S_CPOS_RUN3 + {SPR_CPOS,1,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN5,0,0}, // S_CPOS_RUN4 + {SPR_CPOS,2,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN6,0,0}, // S_CPOS_RUN5 + {SPR_CPOS,2,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN7,0,0}, // S_CPOS_RUN6 + {SPR_CPOS,3,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN8,0,0}, // S_CPOS_RUN7 + {SPR_CPOS,3,3,{.acp1 = (actionf_p1)A_Chase},S_CPOS_RUN1,0,0}, // S_CPOS_RUN8 + {SPR_CPOS,4,10,{.acp1 = (actionf_p1)A_FaceTarget},S_CPOS_ATK2,0,0}, // S_CPOS_ATK1 + {SPR_CPOS,32773,4,{.acp1 = (actionf_p1)A_CPosAttack},S_CPOS_ATK3,0,0}, // S_CPOS_ATK2 + {SPR_CPOS,32772,4,{.acp1 = (actionf_p1)A_CPosAttack},S_CPOS_ATK4,0,0}, // S_CPOS_ATK3 // [crispy] render Minigun zombie's firing frames full-bright - {SPR_CPOS,5|0x8000,1,{A_CPosRefire},S_CPOS_ATK2,0,0}, // S_CPOS_ATK4 + {SPR_CPOS,5|0x8000,1,{.acp1 = (actionf_p1)A_CPosRefire},S_CPOS_ATK2,0,0}, // S_CPOS_ATK4 {SPR_CPOS,6,3,{NULL},S_CPOS_PAIN2,0,0}, // S_CPOS_PAIN - {SPR_CPOS,6,3,{A_Pain},S_CPOS_RUN1,0,0}, // S_CPOS_PAIN2 + {SPR_CPOS,6,3,{.acp1 = (actionf_p1)A_Pain},S_CPOS_RUN1,0,0}, // S_CPOS_PAIN2 {SPR_CPOS,7,5,{NULL},S_CPOS_DIE2,0,0}, // S_CPOS_DIE1 - {SPR_CPOS,8,5,{A_Scream},S_CPOS_DIE3,0,0}, // S_CPOS_DIE2 - {SPR_CPOS,9,5,{A_Fall},S_CPOS_DIE4,0,0}, // S_CPOS_DIE3 + {SPR_CPOS,8,5,{.acp1 = (actionf_p1)A_Scream},S_CPOS_DIE3,0,0}, // S_CPOS_DIE2 + {SPR_CPOS,9,5,{.acp1 = (actionf_p1)A_Fall},S_CPOS_DIE4,0,0}, // S_CPOS_DIE3 {SPR_CPOS,10,5,{NULL},S_CPOS_DIE5,0,0}, // S_CPOS_DIE4 {SPR_CPOS,11,5,{NULL},S_CPOS_DIE6,0,0}, // S_CPOS_DIE5 {SPR_CPOS,12,5,{NULL},S_CPOS_DIE7,0,0}, // S_CPOS_DIE6 {SPR_CPOS,13,-1,{NULL},S_NULL,0,0}, // S_CPOS_DIE7 {SPR_CPOS,14,5,{NULL},S_CPOS_XDIE2,0,0}, // S_CPOS_XDIE1 - {SPR_CPOS,15,5,{A_XScream},S_CPOS_XDIE3,0,0}, // S_CPOS_XDIE2 - {SPR_CPOS,16,5,{A_Fall},S_CPOS_XDIE4,0,0}, // S_CPOS_XDIE3 + {SPR_CPOS,15,5,{.acp1 = (actionf_p1)A_XScream},S_CPOS_XDIE3,0,0}, // S_CPOS_XDIE2 + {SPR_CPOS,16,5,{.acp1 = (actionf_p1)A_Fall},S_CPOS_XDIE4,0,0}, // S_CPOS_XDIE3 {SPR_CPOS,17,5,{NULL},S_CPOS_XDIE5,0,0}, // S_CPOS_XDIE4 {SPR_CPOS,18,5,{NULL},S_CPOS_XDIE6,0,0}, // S_CPOS_XDIE5 {SPR_CPOS,19,-1,{NULL},S_NULL,0,0}, // S_CPOS_XDIE6 @@ -513,30 +513,30 @@ state_t states[NUMSTATES] = { {SPR_CPOS,9,5,{NULL},S_CPOS_RAISE6,0,0}, // S_CPOS_RAISE5 {SPR_CPOS,8,5,{NULL},S_CPOS_RAISE7,0,0}, // S_CPOS_RAISE6 {SPR_CPOS,7,5,{NULL},S_CPOS_RUN1,0,0}, // S_CPOS_RAISE7 - {SPR_TROO,0,10,{A_Look},S_TROO_STND2,0,0}, // S_TROO_STND - {SPR_TROO,1,10,{A_Look},S_TROO_STND,0,0}, // S_TROO_STND2 - {SPR_TROO,0,3,{A_Chase},S_TROO_RUN2,0,0}, // S_TROO_RUN1 - {SPR_TROO,0,3,{A_Chase},S_TROO_RUN3,0,0}, // S_TROO_RUN2 - {SPR_TROO,1,3,{A_Chase},S_TROO_RUN4,0,0}, // S_TROO_RUN3 - {SPR_TROO,1,3,{A_Chase},S_TROO_RUN5,0,0}, // S_TROO_RUN4 - {SPR_TROO,2,3,{A_Chase},S_TROO_RUN6,0,0}, // S_TROO_RUN5 - {SPR_TROO,2,3,{A_Chase},S_TROO_RUN7,0,0}, // S_TROO_RUN6 - {SPR_TROO,3,3,{A_Chase},S_TROO_RUN8,0,0}, // S_TROO_RUN7 - {SPR_TROO,3,3,{A_Chase},S_TROO_RUN1,0,0}, // S_TROO_RUN8 - {SPR_TROO,4,8,{A_FaceTarget},S_TROO_ATK2,0,0}, // S_TROO_ATK1 - {SPR_TROO,5,8,{A_FaceTarget},S_TROO_ATK3,0,0}, // S_TROO_ATK2 - {SPR_TROO,6,6,{A_TroopAttack},S_TROO_RUN1,0,0}, // S_TROO_ATK3 + {SPR_TROO,0,10,{.acp1 = (actionf_p1)A_Look},S_TROO_STND2,0,0}, // S_TROO_STND + {SPR_TROO,1,10,{.acp1 = (actionf_p1)A_Look},S_TROO_STND,0,0}, // S_TROO_STND2 + {SPR_TROO,0,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN2,0,0}, // S_TROO_RUN1 + {SPR_TROO,0,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN3,0,0}, // S_TROO_RUN2 + {SPR_TROO,1,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN4,0,0}, // S_TROO_RUN3 + {SPR_TROO,1,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN5,0,0}, // S_TROO_RUN4 + {SPR_TROO,2,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN6,0,0}, // S_TROO_RUN5 + {SPR_TROO,2,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN7,0,0}, // S_TROO_RUN6 + {SPR_TROO,3,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN8,0,0}, // S_TROO_RUN7 + {SPR_TROO,3,3,{.acp1 = (actionf_p1)A_Chase},S_TROO_RUN1,0,0}, // S_TROO_RUN8 + {SPR_TROO,4,8,{.acp1 = (actionf_p1)A_FaceTarget},S_TROO_ATK2,0,0}, // S_TROO_ATK1 + {SPR_TROO,5,8,{.acp1 = (actionf_p1)A_FaceTarget},S_TROO_ATK3,0,0}, // S_TROO_ATK2 + {SPR_TROO,6,6,{.acp1 = (actionf_p1)A_TroopAttack},S_TROO_RUN1,0,0}, // S_TROO_ATK3 {SPR_TROO,7,2,{NULL},S_TROO_PAIN2,0,0}, // S_TROO_PAIN - {SPR_TROO,7,2,{A_Pain},S_TROO_RUN1,0,0}, // S_TROO_PAIN2 + {SPR_TROO,7,2,{.acp1 = (actionf_p1)A_Pain},S_TROO_RUN1,0,0}, // S_TROO_PAIN2 {SPR_TROO,8,8,{NULL},S_TROO_DIE2,0,0}, // S_TROO_DIE1 - {SPR_TROO,9,8,{A_Scream},S_TROO_DIE3,0,0}, // S_TROO_DIE2 + {SPR_TROO,9,8,{.acp1 = (actionf_p1)A_Scream},S_TROO_DIE3,0,0}, // S_TROO_DIE2 {SPR_TROO,10,6,{NULL},S_TROO_DIE4,0,0}, // S_TROO_DIE3 - {SPR_TROO,11,6,{A_Fall},S_TROO_DIE5,0,0}, // S_TROO_DIE4 + {SPR_TROO,11,6,{.acp1 = (actionf_p1)A_Fall},S_TROO_DIE5,0,0}, // S_TROO_DIE4 {SPR_TROO,12,-1,{NULL},S_NULL,0,0}, // S_TROO_DIE5 {SPR_TROO,13,5,{NULL},S_TROO_XDIE2,0,0}, // S_TROO_XDIE1 - {SPR_TROO,14,5,{A_XScream},S_TROO_XDIE3,0,0}, // S_TROO_XDIE2 + {SPR_TROO,14,5,{.acp1 = (actionf_p1)A_XScream},S_TROO_XDIE3,0,0}, // S_TROO_XDIE2 {SPR_TROO,15,5,{NULL},S_TROO_XDIE4,0,0}, // S_TROO_XDIE3 - {SPR_TROO,16,5,{A_Fall},S_TROO_XDIE5,0,0}, // S_TROO_XDIE4 + {SPR_TROO,16,5,{.acp1 = (actionf_p1)A_Fall},S_TROO_XDIE5,0,0}, // S_TROO_XDIE4 {SPR_TROO,17,5,{NULL},S_TROO_XDIE6,0,0}, // S_TROO_XDIE5 {SPR_TROO,18,5,{NULL},S_TROO_XDIE7,0,0}, // S_TROO_XDIE6 {SPR_TROO,19,5,{NULL},S_TROO_XDIE8,0,0}, // S_TROO_XDIE7 @@ -546,25 +546,25 @@ state_t states[NUMSTATES] = { {SPR_TROO,10,6,{NULL},S_TROO_RAISE4,0,0}, // S_TROO_RAISE3 {SPR_TROO,9,6,{NULL},S_TROO_RAISE5,0,0}, // S_TROO_RAISE4 {SPR_TROO,8,6,{NULL},S_TROO_RUN1,0,0}, // S_TROO_RAISE5 - {SPR_SARG,0,10,{A_Look},S_SARG_STND2,0,0}, // S_SARG_STND - {SPR_SARG,1,10,{A_Look},S_SARG_STND,0,0}, // S_SARG_STND2 - {SPR_SARG,0,2,{A_Chase},S_SARG_RUN2,0,0}, // S_SARG_RUN1 - {SPR_SARG,0,2,{A_Chase},S_SARG_RUN3,0,0}, // S_SARG_RUN2 - {SPR_SARG,1,2,{A_Chase},S_SARG_RUN4,0,0}, // S_SARG_RUN3 - {SPR_SARG,1,2,{A_Chase},S_SARG_RUN5,0,0}, // S_SARG_RUN4 - {SPR_SARG,2,2,{A_Chase},S_SARG_RUN6,0,0}, // S_SARG_RUN5 - {SPR_SARG,2,2,{A_Chase},S_SARG_RUN7,0,0}, // S_SARG_RUN6 - {SPR_SARG,3,2,{A_Chase},S_SARG_RUN8,0,0}, // S_SARG_RUN7 - {SPR_SARG,3,2,{A_Chase},S_SARG_RUN1,0,0}, // S_SARG_RUN8 - {SPR_SARG,4,8,{A_FaceTarget},S_SARG_ATK2,0,0}, // S_SARG_ATK1 - {SPR_SARG,5,8,{A_FaceTarget},S_SARG_ATK3,0,0}, // S_SARG_ATK2 - {SPR_SARG,6,8,{A_SargAttack},S_SARG_RUN1,0,0}, // S_SARG_ATK3 + {SPR_SARG,0,10,{.acp1 = (actionf_p1)A_Look},S_SARG_STND2,0,0}, // S_SARG_STND + {SPR_SARG,1,10,{.acp1 = (actionf_p1)A_Look},S_SARG_STND,0,0}, // S_SARG_STND2 + {SPR_SARG,0,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN2,0,0}, // S_SARG_RUN1 + {SPR_SARG,0,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN3,0,0}, // S_SARG_RUN2 + {SPR_SARG,1,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN4,0,0}, // S_SARG_RUN3 + {SPR_SARG,1,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN5,0,0}, // S_SARG_RUN4 + {SPR_SARG,2,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN6,0,0}, // S_SARG_RUN5 + {SPR_SARG,2,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN7,0,0}, // S_SARG_RUN6 + {SPR_SARG,3,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN8,0,0}, // S_SARG_RUN7 + {SPR_SARG,3,2,{.acp1 = (actionf_p1)A_Chase},S_SARG_RUN1,0,0}, // S_SARG_RUN8 + {SPR_SARG,4,8,{.acp1 = (actionf_p1)A_FaceTarget},S_SARG_ATK2,0,0}, // S_SARG_ATK1 + {SPR_SARG,5,8,{.acp1 = (actionf_p1)A_FaceTarget},S_SARG_ATK3,0,0}, // S_SARG_ATK2 + {SPR_SARG,6,8,{.acp1 = (actionf_p1)A_SargAttack},S_SARG_RUN1,0,0}, // S_SARG_ATK3 {SPR_SARG,7,2,{NULL},S_SARG_PAIN2,0,0}, // S_SARG_PAIN - {SPR_SARG,7,2,{A_Pain},S_SARG_RUN1,0,0}, // S_SARG_PAIN2 + {SPR_SARG,7,2,{.acp1 = (actionf_p1)A_Pain},S_SARG_RUN1,0,0}, // S_SARG_PAIN2 {SPR_SARG,8,8,{NULL},S_SARG_DIE2,0,0}, // S_SARG_DIE1 - {SPR_SARG,9,8,{A_Scream},S_SARG_DIE3,0,0}, // S_SARG_DIE2 + {SPR_SARG,9,8,{.acp1 = (actionf_p1)A_Scream},S_SARG_DIE3,0,0}, // S_SARG_DIE2 {SPR_SARG,10,4,{NULL},S_SARG_DIE4,0,0}, // S_SARG_DIE3 - {SPR_SARG,11,4,{A_Fall},S_SARG_DIE5,0,0}, // S_SARG_DIE4 + {SPR_SARG,11,4,{.acp1 = (actionf_p1)A_Fall},S_SARG_DIE5,0,0}, // S_SARG_DIE4 {SPR_SARG,12,4,{NULL},S_SARG_DIE6,0,0}, // S_SARG_DIE5 {SPR_SARG,13,-1,{NULL},S_NULL,0,0}, // S_SARG_DIE6 {SPR_SARG,13,5,{NULL},S_SARG_RAISE2,0,0}, // S_SARG_RAISE1 @@ -573,19 +573,19 @@ state_t states[NUMSTATES] = { {SPR_SARG,10,5,{NULL},S_SARG_RAISE5,0,0}, // S_SARG_RAISE4 {SPR_SARG,9,5,{NULL},S_SARG_RAISE6,0,0}, // S_SARG_RAISE5 {SPR_SARG,8,5,{NULL},S_SARG_RUN1,0,0}, // S_SARG_RAISE6 - {SPR_HEAD,0,10,{A_Look},S_HEAD_STND,0,0}, // S_HEAD_STND - {SPR_HEAD,0,3,{A_Chase},S_HEAD_RUN1,0,0}, // S_HEAD_RUN1 - {SPR_HEAD,1,5,{A_FaceTarget},S_HEAD_ATK2,0,0}, // S_HEAD_ATK1 - {SPR_HEAD,2,5,{A_FaceTarget},S_HEAD_ATK3,0,0}, // S_HEAD_ATK2 - {SPR_HEAD,32771,5,{A_HeadAttack},S_HEAD_RUN1,0,0}, // S_HEAD_ATK3 + {SPR_HEAD,0,10,{.acp1 = (actionf_p1)A_Look},S_HEAD_STND,0,0}, // S_HEAD_STND + {SPR_HEAD,0,3,{.acp1 = (actionf_p1)A_Chase},S_HEAD_RUN1,0,0}, // S_HEAD_RUN1 + {SPR_HEAD,1,5,{.acp1 = (actionf_p1)A_FaceTarget},S_HEAD_ATK2,0,0}, // S_HEAD_ATK1 + {SPR_HEAD,2,5,{.acp1 = (actionf_p1)A_FaceTarget},S_HEAD_ATK3,0,0}, // S_HEAD_ATK2 + {SPR_HEAD,32771,5,{.acp1 = (actionf_p1)A_HeadAttack},S_HEAD_RUN1,0,0}, // S_HEAD_ATK3 {SPR_HEAD,4,3,{NULL},S_HEAD_PAIN2,0,0}, // S_HEAD_PAIN - {SPR_HEAD,4,3,{A_Pain},S_HEAD_PAIN3,0,0}, // S_HEAD_PAIN2 + {SPR_HEAD,4,3,{.acp1 = (actionf_p1)A_Pain},S_HEAD_PAIN3,0,0}, // S_HEAD_PAIN2 {SPR_HEAD,5,6,{NULL},S_HEAD_RUN1,0,0}, // S_HEAD_PAIN3 {SPR_HEAD,6,8,{NULL},S_HEAD_DIE2,0,0}, // S_HEAD_DIE1 - {SPR_HEAD,7,8,{A_Scream},S_HEAD_DIE3,0,0}, // S_HEAD_DIE2 + {SPR_HEAD,7,8,{.acp1 = (actionf_p1)A_Scream},S_HEAD_DIE3,0,0}, // S_HEAD_DIE2 {SPR_HEAD,8,8,{NULL},S_HEAD_DIE4,0,0}, // S_HEAD_DIE3 {SPR_HEAD,9,8,{NULL},S_HEAD_DIE5,0,0}, // S_HEAD_DIE4 - {SPR_HEAD,10,8,{A_Fall},S_HEAD_DIE6,0,0}, // S_HEAD_DIE5 + {SPR_HEAD,10,8,{.acp1 = (actionf_p1)A_Fall},S_HEAD_DIE6,0,0}, // S_HEAD_DIE5 {SPR_HEAD,11,-1,{NULL},S_NULL,0,0}, // S_HEAD_DIE6 {SPR_HEAD,11,8,{NULL},S_HEAD_RAISE2,0,0}, // S_HEAD_RAISE1 {SPR_HEAD,10,8,{NULL},S_HEAD_RAISE3,0,0}, // S_HEAD_RAISE2 @@ -598,28 +598,28 @@ state_t states[NUMSTATES] = { {SPR_BAL7,32770,6,{NULL},S_BRBALLX2,0,0}, // S_BRBALLX1 {SPR_BAL7,32771,6,{NULL},S_BRBALLX3,0,0}, // S_BRBALLX2 {SPR_BAL7,32772,6,{NULL},S_NULL,0,0}, // S_BRBALLX3 - {SPR_BOSS,0,10,{A_Look},S_BOSS_STND2,0,0}, // S_BOSS_STND - {SPR_BOSS,1,10,{A_Look},S_BOSS_STND,0,0}, // S_BOSS_STND2 - {SPR_BOSS,0,3,{A_Chase},S_BOSS_RUN2,0,0}, // S_BOSS_RUN1 - {SPR_BOSS,0,3,{A_Chase},S_BOSS_RUN3,0,0}, // S_BOSS_RUN2 - {SPR_BOSS,1,3,{A_Chase},S_BOSS_RUN4,0,0}, // S_BOSS_RUN3 - {SPR_BOSS,1,3,{A_Chase},S_BOSS_RUN5,0,0}, // S_BOSS_RUN4 - {SPR_BOSS,2,3,{A_Chase},S_BOSS_RUN6,0,0}, // S_BOSS_RUN5 - {SPR_BOSS,2,3,{A_Chase},S_BOSS_RUN7,0,0}, // S_BOSS_RUN6 - {SPR_BOSS,3,3,{A_Chase},S_BOSS_RUN8,0,0}, // S_BOSS_RUN7 - {SPR_BOSS,3,3,{A_Chase},S_BOSS_RUN1,0,0}, // S_BOSS_RUN8 - {SPR_BOSS,4,8,{A_FaceTarget},S_BOSS_ATK2,0,0}, // S_BOSS_ATK1 - {SPR_BOSS,5,8,{A_FaceTarget},S_BOSS_ATK3,0,0}, // S_BOSS_ATK2 - {SPR_BOSS,6,8,{A_BruisAttack},S_BOSS_RUN1,0,0}, // S_BOSS_ATK3 + {SPR_BOSS,0,10,{.acp1 = (actionf_p1)A_Look},S_BOSS_STND2,0,0}, // S_BOSS_STND + {SPR_BOSS,1,10,{.acp1 = (actionf_p1)A_Look},S_BOSS_STND,0,0}, // S_BOSS_STND2 + {SPR_BOSS,0,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN2,0,0}, // S_BOSS_RUN1 + {SPR_BOSS,0,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN3,0,0}, // S_BOSS_RUN2 + {SPR_BOSS,1,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN4,0,0}, // S_BOSS_RUN3 + {SPR_BOSS,1,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN5,0,0}, // S_BOSS_RUN4 + {SPR_BOSS,2,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN6,0,0}, // S_BOSS_RUN5 + {SPR_BOSS,2,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN7,0,0}, // S_BOSS_RUN6 + {SPR_BOSS,3,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN8,0,0}, // S_BOSS_RUN7 + {SPR_BOSS,3,3,{.acp1 = (actionf_p1)A_Chase},S_BOSS_RUN1,0,0}, // S_BOSS_RUN8 + {SPR_BOSS,4,8,{.acp1 = (actionf_p1)A_FaceTarget},S_BOSS_ATK2,0,0}, // S_BOSS_ATK1 + {SPR_BOSS,5,8,{.acp1 = (actionf_p1)A_FaceTarget},S_BOSS_ATK3,0,0}, // S_BOSS_ATK2 + {SPR_BOSS,6,8,{.acp1 = (actionf_p1)A_BruisAttack},S_BOSS_RUN1,0,0}, // S_BOSS_ATK3 {SPR_BOSS,7,2,{NULL},S_BOSS_PAIN2,0,0}, // S_BOSS_PAIN - {SPR_BOSS,7,2,{A_Pain},S_BOSS_RUN1,0,0}, // S_BOSS_PAIN2 + {SPR_BOSS,7,2,{.acp1 = (actionf_p1)A_Pain},S_BOSS_RUN1,0,0}, // S_BOSS_PAIN2 {SPR_BOSS,8,8,{NULL},S_BOSS_DIE2,0,0}, // S_BOSS_DIE1 - {SPR_BOSS,9,8,{A_Scream},S_BOSS_DIE3,0,0}, // S_BOSS_DIE2 + {SPR_BOSS,9,8,{.acp1 = (actionf_p1)A_Scream},S_BOSS_DIE3,0,0}, // S_BOSS_DIE2 {SPR_BOSS,10,8,{NULL},S_BOSS_DIE4,0,0}, // S_BOSS_DIE3 - {SPR_BOSS,11,8,{A_Fall},S_BOSS_DIE5,0,0}, // S_BOSS_DIE4 + {SPR_BOSS,11,8,{.acp1 = (actionf_p1)A_Fall},S_BOSS_DIE5,0,0}, // S_BOSS_DIE4 {SPR_BOSS,12,8,{NULL},S_BOSS_DIE6,0,0}, // S_BOSS_DIE5 {SPR_BOSS,13,8,{NULL},S_BOSS_DIE7,0,0}, // S_BOSS_DIE6 - {SPR_BOSS,14,-1,{A_BossDeath},S_NULL,0,0}, // S_BOSS_DIE7 + {SPR_BOSS,14,-1,{.acp1 = (actionf_p1)A_BossDeath},S_NULL,0,0}, // S_BOSS_DIE7 {SPR_BOSS,14,8,{NULL},S_BOSS_RAISE2,0,0}, // S_BOSS_RAISE1 {SPR_BOSS,13,8,{NULL},S_BOSS_RAISE3,0,0}, // S_BOSS_RAISE2 {SPR_BOSS,12,8,{NULL},S_BOSS_RAISE4,0,0}, // S_BOSS_RAISE3 @@ -627,25 +627,25 @@ state_t states[NUMSTATES] = { {SPR_BOSS,10,8,{NULL},S_BOSS_RAISE6,0,0}, // S_BOSS_RAISE5 {SPR_BOSS,9,8,{NULL},S_BOSS_RAISE7,0,0}, // S_BOSS_RAISE6 {SPR_BOSS,8,8,{NULL},S_BOSS_RUN1,0,0}, // S_BOSS_RAISE7 - {SPR_BOS2,0,10,{A_Look},S_BOS2_STND2,0,0}, // S_BOS2_STND - {SPR_BOS2,1,10,{A_Look},S_BOS2_STND,0,0}, // S_BOS2_STND2 - {SPR_BOS2,0,3,{A_Chase},S_BOS2_RUN2,0,0}, // S_BOS2_RUN1 - {SPR_BOS2,0,3,{A_Chase},S_BOS2_RUN3,0,0}, // S_BOS2_RUN2 - {SPR_BOS2,1,3,{A_Chase},S_BOS2_RUN4,0,0}, // S_BOS2_RUN3 - {SPR_BOS2,1,3,{A_Chase},S_BOS2_RUN5,0,0}, // S_BOS2_RUN4 - {SPR_BOS2,2,3,{A_Chase},S_BOS2_RUN6,0,0}, // S_BOS2_RUN5 - {SPR_BOS2,2,3,{A_Chase},S_BOS2_RUN7,0,0}, // S_BOS2_RUN6 - {SPR_BOS2,3,3,{A_Chase},S_BOS2_RUN8,0,0}, // S_BOS2_RUN7 - {SPR_BOS2,3,3,{A_Chase},S_BOS2_RUN1,0,0}, // S_BOS2_RUN8 - {SPR_BOS2,4,8,{A_FaceTarget},S_BOS2_ATK2,0,0}, // S_BOS2_ATK1 - {SPR_BOS2,5,8,{A_FaceTarget},S_BOS2_ATK3,0,0}, // S_BOS2_ATK2 - {SPR_BOS2,6,8,{A_BruisAttack},S_BOS2_RUN1,0,0}, // S_BOS2_ATK3 + {SPR_BOS2,0,10,{.acp1 = (actionf_p1)A_Look},S_BOS2_STND2,0,0}, // S_BOS2_STND + {SPR_BOS2,1,10,{.acp1 = (actionf_p1)A_Look},S_BOS2_STND,0,0}, // S_BOS2_STND2 + {SPR_BOS2,0,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN2,0,0}, // S_BOS2_RUN1 + {SPR_BOS2,0,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN3,0,0}, // S_BOS2_RUN2 + {SPR_BOS2,1,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN4,0,0}, // S_BOS2_RUN3 + {SPR_BOS2,1,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN5,0,0}, // S_BOS2_RUN4 + {SPR_BOS2,2,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN6,0,0}, // S_BOS2_RUN5 + {SPR_BOS2,2,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN7,0,0}, // S_BOS2_RUN6 + {SPR_BOS2,3,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN8,0,0}, // S_BOS2_RUN7 + {SPR_BOS2,3,3,{.acp1 = (actionf_p1)A_Chase},S_BOS2_RUN1,0,0}, // S_BOS2_RUN8 + {SPR_BOS2,4,8,{.acp1 = (actionf_p1)A_FaceTarget},S_BOS2_ATK2,0,0}, // S_BOS2_ATK1 + {SPR_BOS2,5,8,{.acp1 = (actionf_p1)A_FaceTarget},S_BOS2_ATK3,0,0}, // S_BOS2_ATK2 + {SPR_BOS2,6,8,{.acp1 = (actionf_p1)A_BruisAttack},S_BOS2_RUN1,0,0}, // S_BOS2_ATK3 {SPR_BOS2,7,2,{NULL},S_BOS2_PAIN2,0,0}, // S_BOS2_PAIN - {SPR_BOS2,7,2,{A_Pain},S_BOS2_RUN1,0,0}, // S_BOS2_PAIN2 + {SPR_BOS2,7,2,{.acp1 = (actionf_p1)A_Pain},S_BOS2_RUN1,0,0}, // S_BOS2_PAIN2 {SPR_BOS2,8,8,{NULL},S_BOS2_DIE2,0,0}, // S_BOS2_DIE1 - {SPR_BOS2,9,8,{A_Scream},S_BOS2_DIE3,0,0}, // S_BOS2_DIE2 + {SPR_BOS2,9,8,{.acp1 = (actionf_p1)A_Scream},S_BOS2_DIE3,0,0}, // S_BOS2_DIE2 {SPR_BOS2,10,8,{NULL},S_BOS2_DIE4,0,0}, // S_BOS2_DIE3 - {SPR_BOS2,11,8,{A_Fall},S_BOS2_DIE5,0,0}, // S_BOS2_DIE4 + {SPR_BOS2,11,8,{.acp1 = (actionf_p1)A_Fall},S_BOS2_DIE5,0,0}, // S_BOS2_DIE4 {SPR_BOS2,12,8,{NULL},S_BOS2_DIE6,0,0}, // S_BOS2_DIE5 {SPR_BOS2,13,8,{NULL},S_BOS2_DIE7,0,0}, // S_BOS2_DIE6 {SPR_BOS2,14,-1,{NULL},S_NULL,0,0}, // S_BOS2_DIE7 @@ -656,44 +656,44 @@ state_t states[NUMSTATES] = { {SPR_BOS2,10,8,{NULL},S_BOS2_RAISE6,0,0}, // S_BOS2_RAISE5 {SPR_BOS2,9,8,{NULL},S_BOS2_RAISE7,0,0}, // S_BOS2_RAISE6 {SPR_BOS2,8,8,{NULL},S_BOS2_RUN1,0,0}, // S_BOS2_RAISE7 - {SPR_SKUL,32768,10,{A_Look},S_SKULL_STND2,0,0}, // S_SKULL_STND - {SPR_SKUL,32769,10,{A_Look},S_SKULL_STND,0,0}, // S_SKULL_STND2 - {SPR_SKUL,32768,6,{A_Chase},S_SKULL_RUN2,0,0}, // S_SKULL_RUN1 - {SPR_SKUL,32769,6,{A_Chase},S_SKULL_RUN1,0,0}, // S_SKULL_RUN2 - {SPR_SKUL,32770,10,{A_FaceTarget},S_SKULL_ATK2,0,0}, // S_SKULL_ATK1 - {SPR_SKUL,32771,4,{A_SkullAttack},S_SKULL_ATK3,0,0}, // S_SKULL_ATK2 + {SPR_SKUL,32768,10,{.acp1 = (actionf_p1)A_Look},S_SKULL_STND2,0,0}, // S_SKULL_STND + {SPR_SKUL,32769,10,{.acp1 = (actionf_p1)A_Look},S_SKULL_STND,0,0}, // S_SKULL_STND2 + {SPR_SKUL,32768,6,{.acp1 = (actionf_p1)A_Chase},S_SKULL_RUN2,0,0}, // S_SKULL_RUN1 + {SPR_SKUL,32769,6,{.acp1 = (actionf_p1)A_Chase},S_SKULL_RUN1,0,0}, // S_SKULL_RUN2 + {SPR_SKUL,32770,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SKULL_ATK2,0,0}, // S_SKULL_ATK1 + {SPR_SKUL,32771,4,{.acp1 = (actionf_p1)A_SkullAttack},S_SKULL_ATK3,0,0}, // S_SKULL_ATK2 {SPR_SKUL,32770,4,{NULL},S_SKULL_ATK4,0,0}, // S_SKULL_ATK3 {SPR_SKUL,32771,4,{NULL},S_SKULL_ATK3,0,0}, // S_SKULL_ATK4 {SPR_SKUL,32772,3,{NULL},S_SKULL_PAIN2,0,0}, // S_SKULL_PAIN - {SPR_SKUL,32772,3,{A_Pain},S_SKULL_RUN1,0,0}, // S_SKULL_PAIN2 + {SPR_SKUL,32772,3,{.acp1 = (actionf_p1)A_Pain},S_SKULL_RUN1,0,0}, // S_SKULL_PAIN2 {SPR_SKUL,32773,6,{NULL},S_SKULL_DIE2,0,0}, // S_SKULL_DIE1 - {SPR_SKUL,32774,6,{A_Scream},S_SKULL_DIE3,0,0}, // S_SKULL_DIE2 + {SPR_SKUL,32774,6,{.acp1 = (actionf_p1)A_Scream},S_SKULL_DIE3,0,0}, // S_SKULL_DIE2 {SPR_SKUL,32775,6,{NULL},S_SKULL_DIE4,0,0}, // S_SKULL_DIE3 - {SPR_SKUL,32776,6,{A_Fall},S_SKULL_DIE5,0,0}, // S_SKULL_DIE4 + {SPR_SKUL,32776,6,{.acp1 = (actionf_p1)A_Fall},S_SKULL_DIE5,0,0}, // S_SKULL_DIE4 {SPR_SKUL,9,6,{NULL},S_SKULL_DIE6,0,0}, // S_SKULL_DIE5 {SPR_SKUL,10,6,{NULL},S_NULL,0,0}, // S_SKULL_DIE6 - {SPR_SPID,0,10,{A_Look},S_SPID_STND2,0,0}, // S_SPID_STND - {SPR_SPID,1,10,{A_Look},S_SPID_STND,0,0}, // S_SPID_STND2 - {SPR_SPID,0,3,{A_Metal},S_SPID_RUN2,0,0}, // S_SPID_RUN1 - {SPR_SPID,0,3,{A_Chase},S_SPID_RUN3,0,0}, // S_SPID_RUN2 - {SPR_SPID,1,3,{A_Chase},S_SPID_RUN4,0,0}, // S_SPID_RUN3 - {SPR_SPID,1,3,{A_Chase},S_SPID_RUN5,0,0}, // S_SPID_RUN4 - {SPR_SPID,2,3,{A_Metal},S_SPID_RUN6,0,0}, // S_SPID_RUN5 - {SPR_SPID,2,3,{A_Chase},S_SPID_RUN7,0,0}, // S_SPID_RUN6 - {SPR_SPID,3,3,{A_Chase},S_SPID_RUN8,0,0}, // S_SPID_RUN7 - {SPR_SPID,3,3,{A_Chase},S_SPID_RUN9,0,0}, // S_SPID_RUN8 - {SPR_SPID,4,3,{A_Metal},S_SPID_RUN10,0,0}, // S_SPID_RUN9 - {SPR_SPID,4,3,{A_Chase},S_SPID_RUN11,0,0}, // S_SPID_RUN10 - {SPR_SPID,5,3,{A_Chase},S_SPID_RUN12,0,0}, // S_SPID_RUN11 - {SPR_SPID,5,3,{A_Chase},S_SPID_RUN1,0,0}, // S_SPID_RUN12 - {SPR_SPID,32768,20,{A_FaceTarget},S_SPID_ATK2,0,0}, // S_SPID_ATK1 - {SPR_SPID,32774,4,{A_SPosAttack},S_SPID_ATK3,0,0}, // S_SPID_ATK2 - {SPR_SPID,32775,4,{A_SPosAttack},S_SPID_ATK4,0,0}, // S_SPID_ATK3 - {SPR_SPID,32775,1,{A_SpidRefire},S_SPID_ATK2,0,0}, // S_SPID_ATK4 + {SPR_SPID,0,10,{.acp1 = (actionf_p1)A_Look},S_SPID_STND2,0,0}, // S_SPID_STND + {SPR_SPID,1,10,{.acp1 = (actionf_p1)A_Look},S_SPID_STND,0,0}, // S_SPID_STND2 + {SPR_SPID,0,3,{.acp1 = (actionf_p1)A_Metal},S_SPID_RUN2,0,0}, // S_SPID_RUN1 + {SPR_SPID,0,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN3,0,0}, // S_SPID_RUN2 + {SPR_SPID,1,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN4,0,0}, // S_SPID_RUN3 + {SPR_SPID,1,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN5,0,0}, // S_SPID_RUN4 + {SPR_SPID,2,3,{.acp1 = (actionf_p1)A_Metal},S_SPID_RUN6,0,0}, // S_SPID_RUN5 + {SPR_SPID,2,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN7,0,0}, // S_SPID_RUN6 + {SPR_SPID,3,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN8,0,0}, // S_SPID_RUN7 + {SPR_SPID,3,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN9,0,0}, // S_SPID_RUN8 + {SPR_SPID,4,3,{.acp1 = (actionf_p1)A_Metal},S_SPID_RUN10,0,0}, // S_SPID_RUN9 + {SPR_SPID,4,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN11,0,0}, // S_SPID_RUN10 + {SPR_SPID,5,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN12,0,0}, // S_SPID_RUN11 + {SPR_SPID,5,3,{.acp1 = (actionf_p1)A_Chase},S_SPID_RUN1,0,0}, // S_SPID_RUN12 + {SPR_SPID,32768,20,{.acp1 = (actionf_p1)A_FaceTarget},S_SPID_ATK2,0,0}, // S_SPID_ATK1 + {SPR_SPID,32774,4,{.acp1 = (actionf_p1)A_SPosAttack},S_SPID_ATK3,0,0}, // S_SPID_ATK2 + {SPR_SPID,32775,4,{.acp1 = (actionf_p1)A_SPosAttack},S_SPID_ATK4,0,0}, // S_SPID_ATK3 + {SPR_SPID,32775,1,{.acp1 = (actionf_p1)A_SpidRefire},S_SPID_ATK2,0,0}, // S_SPID_ATK4 {SPR_SPID,8,3,{NULL},S_SPID_PAIN2,0,0}, // S_SPID_PAIN - {SPR_SPID,8,3,{A_Pain},S_SPID_RUN1,0,0}, // S_SPID_PAIN2 - {SPR_SPID,9,20,{A_Scream},S_SPID_DIE2,0,0}, // S_SPID_DIE1 - {SPR_SPID,10,10,{A_Fall},S_SPID_DIE3,0,0}, // S_SPID_DIE2 + {SPR_SPID,8,3,{.acp1 = (actionf_p1)A_Pain},S_SPID_RUN1,0,0}, // S_SPID_PAIN2 + {SPR_SPID,9,20,{.acp1 = (actionf_p1)A_Scream},S_SPID_DIE2,0,0}, // S_SPID_DIE1 + {SPR_SPID,10,10,{.acp1 = (actionf_p1)A_Fall},S_SPID_DIE3,0,0}, // S_SPID_DIE2 {SPR_SPID,11,10,{NULL},S_SPID_DIE4,0,0}, // S_SPID_DIE3 {SPR_SPID,12,10,{NULL},S_SPID_DIE5,0,0}, // S_SPID_DIE4 {SPR_SPID,13,10,{NULL},S_SPID_DIE6,0,0}, // S_SPID_DIE5 @@ -702,35 +702,35 @@ state_t states[NUMSTATES] = { {SPR_SPID,16,10,{NULL},S_SPID_DIE9,0,0}, // S_SPID_DIE8 {SPR_SPID,17,10,{NULL},S_SPID_DIE10,0,0}, // S_SPID_DIE9 {SPR_SPID,18,30,{NULL},S_SPID_DIE11,0,0}, // S_SPID_DIE10 - {SPR_SPID,18,-1,{A_BossDeath},S_NULL,0,0}, // S_SPID_DIE11 - {SPR_BSPI,0,10,{A_Look},S_BSPI_STND2,0,0}, // S_BSPI_STND - {SPR_BSPI,1,10,{A_Look},S_BSPI_STND,0,0}, // S_BSPI_STND2 + {SPR_SPID,18,-1,{.acp1 = (actionf_p1)A_BossDeath},S_NULL,0,0}, // S_SPID_DIE11 + {SPR_BSPI,0,10,{.acp1 = (actionf_p1)A_Look},S_BSPI_STND2,0,0}, // S_BSPI_STND + {SPR_BSPI,1,10,{.acp1 = (actionf_p1)A_Look},S_BSPI_STND,0,0}, // S_BSPI_STND2 {SPR_BSPI,0,20,{NULL},S_BSPI_RUN1,0,0}, // S_BSPI_SIGHT - {SPR_BSPI,0,3,{A_BabyMetal},S_BSPI_RUN2,0,0}, // S_BSPI_RUN1 - {SPR_BSPI,0,3,{A_Chase},S_BSPI_RUN3,0,0}, // S_BSPI_RUN2 - {SPR_BSPI,1,3,{A_Chase},S_BSPI_RUN4,0,0}, // S_BSPI_RUN3 - {SPR_BSPI,1,3,{A_Chase},S_BSPI_RUN5,0,0}, // S_BSPI_RUN4 - {SPR_BSPI,2,3,{A_Chase},S_BSPI_RUN6,0,0}, // S_BSPI_RUN5 - {SPR_BSPI,2,3,{A_Chase},S_BSPI_RUN7,0,0}, // S_BSPI_RUN6 - {SPR_BSPI,3,3,{A_BabyMetal},S_BSPI_RUN8,0,0}, // S_BSPI_RUN7 - {SPR_BSPI,3,3,{A_Chase},S_BSPI_RUN9,0,0}, // S_BSPI_RUN8 - {SPR_BSPI,4,3,{A_Chase},S_BSPI_RUN10,0,0}, // S_BSPI_RUN9 - {SPR_BSPI,4,3,{A_Chase},S_BSPI_RUN11,0,0}, // S_BSPI_RUN10 - {SPR_BSPI,5,3,{A_Chase},S_BSPI_RUN12,0,0}, // S_BSPI_RUN11 - {SPR_BSPI,5,3,{A_Chase},S_BSPI_RUN1,0,0}, // S_BSPI_RUN12 - {SPR_BSPI,32768,20,{A_FaceTarget},S_BSPI_ATK2,0,0}, // S_BSPI_ATK1 - {SPR_BSPI,32774,4,{A_BspiAttack},S_BSPI_ATK3,0,0}, // S_BSPI_ATK2 + {SPR_BSPI,0,3,{.acp1 = (actionf_p1)A_BabyMetal},S_BSPI_RUN2,0,0}, // S_BSPI_RUN1 + {SPR_BSPI,0,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN3,0,0}, // S_BSPI_RUN2 + {SPR_BSPI,1,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN4,0,0}, // S_BSPI_RUN3 + {SPR_BSPI,1,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN5,0,0}, // S_BSPI_RUN4 + {SPR_BSPI,2,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN6,0,0}, // S_BSPI_RUN5 + {SPR_BSPI,2,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN7,0,0}, // S_BSPI_RUN6 + {SPR_BSPI,3,3,{.acp1 = (actionf_p1)A_BabyMetal},S_BSPI_RUN8,0,0}, // S_BSPI_RUN7 + {SPR_BSPI,3,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN9,0,0}, // S_BSPI_RUN8 + {SPR_BSPI,4,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN10,0,0}, // S_BSPI_RUN9 + {SPR_BSPI,4,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN11,0,0}, // S_BSPI_RUN10 + {SPR_BSPI,5,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN12,0,0}, // S_BSPI_RUN11 + {SPR_BSPI,5,3,{.acp1 = (actionf_p1)A_Chase},S_BSPI_RUN1,0,0}, // S_BSPI_RUN12 + {SPR_BSPI,32768,20,{.acp1 = (actionf_p1)A_FaceTarget},S_BSPI_ATK2,0,0}, // S_BSPI_ATK1 + {SPR_BSPI,32774,4,{.acp1 = (actionf_p1)A_BspiAttack},S_BSPI_ATK3,0,0}, // S_BSPI_ATK2 {SPR_BSPI,32775,4,{NULL},S_BSPI_ATK4,0,0}, // S_BSPI_ATK3 - {SPR_BSPI,32775,1,{A_SpidRefire},S_BSPI_ATK2,0,0}, // S_BSPI_ATK4 + {SPR_BSPI,32775,1,{.acp1 = (actionf_p1)A_SpidRefire},S_BSPI_ATK2,0,0}, // S_BSPI_ATK4 {SPR_BSPI,8,3,{NULL},S_BSPI_PAIN2,0,0}, // S_BSPI_PAIN - {SPR_BSPI,8,3,{A_Pain},S_BSPI_RUN1,0,0}, // S_BSPI_PAIN2 - {SPR_BSPI,9,20,{A_Scream},S_BSPI_DIE2,0,0}, // S_BSPI_DIE1 - {SPR_BSPI,10,7,{A_Fall},S_BSPI_DIE3,0,0}, // S_BSPI_DIE2 + {SPR_BSPI,8,3,{.acp1 = (actionf_p1)A_Pain},S_BSPI_RUN1,0,0}, // S_BSPI_PAIN2 + {SPR_BSPI,9,20,{.acp1 = (actionf_p1)A_Scream},S_BSPI_DIE2,0,0}, // S_BSPI_DIE1 + {SPR_BSPI,10,7,{.acp1 = (actionf_p1)A_Fall},S_BSPI_DIE3,0,0}, // S_BSPI_DIE2 {SPR_BSPI,11,7,{NULL},S_BSPI_DIE4,0,0}, // S_BSPI_DIE3 {SPR_BSPI,12,7,{NULL},S_BSPI_DIE5,0,0}, // S_BSPI_DIE4 {SPR_BSPI,13,7,{NULL},S_BSPI_DIE6,0,0}, // S_BSPI_DIE5 {SPR_BSPI,14,7,{NULL},S_BSPI_DIE7,0,0}, // S_BSPI_DIE6 - {SPR_BSPI,15,-1,{A_BossDeath},S_NULL,0,0}, // S_BSPI_DIE7 + {SPR_BSPI,15,-1,{.acp1 = (actionf_p1)A_BossDeath},S_NULL,0,0}, // S_BSPI_DIE7 {SPR_BSPI,15,5,{NULL},S_BSPI_RAISE2,0,0}, // S_BSPI_RAISE1 {SPR_BSPI,14,5,{NULL},S_BSPI_RAISE3,0,0}, // S_BSPI_RAISE2 {SPR_BSPI,13,5,{NULL},S_BSPI_RAISE4,0,0}, // S_BSPI_RAISE3 @@ -745,52 +745,52 @@ state_t states[NUMSTATES] = { {SPR_APBX,32770,5,{NULL},S_ARACH_PLEX4,0,0}, // S_ARACH_PLEX3 {SPR_APBX,32771,5,{NULL},S_ARACH_PLEX5,0,0}, // S_ARACH_PLEX4 {SPR_APBX,32772,5,{NULL},S_NULL,0,0}, // S_ARACH_PLEX5 - {SPR_CYBR,0,10,{A_Look},S_CYBER_STND2,0,0}, // S_CYBER_STND - {SPR_CYBR,1,10,{A_Look},S_CYBER_STND,0,0}, // S_CYBER_STND2 - {SPR_CYBR,0,3,{A_Hoof},S_CYBER_RUN2,0,0}, // S_CYBER_RUN1 - {SPR_CYBR,0,3,{A_Chase},S_CYBER_RUN3,0,0}, // S_CYBER_RUN2 - {SPR_CYBR,1,3,{A_Chase},S_CYBER_RUN4,0,0}, // S_CYBER_RUN3 - {SPR_CYBR,1,3,{A_Chase},S_CYBER_RUN5,0,0}, // S_CYBER_RUN4 - {SPR_CYBR,2,3,{A_Chase},S_CYBER_RUN6,0,0}, // S_CYBER_RUN5 - {SPR_CYBR,2,3,{A_Chase},S_CYBER_RUN7,0,0}, // S_CYBER_RUN6 - {SPR_CYBR,3,3,{A_Metal},S_CYBER_RUN8,0,0}, // S_CYBER_RUN7 - {SPR_CYBR,3,3,{A_Chase},S_CYBER_RUN1,0,0}, // S_CYBER_RUN8 - {SPR_CYBR,4,6,{A_FaceTarget},S_CYBER_ATK2,0,0}, // S_CYBER_ATK1 + {SPR_CYBR,0,10,{.acp1 = (actionf_p1)A_Look},S_CYBER_STND2,0,0}, // S_CYBER_STND + {SPR_CYBR,1,10,{.acp1 = (actionf_p1)A_Look},S_CYBER_STND,0,0}, // S_CYBER_STND2 + {SPR_CYBR,0,3,{.acp1 = (actionf_p1)A_Hoof},S_CYBER_RUN2,0,0}, // S_CYBER_RUN1 + {SPR_CYBR,0,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN3,0,0}, // S_CYBER_RUN2 + {SPR_CYBR,1,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN4,0,0}, // S_CYBER_RUN3 + {SPR_CYBR,1,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN5,0,0}, // S_CYBER_RUN4 + {SPR_CYBR,2,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN6,0,0}, // S_CYBER_RUN5 + {SPR_CYBR,2,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN7,0,0}, // S_CYBER_RUN6 + {SPR_CYBR,3,3,{.acp1 = (actionf_p1)A_Metal},S_CYBER_RUN8,0,0}, // S_CYBER_RUN7 + {SPR_CYBR,3,3,{.acp1 = (actionf_p1)A_Chase},S_CYBER_RUN1,0,0}, // S_CYBER_RUN8 + {SPR_CYBR,4,6,{.acp1 = (actionf_p1)A_FaceTarget},S_CYBER_ATK2,0,0}, // S_CYBER_ATK1 // [crispy] render Cyberdemon's firing frames full-bright - {SPR_CYBR,5|0x8000,12,{A_CyberAttack},S_CYBER_ATK3,0,0}, // S_CYBER_ATK2 - {SPR_CYBR,4,12,{A_FaceTarget},S_CYBER_ATK4,0,0}, // S_CYBER_ATK3 - {SPR_CYBR,5|0x8000,12,{A_CyberAttack},S_CYBER_ATK5,0,0}, // S_CYBER_ATK4 - {SPR_CYBR,4,12,{A_FaceTarget},S_CYBER_ATK6,0,0}, // S_CYBER_ATK5 - {SPR_CYBR,5|0x8000,12,{A_CyberAttack},S_CYBER_RUN1,0,0}, // S_CYBER_ATK6 - {SPR_CYBR,6,10,{A_Pain},S_CYBER_RUN1,0,0}, // S_CYBER_PAIN + {SPR_CYBR,5|0x8000,12,{.acp1 = (actionf_p1)A_CyberAttack},S_CYBER_ATK3,0,0}, // S_CYBER_ATK2 + {SPR_CYBR,4,12,{.acp1 = (actionf_p1)A_FaceTarget},S_CYBER_ATK4,0,0}, // S_CYBER_ATK3 + {SPR_CYBR,5|0x8000,12,{.acp1 = (actionf_p1)A_CyberAttack},S_CYBER_ATK5,0,0}, // S_CYBER_ATK4 + {SPR_CYBR,4,12,{.acp1 = (actionf_p1)A_FaceTarget},S_CYBER_ATK6,0,0}, // S_CYBER_ATK5 + {SPR_CYBR,5|0x8000,12,{.acp1 = (actionf_p1)A_CyberAttack},S_CYBER_RUN1,0,0}, // S_CYBER_ATK6 + {SPR_CYBR,6,10,{.acp1 = (actionf_p1)A_Pain},S_CYBER_RUN1,0,0}, // S_CYBER_PAIN {SPR_CYBR,7,10,{NULL},S_CYBER_DIE2,0,0}, // S_CYBER_DIE1 - {SPR_CYBR,8,10,{A_Scream},S_CYBER_DIE3,0,0}, // S_CYBER_DIE2 + {SPR_CYBR,8,10,{.acp1 = (actionf_p1)A_Scream},S_CYBER_DIE3,0,0}, // S_CYBER_DIE2 {SPR_CYBR,9,10,{NULL},S_CYBER_DIE4,0,0}, // S_CYBER_DIE3 {SPR_CYBR,10,10,{NULL},S_CYBER_DIE5,0,0}, // S_CYBER_DIE4 {SPR_CYBR,11,10,{NULL},S_CYBER_DIE6,0,0}, // S_CYBER_DIE5 - {SPR_CYBR,12,10,{A_Fall},S_CYBER_DIE7,0,0}, // S_CYBER_DIE6 + {SPR_CYBR,12,10,{.acp1 = (actionf_p1)A_Fall},S_CYBER_DIE7,0,0}, // S_CYBER_DIE6 {SPR_CYBR,13,10,{NULL},S_CYBER_DIE8,0,0}, // S_CYBER_DIE7 {SPR_CYBR,14,10,{NULL},S_CYBER_DIE9,0,0}, // S_CYBER_DIE8 {SPR_CYBR,15,30,{NULL},S_CYBER_DIE10,0,0}, // S_CYBER_DIE9 - {SPR_CYBR,15,-1,{A_BossDeath},S_NULL,0,0}, // S_CYBER_DIE10 - {SPR_PAIN,0,10,{A_Look},S_PAIN_STND,0,0}, // S_PAIN_STND - {SPR_PAIN,0,3,{A_Chase},S_PAIN_RUN2,0,0}, // S_PAIN_RUN1 - {SPR_PAIN,0,3,{A_Chase},S_PAIN_RUN3,0,0}, // S_PAIN_RUN2 - {SPR_PAIN,1,3,{A_Chase},S_PAIN_RUN4,0,0}, // S_PAIN_RUN3 - {SPR_PAIN,1,3,{A_Chase},S_PAIN_RUN5,0,0}, // S_PAIN_RUN4 - {SPR_PAIN,2,3,{A_Chase},S_PAIN_RUN6,0,0}, // S_PAIN_RUN5 - {SPR_PAIN,2,3,{A_Chase},S_PAIN_RUN1,0,0}, // S_PAIN_RUN6 - {SPR_PAIN,3,5,{A_FaceTarget},S_PAIN_ATK2,0,0}, // S_PAIN_ATK1 - {SPR_PAIN,4,5,{A_FaceTarget},S_PAIN_ATK3,0,0}, // S_PAIN_ATK2 - {SPR_PAIN,32773,5,{A_FaceTarget},S_PAIN_ATK4,0,0}, // S_PAIN_ATK3 - {SPR_PAIN,32773,0,{A_PainAttack},S_PAIN_RUN1,0,0}, // S_PAIN_ATK4 + {SPR_CYBR,15,-1,{.acp1 = (actionf_p1)A_BossDeath},S_NULL,0,0}, // S_CYBER_DIE10 + {SPR_PAIN,0,10,{.acp1 = (actionf_p1)A_Look},S_PAIN_STND,0,0}, // S_PAIN_STND + {SPR_PAIN,0,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN2,0,0}, // S_PAIN_RUN1 + {SPR_PAIN,0,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN3,0,0}, // S_PAIN_RUN2 + {SPR_PAIN,1,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN4,0,0}, // S_PAIN_RUN3 + {SPR_PAIN,1,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN5,0,0}, // S_PAIN_RUN4 + {SPR_PAIN,2,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN6,0,0}, // S_PAIN_RUN5 + {SPR_PAIN,2,3,{.acp1 = (actionf_p1)A_Chase},S_PAIN_RUN1,0,0}, // S_PAIN_RUN6 + {SPR_PAIN,3,5,{.acp1 = (actionf_p1)A_FaceTarget},S_PAIN_ATK2,0,0}, // S_PAIN_ATK1 + {SPR_PAIN,4,5,{.acp1 = (actionf_p1)A_FaceTarget},S_PAIN_ATK3,0,0}, // S_PAIN_ATK2 + {SPR_PAIN,32773,5,{.acp1 = (actionf_p1)A_FaceTarget},S_PAIN_ATK4,0,0}, // S_PAIN_ATK3 + {SPR_PAIN,32773,0,{.acp1 = (actionf_p1)A_PainAttack},S_PAIN_RUN1,0,0}, // S_PAIN_ATK4 {SPR_PAIN,6,6,{NULL},S_PAIN_PAIN2,0,0}, // S_PAIN_PAIN - {SPR_PAIN,6,6,{A_Pain},S_PAIN_RUN1,0,0}, // S_PAIN_PAIN2 + {SPR_PAIN,6,6,{.acp1 = (actionf_p1)A_Pain},S_PAIN_RUN1,0,0}, // S_PAIN_PAIN2 {SPR_PAIN,32775,8,{NULL},S_PAIN_DIE2,0,0}, // S_PAIN_DIE1 - {SPR_PAIN,32776,8,{A_Scream},S_PAIN_DIE3,0,0}, // S_PAIN_DIE2 + {SPR_PAIN,32776,8,{.acp1 = (actionf_p1)A_Scream},S_PAIN_DIE3,0,0}, // S_PAIN_DIE2 {SPR_PAIN,32777,8,{NULL},S_PAIN_DIE4,0,0}, // S_PAIN_DIE3 {SPR_PAIN,32778,8,{NULL},S_PAIN_DIE5,0,0}, // S_PAIN_DIE4 - {SPR_PAIN,32779,8,{A_PainDie},S_PAIN_DIE6,0,0}, // S_PAIN_DIE5 + {SPR_PAIN,32779,8,{.acp1 = (actionf_p1)A_PainDie},S_PAIN_DIE6,0,0}, // S_PAIN_DIE5 {SPR_PAIN,32780,8,{NULL},S_NULL,0,0}, // S_PAIN_DIE6 {SPR_PAIN,12,8,{NULL},S_PAIN_RAISE2,0,0}, // S_PAIN_RAISE1 {SPR_PAIN,11,8,{NULL},S_PAIN_RAISE3,0,0}, // S_PAIN_RAISE2 @@ -798,32 +798,32 @@ state_t states[NUMSTATES] = { {SPR_PAIN,9,8,{NULL},S_PAIN_RAISE5,0,0}, // S_PAIN_RAISE4 {SPR_PAIN,8,8,{NULL},S_PAIN_RAISE6,0,0}, // S_PAIN_RAISE5 {SPR_PAIN,7,8,{NULL},S_PAIN_RUN1,0,0}, // S_PAIN_RAISE6 - {SPR_SSWV,0,10,{A_Look},S_SSWV_STND2,0,0}, // S_SSWV_STND - {SPR_SSWV,1,10,{A_Look},S_SSWV_STND,0,0}, // S_SSWV_STND2 - {SPR_SSWV,0,3,{A_Chase},S_SSWV_RUN2,0,0}, // S_SSWV_RUN1 - {SPR_SSWV,0,3,{A_Chase},S_SSWV_RUN3,0,0}, // S_SSWV_RUN2 - {SPR_SSWV,1,3,{A_Chase},S_SSWV_RUN4,0,0}, // S_SSWV_RUN3 - {SPR_SSWV,1,3,{A_Chase},S_SSWV_RUN5,0,0}, // S_SSWV_RUN4 - {SPR_SSWV,2,3,{A_Chase},S_SSWV_RUN6,0,0}, // S_SSWV_RUN5 - {SPR_SSWV,2,3,{A_Chase},S_SSWV_RUN7,0,0}, // S_SSWV_RUN6 - {SPR_SSWV,3,3,{A_Chase},S_SSWV_RUN8,0,0}, // S_SSWV_RUN7 - {SPR_SSWV,3,3,{A_Chase},S_SSWV_RUN1,0,0}, // S_SSWV_RUN8 - {SPR_SSWV,4,10,{A_FaceTarget},S_SSWV_ATK2,0,0}, // S_SSWV_ATK1 - {SPR_SSWV,5,10,{A_FaceTarget},S_SSWV_ATK3,0,0}, // S_SSWV_ATK2 - {SPR_SSWV,32774,4,{A_CPosAttack},S_SSWV_ATK4,0,0}, // S_SSWV_ATK3 - {SPR_SSWV,5,6,{A_FaceTarget},S_SSWV_ATK5,0,0}, // S_SSWV_ATK4 - {SPR_SSWV,32774,4,{A_CPosAttack},S_SSWV_ATK6,0,0}, // S_SSWV_ATK5 - {SPR_SSWV,5,1,{A_CPosRefire},S_SSWV_ATK2,0,0}, // S_SSWV_ATK6 + {SPR_SSWV,0,10,{.acp1 = (actionf_p1)A_Look},S_SSWV_STND2,0,0}, // S_SSWV_STND + {SPR_SSWV,1,10,{.acp1 = (actionf_p1)A_Look},S_SSWV_STND,0,0}, // S_SSWV_STND2 + {SPR_SSWV,0,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN2,0,0}, // S_SSWV_RUN1 + {SPR_SSWV,0,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN3,0,0}, // S_SSWV_RUN2 + {SPR_SSWV,1,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN4,0,0}, // S_SSWV_RUN3 + {SPR_SSWV,1,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN5,0,0}, // S_SSWV_RUN4 + {SPR_SSWV,2,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN6,0,0}, // S_SSWV_RUN5 + {SPR_SSWV,2,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN7,0,0}, // S_SSWV_RUN6 + {SPR_SSWV,3,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN8,0,0}, // S_SSWV_RUN7 + {SPR_SSWV,3,3,{.acp1 = (actionf_p1)A_Chase},S_SSWV_RUN1,0,0}, // S_SSWV_RUN8 + {SPR_SSWV,4,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SSWV_ATK2,0,0}, // S_SSWV_ATK1 + {SPR_SSWV,5,10,{.acp1 = (actionf_p1)A_FaceTarget},S_SSWV_ATK3,0,0}, // S_SSWV_ATK2 + {SPR_SSWV,32774,4,{.acp1 = (actionf_p1)A_CPosAttack},S_SSWV_ATK4,0,0}, // S_SSWV_ATK3 + {SPR_SSWV,5,6,{.acp1 = (actionf_p1)A_FaceTarget},S_SSWV_ATK5,0,0}, // S_SSWV_ATK4 + {SPR_SSWV,32774,4,{.acp1 = (actionf_p1)A_CPosAttack},S_SSWV_ATK6,0,0}, // S_SSWV_ATK5 + {SPR_SSWV,5,1,{.acp1 = (actionf_p1)A_CPosRefire},S_SSWV_ATK2,0,0}, // S_SSWV_ATK6 {SPR_SSWV,7,3,{NULL},S_SSWV_PAIN2,0,0}, // S_SSWV_PAIN - {SPR_SSWV,7,3,{A_Pain},S_SSWV_RUN1,0,0}, // S_SSWV_PAIN2 + {SPR_SSWV,7,3,{.acp1 = (actionf_p1)A_Pain},S_SSWV_RUN1,0,0}, // S_SSWV_PAIN2 {SPR_SSWV,8,5,{NULL},S_SSWV_DIE2,0,0}, // S_SSWV_DIE1 - {SPR_SSWV,9,5,{A_Scream},S_SSWV_DIE3,0,0}, // S_SSWV_DIE2 - {SPR_SSWV,10,5,{A_Fall},S_SSWV_DIE4,0,0}, // S_SSWV_DIE3 + {SPR_SSWV,9,5,{.acp1 = (actionf_p1)A_Scream},S_SSWV_DIE3,0,0}, // S_SSWV_DIE2 + {SPR_SSWV,10,5,{.acp1 = (actionf_p1)A_Fall},S_SSWV_DIE4,0,0}, // S_SSWV_DIE3 {SPR_SSWV,11,5,{NULL},S_SSWV_DIE5,0,0}, // S_SSWV_DIE4 {SPR_SSWV,12,-1,{NULL},S_NULL,0,0}, // S_SSWV_DIE5 {SPR_SSWV,13,5,{NULL},S_SSWV_XDIE2,0,0}, // S_SSWV_XDIE1 - {SPR_SSWV,14,5,{A_XScream},S_SSWV_XDIE3,0,0}, // S_SSWV_XDIE2 - {SPR_SSWV,15,5,{A_Fall},S_SSWV_XDIE4,0,0}, // S_SSWV_XDIE3 + {SPR_SSWV,14,5,{.acp1 = (actionf_p1)A_XScream},S_SSWV_XDIE3,0,0}, // S_SSWV_XDIE2 + {SPR_SSWV,15,5,{.acp1 = (actionf_p1)A_Fall},S_SSWV_XDIE4,0,0}, // S_SSWV_XDIE3 {SPR_SSWV,16,5,{NULL},S_SSWV_XDIE5,0,0}, // S_SSWV_XDIE4 {SPR_SSWV,17,5,{NULL},S_SSWV_XDIE6,0,0}, // S_SSWV_XDIE5 {SPR_SSWV,18,5,{NULL},S_SSWV_XDIE7,0,0}, // S_SSWV_XDIE6 @@ -838,7 +838,7 @@ state_t states[NUMSTATES] = { {SPR_KEEN,0,-1,{NULL},S_KEENSTND,0,0}, // S_KEENSTND {SPR_KEEN,0,6,{NULL},S_COMMKEEN2,0,0}, // S_COMMKEEN {SPR_KEEN,1,6,{NULL},S_COMMKEEN3,0,0}, // S_COMMKEEN2 - {SPR_KEEN,2,6,{A_Scream},S_COMMKEEN4,0,0}, // S_COMMKEEN3 + {SPR_KEEN,2,6,{.acp1 = (actionf_p1)A_Scream},S_COMMKEEN4,0,0}, // S_COMMKEEN3 {SPR_KEEN,3,6,{NULL},S_COMMKEEN5,0,0}, // S_COMMKEEN4 {SPR_KEEN,4,6,{NULL},S_COMMKEEN6,0,0}, // S_COMMKEEN5 {SPR_KEEN,5,6,{NULL},S_COMMKEEN7,0,0}, // S_COMMKEEN6 @@ -846,34 +846,34 @@ state_t states[NUMSTATES] = { {SPR_KEEN,7,6,{NULL},S_COMMKEEN9,0,0}, // S_COMMKEEN8 {SPR_KEEN,8,6,{NULL},S_COMMKEEN10,0,0}, // S_COMMKEEN9 {SPR_KEEN,9,6,{NULL},S_COMMKEEN11,0,0}, // S_COMMKEEN10 - {SPR_KEEN,10,6,{A_KeenDie},S_COMMKEEN12,0,0},// S_COMMKEEN11 + {SPR_KEEN,10,6,{.acp1 = (actionf_p1)A_KeenDie},S_COMMKEEN12,0,0},// S_COMMKEEN11 {SPR_KEEN,11,-1,{NULL},S_NULL,0,0}, // S_COMMKEEN12 {SPR_KEEN,12,4,{NULL},S_KEENPAIN2,0,0}, // S_KEENPAIN - {SPR_KEEN,12,8,{A_Pain},S_KEENSTND,0,0}, // S_KEENPAIN2 + {SPR_KEEN,12,8,{.acp1 = (actionf_p1)A_Pain},S_KEENSTND,0,0}, // S_KEENPAIN2 {SPR_BBRN,0,-1,{NULL},S_NULL,0,0}, // S_BRAIN - {SPR_BBRN,1,36,{A_BrainPain},S_BRAIN,0,0}, // S_BRAIN_PAIN - {SPR_BBRN,0,100,{A_BrainScream},S_BRAIN_DIE2,0,0}, // S_BRAIN_DIE1 + {SPR_BBRN,1,36,{.acp1 = (actionf_p1)A_BrainPain},S_BRAIN,0,0}, // S_BRAIN_PAIN + {SPR_BBRN,0,100,{.acp1 = (actionf_p1)A_BrainScream},S_BRAIN_DIE2,0,0}, // S_BRAIN_DIE1 {SPR_BBRN,0,10,{NULL},S_BRAIN_DIE3,0,0}, // S_BRAIN_DIE2 {SPR_BBRN,0,10,{NULL},S_BRAIN_DIE4,0,0}, // S_BRAIN_DIE3 - {SPR_BBRN,0,-1,{A_BrainDie},S_NULL,0,0}, // S_BRAIN_DIE4 - {SPR_SSWV,0,10,{A_Look},S_BRAINEYE,0,0}, // S_BRAINEYE - {SPR_SSWV,0,181,{A_BrainAwake},S_BRAINEYE1,0,0}, // S_BRAINEYESEE - {SPR_SSWV,0,150,{A_BrainSpit},S_BRAINEYE1,0,0}, // S_BRAINEYE1 - {SPR_BOSF,32768,3,{A_SpawnSound},S_SPAWN2,0,0}, // S_SPAWN1 - {SPR_BOSF,32769,3,{A_SpawnFly},S_SPAWN3,0,0}, // S_SPAWN2 - {SPR_BOSF,32770,3,{A_SpawnFly},S_SPAWN4,0,0}, // S_SPAWN3 - {SPR_BOSF,32771,3,{A_SpawnFly},S_SPAWN1,0,0}, // S_SPAWN4 - {SPR_FIRE,32768,4,{A_Fire},S_SPAWNFIRE2,0,0}, // S_SPAWNFIRE1 - {SPR_FIRE,32769,4,{A_Fire},S_SPAWNFIRE3,0,0}, // S_SPAWNFIRE2 - {SPR_FIRE,32770,4,{A_Fire},S_SPAWNFIRE4,0,0}, // S_SPAWNFIRE3 - {SPR_FIRE,32771,4,{A_Fire},S_SPAWNFIRE5,0,0}, // S_SPAWNFIRE4 - {SPR_FIRE,32772,4,{A_Fire},S_SPAWNFIRE6,0,0}, // S_SPAWNFIRE5 - {SPR_FIRE,32773,4,{A_Fire},S_SPAWNFIRE7,0,0}, // S_SPAWNFIRE6 - {SPR_FIRE,32774,4,{A_Fire},S_SPAWNFIRE8,0,0}, // S_SPAWNFIRE7 - {SPR_FIRE,32775,4,{A_Fire},S_NULL,0,0}, // S_SPAWNFIRE8 + {SPR_BBRN,0,-1,{.acp1 = (actionf_p1)A_BrainDie},S_NULL,0,0}, // S_BRAIN_DIE4 + {SPR_SSWV,0,10,{.acp1 = (actionf_p1)A_Look},S_BRAINEYE,0,0}, // S_BRAINEYE + {SPR_SSWV,0,181,{.acp1 = (actionf_p1)A_BrainAwake},S_BRAINEYE1,0,0}, // S_BRAINEYESEE + {SPR_SSWV,0,150,{.acp1 = (actionf_p1)A_BrainSpit},S_BRAINEYE1,0,0}, // S_BRAINEYE1 + {SPR_BOSF,32768,3,{.acp1 = (actionf_p1)A_SpawnSound},S_SPAWN2,0,0}, // S_SPAWN1 + {SPR_BOSF,32769,3,{.acp1 = (actionf_p1)A_SpawnFly},S_SPAWN3,0,0}, // S_SPAWN2 + {SPR_BOSF,32770,3,{.acp1 = (actionf_p1)A_SpawnFly},S_SPAWN4,0,0}, // S_SPAWN3 + {SPR_BOSF,32771,3,{.acp1 = (actionf_p1)A_SpawnFly},S_SPAWN1,0,0}, // S_SPAWN4 + {SPR_FIRE,32768,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE2,0,0}, // S_SPAWNFIRE1 + {SPR_FIRE,32769,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE3,0,0}, // S_SPAWNFIRE2 + {SPR_FIRE,32770,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE4,0,0}, // S_SPAWNFIRE3 + {SPR_FIRE,32771,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE5,0,0}, // S_SPAWNFIRE4 + {SPR_FIRE,32772,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE6,0,0}, // S_SPAWNFIRE5 + {SPR_FIRE,32773,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE7,0,0}, // S_SPAWNFIRE6 + {SPR_FIRE,32774,4,{.acp1 = (actionf_p1)A_Fire},S_SPAWNFIRE8,0,0}, // S_SPAWNFIRE7 + {SPR_FIRE,32775,4,{.acp1 = (actionf_p1)A_Fire},S_NULL,0,0}, // S_SPAWNFIRE8 {SPR_MISL,32769,10,{NULL},S_BRAINEXPLODE2,0,0}, // S_BRAINEXPLODE1 {SPR_MISL,32770,10,{NULL},S_BRAINEXPLODE3,0,0}, // S_BRAINEXPLODE2 - {SPR_MISL,32771,10,{A_BrainExplode},S_NULL,0,0}, // S_BRAINEXPLODE3 + {SPR_MISL,32771,10,{.acp1 = (actionf_p1)A_BrainExplode},S_NULL,0,0}, // S_BRAINEXPLODE3 {SPR_ARM1,0,6,{NULL},S_ARM1A,0,0}, // S_ARM1 {SPR_ARM1,32769,7,{NULL},S_ARM1,0,0}, // S_ARM1A {SPR_ARM2,0,6,{NULL},S_ARM2A,0,0}, // S_ARM2 @@ -881,9 +881,9 @@ state_t states[NUMSTATES] = { {SPR_BAR1,0,6,{NULL},S_BAR2,0,0}, // S_BAR1 {SPR_BAR1,1,6,{NULL},S_BAR1,0,0}, // S_BAR2 {SPR_BEXP,32768,5,{NULL},S_BEXP2,0,0}, // S_BEXP - {SPR_BEXP,32769,5,{A_Scream},S_BEXP3,0,0}, // S_BEXP2 + {SPR_BEXP,32769,5,{.acp1 = (actionf_p1)A_Scream},S_BEXP3,0,0}, // S_BEXP2 {SPR_BEXP,32770,5,{NULL},S_BEXP4,0,0}, // S_BEXP3 - {SPR_BEXP,32771,10,{A_Explode},S_BEXP5,0,0}, // S_BEXP4 + {SPR_BEXP,32771,10,{.acp1 = (actionf_p1)A_Explode},S_BEXP5,0,0}, // S_BEXP4 {SPR_BEXP,32772,10,{NULL},S_NULL,0,0}, // S_BEXP5 // [JN] Diable full bright for Burning Barrel, use brightmap instead. {SPR_FCAN,0,4,{NULL},S_BBAR2,0,0}, // S_BBAR1 @@ -1056,29 +1056,29 @@ state_t states[NUMSTATES] = { {SPR_TLP2,3,4,{NULL},S_TECH2LAMP,0,0} // S_TECH2LAMP4 ,// [crispy] additional BOOM and MBF states, sprites and code pointers {SPR_TNT1,0,-1,{NULL},S_TNT1,0,0}, // S_TNT1 - {SPR_MISL,32768,1000,{A_Die},S_GRENADE,0,0}, // S_GRENADE - {SPR_MISL,32769,4,{A_Scream},S_DETONATE2,0,0}, // S_DETONATE - {SPR_MISL,32770,6,{A_Detonate},S_DETONATE3,0,0}, // S_DETONATE2 + {SPR_MISL,32768,1000,{.acp1 = (actionf_p1)A_Die},S_GRENADE,0,0}, // S_GRENADE + {SPR_MISL,32769,4,{.acp1 = (actionf_p1)A_Scream},S_DETONATE2,0,0}, // S_DETONATE + {SPR_MISL,32770,6,{.acp1 = (actionf_p1)A_Detonate},S_DETONATE3,0,0}, // S_DETONATE2 {SPR_MISL,32771,10,{NULL},S_NULL,0,0}, // S_DETONATE3 - {SPR_DOGS,0,10,{A_Look},S_DOGS_STND2,0,0}, // S_DOGS_STND - {SPR_DOGS,1,10,{A_Look},S_DOGS_STND,0,0}, // S_DOGS_STND2 - {SPR_DOGS,0,2,{A_Chase},S_DOGS_RUN2,0,0}, // S_DOGS_RUN1 - {SPR_DOGS,0,2,{A_Chase},S_DOGS_RUN3,0,0}, // S_DOGS_RUN2 - {SPR_DOGS,1,2,{A_Chase},S_DOGS_RUN4,0,0}, // S_DOGS_RUN3 - {SPR_DOGS,1,2,{A_Chase},S_DOGS_RUN5,0,0}, // S_DOGS_RUN4 - {SPR_DOGS,2,2,{A_Chase},S_DOGS_RUN6,0,0}, // S_DOGS_RUN5 - {SPR_DOGS,2,2,{A_Chase},S_DOGS_RUN7,0,0}, // S_DOGS_RUN6 - {SPR_DOGS,3,2,{A_Chase},S_DOGS_RUN8,0,0}, // S_DOGS_RUN7 - {SPR_DOGS,3,2,{A_Chase},S_DOGS_RUN1,0,0}, // S_DOGS_RUN8 - {SPR_DOGS,4,8,{A_FaceTarget},S_DOGS_ATK2,0,0}, // S_DOGS_ATK1 - {SPR_DOGS,5,8,{A_FaceTarget},S_DOGS_ATK3,0,0}, // S_DOGS_ATK2 - {SPR_DOGS,6,8,{A_SargAttack},S_DOGS_RUN1,0,0}, // S_DOGS_ATK3 + {SPR_DOGS,0,10,{.acp1 = (actionf_p1)A_Look},S_DOGS_STND2,0,0}, // S_DOGS_STND + {SPR_DOGS,1,10,{.acp1 = (actionf_p1)A_Look},S_DOGS_STND,0,0}, // S_DOGS_STND2 + {SPR_DOGS,0,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN2,0,0}, // S_DOGS_RUN1 + {SPR_DOGS,0,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN3,0,0}, // S_DOGS_RUN2 + {SPR_DOGS,1,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN4,0,0}, // S_DOGS_RUN3 + {SPR_DOGS,1,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN5,0,0}, // S_DOGS_RUN4 + {SPR_DOGS,2,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN6,0,0}, // S_DOGS_RUN5 + {SPR_DOGS,2,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN7,0,0}, // S_DOGS_RUN6 + {SPR_DOGS,3,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN8,0,0}, // S_DOGS_RUN7 + {SPR_DOGS,3,2,{.acp1 = (actionf_p1)A_Chase},S_DOGS_RUN1,0,0}, // S_DOGS_RUN8 + {SPR_DOGS,4,8,{.acp1 = (actionf_p1)A_FaceTarget},S_DOGS_ATK2,0,0}, // S_DOGS_ATK1 + {SPR_DOGS,5,8,{.acp1 = (actionf_p1)A_FaceTarget},S_DOGS_ATK3,0,0}, // S_DOGS_ATK2 + {SPR_DOGS,6,8,{.acp1 = (actionf_p1)A_SargAttack},S_DOGS_RUN1,0,0}, // S_DOGS_ATK3 {SPR_DOGS,7,2,{NULL},S_DOGS_PAIN2,0,0}, // S_DOGS_PAIN - {SPR_DOGS,7,2,{A_Pain},S_DOGS_RUN1,0,0}, // S_DOGS_PAIN2 + {SPR_DOGS,7,2,{.acp1 = (actionf_p1)A_Pain},S_DOGS_RUN1,0,0}, // S_DOGS_PAIN2 {SPR_DOGS,8,8,{NULL},S_DOGS_DIE2,0,0}, // S_DOGS_DIE1 - {SPR_DOGS,9,8,{A_Scream},S_DOGS_DIE3,0,0}, // S_DOGS_DIE2 + {SPR_DOGS,9,8,{.acp1 = (actionf_p1)A_Scream},S_DOGS_DIE3,0,0}, // S_DOGS_DIE2 {SPR_DOGS,10,4,{NULL},S_DOGS_DIE4,0,0}, // S_DOGS_DIE3 - {SPR_DOGS,11,4,{A_Fall},S_DOGS_DIE5,0,0}, // S_DOGS_DIE4 + {SPR_DOGS,11,4,{.acp1 = (actionf_p1)A_Fall},S_DOGS_DIE5,0,0}, // S_DOGS_DIE4 {SPR_DOGS,12,4,{NULL},S_DOGS_DIE6,0,0}, // S_DOGS_DIE5 {SPR_DOGS,13,-1,{NULL},S_NULL,0,0}, // S_DOGS_DIE6 {SPR_DOGS,13,5,{NULL},S_DOGS_RAISE2,0,0}, // S_DOGS_RAISE1 @@ -1088,18 +1088,18 @@ state_t states[NUMSTATES] = { {SPR_DOGS,9,5,{NULL},S_DOGS_RAISE6,0,0}, // S_DOGS_RAISE5 {SPR_DOGS,8,5,{NULL},S_DOGS_RUN1,0,0}, // S_DOGS_RAISE6 #define BFGDELAY 1 -#define OLDBFG_1FRAMES(x) {SPR_BFGG,1,BFGDELAY,{A_FireOldBFG},x+S_OLDBFG1+2,0,0}, +#define OLDBFG_1FRAMES(x) {SPR_BFGG,1,BFGDELAY,{.acp1 = (actionf_p1)A_FireOldBFG},x+S_OLDBFG1+2,0,0}, #define OLDBFG_2FRAMES(x) OLDBFG_1FRAMES(x) OLDBFG_1FRAMES(x+1) #define OLDBFG_4FRAMES(x) OLDBFG_2FRAMES(x) OLDBFG_2FRAMES(x+2) #define OLDBFG_8FRAMES(x) OLDBFG_4FRAMES(x) OLDBFG_4FRAMES(x+4) - {SPR_BFGG,0,10,{A_BFGsound},S_OLDBFG1+1,0,0}, // S_OLDBFG1 + {SPR_BFGG,0,10,{.acp3 = (actionf_p3)A_BFGsound},S_OLDBFG1+1,0,0}, // S_OLDBFG1 OLDBFG_8FRAMES(0) OLDBFG_8FRAMES(8) OLDBFG_8FRAMES(16) OLDBFG_8FRAMES(24) OLDBFG_8FRAMES(32) - {SPR_BFGG,1,0,{A_Light0},S_OLDBFG43,0,0}, // S_OLDBFG42 - {SPR_BFGG,1,20,{A_ReFire},S_BFG,0,0}, // S_OLDBFG43 + {SPR_BFGG,1,0,{.acp3 = (actionf_p3)A_Light0},S_OLDBFG43,0,0}, // S_OLDBFG42 + {SPR_BFGG,1,20,{.acp3 = (actionf_p3)A_ReFire},S_BFG,0,0}, // S_OLDBFG43 {SPR_PLS1,32768,6,{NULL},S_PLS1BALL2,0,0}, // S_PLS1BALL {SPR_PLS1,32769,6,{NULL},S_PLS1BALL,0,0}, // S_PLS1BALL2 {SPR_PLS1,32770,4,{NULL},S_PLS1EXP2,0,0}, // S_PLS1EXP @@ -1114,26 +1114,26 @@ state_t states[NUMSTATES] = { {SPR_PLS2,32772,6,{NULL},S_NULL,0,0}, // S_PLS2BALLX3 {SPR_BON3,0,6,{NULL},S_BON3,0,0}, // S_BON3 {SPR_BON4,0,6,{NULL},S_BON4,0,0}, // S_BON4 - {SPR_SKUL,0,10,{A_Look},S_BSKUL_STND,0,0}, // S_BSKUL_STND - {SPR_SKUL,1,5,{A_Chase},S_BSKUL_RUN2,0,0}, // S_BSKUL_RUN1 - {SPR_SKUL,2,5,{A_Chase},S_BSKUL_RUN3,0,0}, // S_BSKUL_RUN2 - {SPR_SKUL,3,5,{A_Chase},S_BSKUL_RUN4,0,0}, // S_BSKUL_RUN3 - {SPR_SKUL,0,5,{A_Chase},S_BSKUL_RUN1,0,0}, // S_BSKUL_RUN4 - {SPR_SKUL,4,4,{A_FaceTarget},S_BSKUL_ATK2,0,0}, // S_BSKUL_ATK1 - {SPR_SKUL,5,5,{A_BetaSkullAttack},S_BSKUL_ATK3,0,0}, // S_BSKUL_ATK2 + {SPR_SKUL,0,10,{.acp1 = (actionf_p1)A_Look},S_BSKUL_STND,0,0}, // S_BSKUL_STND + {SPR_SKUL,1,5,{.acp1 = (actionf_p1)A_Chase},S_BSKUL_RUN2,0,0}, // S_BSKUL_RUN1 + {SPR_SKUL,2,5,{.acp1 = (actionf_p1)A_Chase},S_BSKUL_RUN3,0,0}, // S_BSKUL_RUN2 + {SPR_SKUL,3,5,{.acp1 = (actionf_p1)A_Chase},S_BSKUL_RUN4,0,0}, // S_BSKUL_RUN3 + {SPR_SKUL,0,5,{.acp1 = (actionf_p1)A_Chase},S_BSKUL_RUN1,0,0}, // S_BSKUL_RUN4 + {SPR_SKUL,4,4,{.acp1 = (actionf_p1)A_FaceTarget},S_BSKUL_ATK2,0,0}, // S_BSKUL_ATK1 + {SPR_SKUL,5,5,{.acp1 = (actionf_p1)A_BetaSkullAttack},S_BSKUL_ATK3,0,0}, // S_BSKUL_ATK2 {SPR_SKUL,5,4,{NULL},S_BSKUL_RUN1,0,0}, // S_BSKUL_ATK3 {SPR_SKUL,6,4,{NULL},S_BSKUL_PAIN2,0,0}, // S_BSKUL_PAIN1 - {SPR_SKUL,7,2,{A_Pain},S_BSKUL_RUN1,0,0}, // S_BSKUL_PAIN2 + {SPR_SKUL,7,2,{.acp1 = (actionf_p1)A_Pain},S_BSKUL_RUN1,0,0}, // S_BSKUL_PAIN2 {SPR_SKUL,8,4,{NULL},S_BSKUL_RUN1,0,0}, // S_BSKUL_PAIN3 {SPR_SKUL, 9,5,{NULL},S_BSKUL_DIE2,0,0}, // S_BSKUL_DIE1 {SPR_SKUL,10,5,{NULL},S_BSKUL_DIE3,0,0}, // S_BSKUL_DIE2 {SPR_SKUL,11,5,{NULL},S_BSKUL_DIE4,0,0}, // S_BSKUL_DIE3 {SPR_SKUL,12,5,{NULL},S_BSKUL_DIE5,0,0}, // S_BSKUL_DIE4 - {SPR_SKUL,13,5,{A_Scream},S_BSKUL_DIE6,0,0}, // S_BSKUL_DIE5 + {SPR_SKUL,13,5,{.acp1 = (actionf_p1)A_Scream},S_BSKUL_DIE6,0,0}, // S_BSKUL_DIE5 {SPR_SKUL,14,5,{NULL},S_BSKUL_DIE7,0,0}, // S_BSKUL_DIE6 - {SPR_SKUL,15,5,{A_Fall},S_BSKUL_DIE8,0,0}, // S_BSKUL_DIE7 - {SPR_SKUL,16,5,{A_Stop},S_BSKUL_DIE8,0,0}, // S_BSKUL_DIE8 - {SPR_MISL,32769,8,{A_Mushroom},S_EXPLODE2,0,0}, // S_MUSHROOM + {SPR_SKUL,15,5,{.acp1 = (actionf_p1)A_Fall},S_BSKUL_DIE8,0,0}, // S_BSKUL_DIE7 + {SPR_SKUL,16,5,{.acp1 = (actionf_p1)A_Stop},S_BSKUL_DIE8,0,0}, // S_BSKUL_DIE8 + {SPR_MISL,32769,8,{.acp1 = (actionf_p1)A_Mushroom},S_EXPLODE2,0,0}, // S_MUSHROOM }; diff --git a/src/doomtype.h b/src/doomtype.h index 3ca53ae..817c05b 100644 --- a/src/doomtype.h +++ b/src/doomtype.h @@ -100,12 +100,11 @@ // standard and defined to include stdint.h, so include this. #include +#include #if defined(__cplusplus) || defined(__bool_true_false_are_defined) -// Use builtin bool type with C++. - -typedef bool boolean; +typedef int boolean; #else