diff --git a/src/d_deh.c b/src/d_deh.c index f6041deb5..c3334e6dd 100644 --- a/src/d_deh.c +++ b/src/d_deh.c @@ -1558,124 +1558,124 @@ typedef struct { deh_bexptr deh_bexptrs[] = { - {{A_Light0}, "A_Light0"}, - {{A_WeaponReady}, "A_WeaponReady"}, - {{A_Lower}, "A_Lower"}, - {{A_Raise}, "A_Raise"}, - {{A_Punch}, "A_Punch"}, - {{A_ReFire}, "A_ReFire"}, - {{A_FirePistol}, "A_FirePistol"}, - {{A_Light1}, "A_Light1"}, - {{A_FireShotgun}, "A_FireShotgun"}, - {{A_Light2}, "A_Light2"}, - {{A_FireShotgun2}, "A_FireShotgun2"}, - {{A_CheckReload}, "A_CheckReload"}, - {{A_OpenShotgun2}, "A_OpenShotgun2"}, - {{A_LoadShotgun2}, "A_LoadShotgun2"}, - {{A_CloseShotgun2}, "A_CloseShotgun2"}, - {{A_FireCGun}, "A_FireCGun"}, - {{A_GunFlash}, "A_GunFlash"}, - {{A_FireMissile}, "A_FireMissile"}, - {{A_Saw}, "A_Saw"}, - {{A_FirePlasma}, "A_FirePlasma"}, - {{A_BFGsound}, "A_BFGsound"}, - {{A_FireBFG}, "A_FireBFG"}, - {{A_BFGSpray}, "A_BFGSpray"}, - {{A_Explode}, "A_Explode"}, - {{A_Pain}, "A_Pain"}, - {{A_PlayerScream}, "A_PlayerScream"}, - {{A_Fall}, "A_Fall"}, - {{A_XScream}, "A_XScream"}, - {{A_Look}, "A_Look"}, - {{A_Chase}, "A_Chase"}, - {{A_FaceTarget}, "A_FaceTarget"}, - {{A_PosAttack}, "A_PosAttack"}, - {{A_Scream}, "A_Scream"}, - {{A_SPosAttack}, "A_SPosAttack"}, - {{A_VileChase}, "A_VileChase"}, - {{A_VileStart}, "A_VileStart"}, - {{A_VileTarget}, "A_VileTarget"}, - {{A_VileAttack}, "A_VileAttack"}, - {{A_StartFire}, "A_StartFire"}, - {{A_Fire}, "A_Fire"}, - {{A_FireCrackle}, "A_FireCrackle"}, - {{A_Tracer}, "A_Tracer"}, - {{A_SkelWhoosh}, "A_SkelWhoosh"}, - {{A_SkelFist}, "A_SkelFist"}, - {{A_SkelMissile}, "A_SkelMissile"}, - {{A_FatRaise}, "A_FatRaise"}, - {{A_FatAttack1}, "A_FatAttack1"}, - {{A_FatAttack2}, "A_FatAttack2"}, - {{A_FatAttack3}, "A_FatAttack3"}, - {{A_BossDeath}, "A_BossDeath"}, - {{A_CPosAttack}, "A_CPosAttack"}, - {{A_CPosRefire}, "A_CPosRefire"}, - {{A_TroopAttack}, "A_TroopAttack"}, - {{A_SargAttack}, "A_SargAttack"}, - {{A_HeadAttack}, "A_HeadAttack"}, - {{A_BruisAttack}, "A_BruisAttack"}, - {{A_SkullAttack}, "A_SkullAttack"}, - {{A_Metal}, "A_Metal"}, - {{A_SpidRefire}, "A_SpidRefire"}, - {{A_BabyMetal}, "A_BabyMetal"}, - {{A_BspiAttack}, "A_BspiAttack"}, - {{A_Hoof}, "A_Hoof"}, - {{A_CyberAttack}, "A_CyberAttack"}, - {{A_PainAttack}, "A_PainAttack"}, - {{A_PainDie}, "A_PainDie"}, - {{A_KeenDie}, "A_KeenDie"}, - {{A_BrainPain}, "A_BrainPain"}, - {{A_BrainScream}, "A_BrainScream"}, - {{A_BrainDie}, "A_BrainDie"}, - {{A_BrainAwake}, "A_BrainAwake"}, - {{A_BrainSpit}, "A_BrainSpit"}, - {{A_SpawnSound}, "A_SpawnSound"}, - {{A_SpawnFly}, "A_SpawnFly"}, - {{A_BrainExplode}, "A_BrainExplode"}, - {{A_Detonate}, "A_Detonate"}, // killough 8/9/98 - {{A_Mushroom}, "A_Mushroom"}, // killough 10/98 - {{A_Die}, "A_Die"}, // killough 11/98 - {{A_Spawn}, "A_Spawn"}, // killough 11/98 - {{A_Turn}, "A_Turn"}, // killough 11/98 - {{A_Face}, "A_Face"}, // killough 11/98 - {{A_Scratch}, "A_Scratch"}, // killough 11/98 - {{A_PlaySound}, "A_PlaySound"}, // killough 11/98 - {{A_RandomJump}, "A_RandomJump"}, // killough 11/98 - {{A_LineEffect}, "A_LineEffect"}, // killough 11/98 - - {{A_FireOldBFG}, "A_FireOldBFG"}, // killough 7/19/98: classic BFG firing function - {{A_BetaSkullAttack}, "A_BetaSkullAttack"}, // killough 10/98: beta lost souls attacked different - {{A_Stop}, "A_Stop"}, + {{.p2 = A_Light0}, "A_Light0"}, + {{.p2 = A_WeaponReady}, "A_WeaponReady"}, + {{.p2 = A_Lower}, "A_Lower"}, + {{.p2 = A_Raise}, "A_Raise"}, + {{.p2 = A_Punch}, "A_Punch"}, + {{.p2 = A_ReFire}, "A_ReFire"}, + {{.p2 = A_FirePistol}, "A_FirePistol"}, + {{.p2 = A_Light1}, "A_Light1"}, + {{.p2 = A_FireShotgun}, "A_FireShotgun"}, + {{.p2 = A_Light2}, "A_Light2"}, + {{.p2 = A_FireShotgun2}, "A_FireShotgun2"}, + {{.p2 = A_CheckReload}, "A_CheckReload"}, + {{.p2 = A_OpenShotgun2}, "A_OpenShotgun2"}, + {{.p2 = A_LoadShotgun2}, "A_LoadShotgun2"}, + {{.p2 = A_CloseShotgun2}, "A_CloseShotgun2"}, + {{.p2 = A_FireCGun}, "A_FireCGun"}, + {{.p2 = A_GunFlash}, "A_GunFlash"}, + {{.p2 = A_FireMissile}, "A_FireMissile"}, + {{.p2 = A_Saw}, "A_Saw"}, + {{.p2 = A_FirePlasma}, "A_FirePlasma"}, + {{.p2 = A_BFGsound}, "A_BFGsound"}, + {{.p2 = A_FireBFG}, "A_FireBFG"}, + {{.p1 = A_BFGSpray}, "A_BFGSpray"}, + {{.p1 = A_Explode}, "A_Explode"}, + {{.p1 = A_Pain}, "A_Pain"}, + {{.p1 = A_PlayerScream}, "A_PlayerScream"}, + {{.p1 = A_Fall}, "A_Fall"}, + {{.p1 = A_XScream}, "A_XScream"}, + {{.p1 = A_Look}, "A_Look"}, + {{.p1 = A_Chase}, "A_Chase"}, + {{.p1 = A_FaceTarget}, "A_FaceTarget"}, + {{.p1 = A_PosAttack}, "A_PosAttack"}, + {{.p1 = A_Scream}, "A_Scream"}, + {{.p1 = A_SPosAttack}, "A_SPosAttack"}, + {{.p1 = A_VileChase}, "A_VileChase"}, + {{.p1 = A_VileStart}, "A_VileStart"}, + {{.p1 = A_VileTarget}, "A_VileTarget"}, + {{.p1 = A_VileAttack}, "A_VileAttack"}, + {{.p1 = A_StartFire}, "A_StartFire"}, + {{.p1 = A_Fire}, "A_Fire"}, + {{.p1 = A_FireCrackle}, "A_FireCrackle"}, + {{.p1 = A_Tracer}, "A_Tracer"}, + {{.p1 = A_SkelWhoosh}, "A_SkelWhoosh"}, + {{.p1 = A_SkelFist}, "A_SkelFist"}, + {{.p1 = A_SkelMissile}, "A_SkelMissile"}, + {{.p1 = A_FatRaise}, "A_FatRaise"}, + {{.p1 = A_FatAttack1}, "A_FatAttack1"}, + {{.p1 = A_FatAttack2}, "A_FatAttack2"}, + {{.p1 = A_FatAttack3}, "A_FatAttack3"}, + {{.p1 = A_BossDeath}, "A_BossDeath"}, + {{.p1 = A_CPosAttack}, "A_CPosAttack"}, + {{.p1 = A_CPosRefire}, "A_CPosRefire"}, + {{.p1 = A_TroopAttack}, "A_TroopAttack"}, + {{.p1 = A_SargAttack}, "A_SargAttack"}, + {{.p1 = A_HeadAttack}, "A_HeadAttack"}, + {{.p1 = A_BruisAttack}, "A_BruisAttack"}, + {{.p1 = A_SkullAttack}, "A_SkullAttack"}, + {{.p1 = A_Metal}, "A_Metal"}, + {{.p1 = A_SpidRefire}, "A_SpidRefire"}, + {{.p1 = A_BabyMetal}, "A_BabyMetal"}, + {{.p1 = A_BspiAttack}, "A_BspiAttack"}, + {{.p1 = A_Hoof}, "A_Hoof"}, + {{.p1 = A_CyberAttack}, "A_CyberAttack"}, + {{.p1 = A_PainAttack}, "A_PainAttack"}, + {{.p1 = A_PainDie}, "A_PainDie"}, + {{.p1 = A_KeenDie}, "A_KeenDie"}, + {{.p1 = A_BrainPain}, "A_BrainPain"}, + {{.p1 = A_BrainScream}, "A_BrainScream"}, + {{.p1 = A_BrainDie}, "A_BrainDie"}, + {{.p1 = A_BrainAwake}, "A_BrainAwake"}, + {{.p1 = A_BrainSpit}, "A_BrainSpit"}, + {{.p1 = A_SpawnSound}, "A_SpawnSound"}, + {{.p1 = A_SpawnFly}, "A_SpawnFly"}, + {{.p1 = A_BrainExplode}, "A_BrainExplode"}, + {{.p1 = A_Detonate}, "A_Detonate"}, // killough 8/9/98 + {{.p1 = A_Mushroom}, "A_Mushroom"}, // killough 10/98 + {{.p1 = A_Die}, "A_Die"}, // killough 11/98 + {{.p1 = A_Spawn}, "A_Spawn"}, // killough 11/98 + {{.p1 = A_Turn}, "A_Turn"}, // killough 11/98 + {{.p1 = A_Face}, "A_Face"}, // killough 11/98 + {{.p1 = A_Scratch}, "A_Scratch"}, // killough 11/98 + {{.p1 = A_PlaySound}, "A_PlaySound"}, // killough 11/98 + {{.p1 = A_RandomJump}, "A_RandomJump"}, // killough 11/98 + {{.p1 = A_LineEffect}, "A_LineEffect"}, // killough 11/98 + + {{.p2 = A_FireOldBFG}, "A_FireOldBFG"}, // killough 7/19/98: classic BFG firing function + {{.p1 = A_BetaSkullAttack}, "A_BetaSkullAttack"}, // killough 10/98: beta lost souls attacked different + {{.p1 = A_Stop}, "A_Stop"}, // [XA] New mbf21 codepointers - {{A_SpawnObject}, "A_SpawnObject", 8}, - {{A_MonsterProjectile}, "A_MonsterProjectile", 5}, - {{A_MonsterBulletAttack}, "A_MonsterBulletAttack", 5, {0, 0, 1, 3, 5}}, - {{A_MonsterMeleeAttack}, "A_MonsterMeleeAttack", 4, {3, 8, 0, 0}}, - {{A_RadiusDamage}, "A_RadiusDamage", 2}, - {{A_NoiseAlert}, "A_NoiseAlert", 0}, - {{A_HealChase}, "A_HealChase", 2}, - {{A_SeekTracer}, "A_SeekTracer", 2}, - {{A_FindTracer}, "A_FindTracer", 2, {0, 10}}, - {{A_ClearTracer}, "A_ClearTracer", 0}, - {{A_JumpIfHealthBelow}, "A_JumpIfHealthBelow", 2}, - {{A_JumpIfTargetInSight}, "A_JumpIfTargetInSight", 2}, - {{A_JumpIfTargetCloser}, "A_JumpIfTargetCloser", 2}, - {{A_JumpIfTracerInSight}, "A_JumpIfTracerInSight", 2}, - {{A_JumpIfTracerCloser}, "A_JumpIfTracerCloser", 2}, - {{A_JumpIfFlagsSet}, "A_JumpIfFlagsSet", 3}, - {{A_AddFlags}, "A_AddFlags", 2}, - {{A_RemoveFlags}, "A_RemoveFlags", 2}, - {{A_WeaponProjectile}, "A_WeaponProjectile", 5}, - {{A_WeaponBulletAttack}, "A_WeaponBulletAttack", 5, {0, 0, 1, 5, 3}}, - {{A_WeaponMeleeAttack}, "A_WeaponMeleeAttack", 5, {2, 10, 1 * FRACUNIT, 0, 0}}, - {{A_WeaponSound}, "A_WeaponSound", 2}, - {{A_WeaponAlert}, "A_WeaponAlert", 0}, - {{A_WeaponJump}, "A_WeaponJump", 2}, - {{A_ConsumeAmmo}, "A_ConsumeAmmo", 1}, - {{A_CheckAmmo}, "A_CheckAmmo", 2}, - {{A_RefireTo}, "A_RefireTo", 2}, - {{A_GunFlashTo}, "A_GunFlashTo", 2}, + {{.p1 = A_SpawnObject}, "A_SpawnObject", 8}, + {{.p1 = A_MonsterProjectile}, "A_MonsterProjectile", 5}, + {{.p1 = A_MonsterBulletAttack}, "A_MonsterBulletAttack", 5, {0, 0, 1, 3, 5}}, + {{.p1 = A_MonsterMeleeAttack}, "A_MonsterMeleeAttack", 4, {3, 8, 0, 0}}, + {{.p1 = A_RadiusDamage}, "A_RadiusDamage", 2}, + {{.p1 = A_NoiseAlert}, "A_NoiseAlert", 0}, + {{.p1 = A_HealChase}, "A_HealChase", 2}, + {{.p1 = A_SeekTracer}, "A_SeekTracer", 2}, + {{.p1 = A_FindTracer}, "A_FindTracer", 2, {0, 10}}, + {{.p1 = A_ClearTracer}, "A_ClearTracer", 0}, + {{.p1 = A_JumpIfHealthBelow}, "A_JumpIfHealthBelow", 2}, + {{.p1 = A_JumpIfTargetInSight}, "A_JumpIfTargetInSight", 2}, + {{.p1 = A_JumpIfTargetCloser}, "A_JumpIfTargetCloser", 2}, + {{.p1 = A_JumpIfTracerInSight}, "A_JumpIfTracerInSight", 2}, + {{.p1 = A_JumpIfTracerCloser}, "A_JumpIfTracerCloser", 2}, + {{.p1 = A_JumpIfFlagsSet}, "A_JumpIfFlagsSet", 3}, + {{.p1 = A_AddFlags}, "A_AddFlags", 2}, + {{.p1 = A_RemoveFlags}, "A_RemoveFlags", 2}, + {{.p2 = A_WeaponProjectile}, "A_WeaponProjectile", 5}, + {{.p2 = A_WeaponBulletAttack}, "A_WeaponBulletAttack", 5, {0, 0, 1, 5, 3}}, + {{.p2 = A_WeaponMeleeAttack}, "A_WeaponMeleeAttack", 5, {2, 10, 1 * FRACUNIT, 0, 0}}, + {{.p2 = A_WeaponSound}, "A_WeaponSound", 2}, + {{.p2 = A_WeaponAlert}, "A_WeaponAlert", 0}, + {{.p2 = A_WeaponJump}, "A_WeaponJump", 2}, + {{.p2 = A_ConsumeAmmo}, "A_ConsumeAmmo", 1}, + {{.p2 = A_CheckAmmo}, "A_CheckAmmo", 2}, + {{.p2 = A_RefireTo}, "A_RefireTo", 2}, + {{.p2 = A_GunFlashTo}, "A_GunFlashTo", 2}, // This NULL entry must be the last in the list {{NULL}, "A_NULL"}, // Ty 05/16/98 diff --git a/src/d_think.h b/src/d_think.h index f10e34f16..abc809956 100644 --- a/src/d_think.h +++ b/src/d_think.h @@ -22,9 +22,11 @@ #ifndef __D_THINK__ #define __D_THINK__ +#include "p_action.h" + typedef void (*actionf_v)(); -typedef void (*actionf_p1)(void *); -typedef void (*actionf_p2)(void *, void *); +typedef void (*actionf_p1)(struct mobj_s *); +typedef void (*actionf_p2)(struct player_s *, struct pspdef_s *); typedef union actionf_u {