1 //---------------------------------------------------------------------------- 2 // EDGE Play Simulation Action routines 3 //---------------------------------------------------------------------------- 4 // 5 // Copyright (c) 1999-2009 The EDGE Team. 6 // 7 // This program is free software; you can redistribute it and/or 8 // modify it under the terms of the GNU General Public License 9 // as published by the Free Software Foundation; either version 2 10 // of the License, or (at your option) any later version. 11 // 12 // This program is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 //---------------------------------------------------------------------------- 18 // 19 // Based on the DOOM source code, released by Id Software under the 20 // following copyright: 21 // 22 // Copyright (C) 1993-1996 by id Software, Inc. 23 // 24 //---------------------------------------------------------------------------- 25 26 #ifndef __P_ACTION_H__ 27 #define __P_ACTION_H__ 28 29 struct mobj_s; 30 31 // Weapon Action Routine pointers 32 void A_Light0(struct mobj_s *mo); 33 void A_Light1(struct mobj_s *mo); 34 void A_Light2(struct mobj_s *mo); 35 36 void A_WeaponReady(struct mobj_s *mo); 37 void A_WeaponEmpty(struct mobj_s *mo); 38 void A_WeaponShoot(struct mobj_s *mo); 39 void A_WeaponEject(struct mobj_s *mo); 40 void A_WeaponJump(struct mobj_s *mo); 41 void A_Lower(struct mobj_s *mo); 42 void A_Raise(struct mobj_s *mo); 43 void A_ReFire(struct mobj_s *mo); 44 void A_NoFire(struct mobj_s *mo); 45 void A_NoFireReturn(struct mobj_s *mo); 46 void A_CheckReload(struct mobj_s *mo); 47 void A_SFXWeapon1(struct mobj_s *mo); 48 void A_SFXWeapon2(struct mobj_s *mo); 49 void A_SFXWeapon3(struct mobj_s *mo); 50 void A_WeaponPlaySound(struct mobj_s *mo); 51 void A_WeaponKillSound(struct mobj_s *mo); 52 void A_WeaponTransSet(struct mobj_s *mo); 53 void A_WeaponTransFade(struct mobj_s *mo); 54 void A_WeaponEnableRadTrig(struct mobj_s *mo); 55 void A_WeaponDisableRadTrig(struct mobj_s *mo); 56 57 void A_SetCrosshair(struct mobj_s *mo); 58 void A_TargetJump(struct mobj_s *mo); 59 void A_FriendJump(struct mobj_s *mo); 60 void A_GunFlash(struct mobj_s *mo); 61 void A_WeaponKick(struct mobj_s *mo); 62 void A_WeaponSetSkin(struct mobj_s *mo); 63 void A_WeaponUnzoom(struct mobj_s *mo); 64 65 void A_WeaponShootSA(struct mobj_s *mo); 66 void A_ReFireSA(struct mobj_s *mo); 67 void A_NoFireSA(struct mobj_s *mo); 68 void A_NoFireReturnSA(struct mobj_s *mo); 69 void A_CheckReloadSA(struct mobj_s *mo); 70 void A_GunFlashSA(struct mobj_s *mo); 71 72 // Needed for the bossbrain. 73 void P_ActBrainScream(struct mobj_s *mo); 74 void P_ActBrainDie(struct mobj_s *mo); 75 void P_ActBrainSpit(struct mobj_s *mo); 76 void P_ActCubeSpawn(struct mobj_s *mo); 77 void P_ActBrainMissileExplode(struct mobj_s *mo); 78 79 // Visibility Actions 80 void P_ActTransSet(struct mobj_s *mo); 81 void P_ActTransFade(struct mobj_s *mo); 82 void P_ActTransMore(struct mobj_s *mo); 83 void P_ActTransLess(struct mobj_s *mo); 84 void P_ActTransAlternate(struct mobj_s *mo); 85 86 // Sound Actions 87 void P_ActPlaySound(struct mobj_s *mo); 88 void P_ActKillSound(struct mobj_s *mo); 89 void P_ActMakeAmbientSound(struct mobj_s *mo); 90 void P_ActMakeAmbientSoundRandom(struct mobj_s *mo); 91 void P_ActMakeCloseAttemptSound(struct mobj_s *mo); 92 void P_ActMakeDyingSound(struct mobj_s *mo); 93 void P_ActMakeOverKillSound(struct mobj_s *mo); 94 void P_ActMakePainSound(struct mobj_s *mo); 95 void P_ActMakeRangeAttemptSound(struct mobj_s *mo); 96 void P_ActMakeActiveSound(struct mobj_s *mo); 97 void P_ActPlayerScream(struct mobj_s *mo); 98 99 // Explosion Damage Actions 100 void P_ActDamageExplosion(struct mobj_s *mo); 101 void P_ActThrust(struct mobj_s *mo); 102 103 // Stand-by / Looking Actions 104 void P_ActStandardLook(struct mobj_s *mo); 105 void P_ActPlayerSupportLook(struct mobj_s *mo); 106 107 // Meander, aimless movement actions. 108 void P_ActStandardMeander(struct mobj_s *mo); 109 void P_ActPlayerSupportMeander(struct mobj_s *mo); 110 111 // Chasing Actions 112 void P_ActResurrectChase(struct mobj_s *mo); 113 void P_ActStandardChase(struct mobj_s *mo); 114 void P_ActWalkSoundChase(struct mobj_s *mo); 115 116 // Attacking Actions 117 void P_ActComboAttack(struct mobj_s *mo); 118 void P_ActMeleeAttack(struct mobj_s *mo); 119 void P_ActRangeAttack(struct mobj_s *mo); 120 void P_ActSpareAttack(struct mobj_s *mo); 121 void P_ActRefireCheck(struct mobj_s *mo); 122 void P_ActReloadCheck(struct mobj_s *mo); 123 void P_ActReloadReset(struct mobj_s *mo); 124 125 // Miscellanous 126 void P_ActFaceTarget(struct mobj_s *mo); 127 void P_ActMakeIntoCorpse(struct mobj_s *mo); 128 void P_ActResetSpreadCount(struct mobj_s *mo); 129 void P_ActExplode(struct mobj_s *mo); 130 void P_ActActivateLineType(struct mobj_s *mo); 131 void P_ActEnableRadTrig(struct mobj_s *mo); 132 void P_ActDisableRadTrig(struct mobj_s *mo); 133 void P_ActTouchyRearm(struct mobj_s *mo); 134 void P_ActTouchyDisarm(struct mobj_s *mo); 135 void P_ActBounceRearm(struct mobj_s *mo); 136 void P_ActBounceDisarm(struct mobj_s *mo); 137 void P_ActPathCheck(struct mobj_s *mo); 138 void P_ActPathFollow(struct mobj_s *mo); 139 140 void P_ActDropItem(struct mobj_s *mo); 141 void P_ActSpawn(struct mobj_s *mo); 142 void P_ActDLightSet(struct mobj_s *mo); 143 void P_ActDLightSet2(struct mobj_s *mo); 144 void P_ActDLightFade(struct mobj_s *mo); 145 void P_ActDLightRandom(struct mobj_s *mo); 146 void P_ActDLightColour(struct mobj_s *mo); 147 void P_ActSetSkin(struct mobj_s *mo); 148 void P_ActDie(struct mobj_s *mo); 149 void P_ActKeenDie(struct mobj_s *mo); 150 void P_ActCheckBlood(struct mobj_s *mo); 151 void P_ActJump(struct mobj_s *mo); 152 void P_ActBecome(struct mobj_s *mo); 153 void P_ActSetInvuln(struct mobj_s *mo); 154 void P_ActClearInvuln(struct mobj_s *mo); 155 156 // Movement actions 157 void P_ActFaceDir(struct mobj_s *mo); 158 void P_ActTurnDir(struct mobj_s *mo); 159 void P_ActTurnRandom(struct mobj_s *mo); 160 void P_ActMlookFace(struct mobj_s *mo); 161 void P_ActMlookTurn(struct mobj_s *mo); 162 void P_ActMoveFwd(struct mobj_s *mo); 163 void P_ActMoveRight(struct mobj_s *mo); 164 void P_ActMoveUp(struct mobj_s *mo); 165 void P_ActStopMoving(struct mobj_s *mo); 166 void P_ActCheckMoving(struct mobj_s *mo); 167 void P_ActCheckActivity(struct mobj_s *mo); 168 169 // Projectiles 170 void P_ActHomingProjectile(struct mobj_s *mo); 171 void P_ActLaunchOrderedSpread(struct mobj_s *mo); 172 void P_ActLaunchRandomSpread(struct mobj_s *mo); 173 void P_ActCreateSmokeTrail(struct mobj_s *mo); 174 void P_ActHomeToSpot(struct mobj_s *mo); 175 bool P_ActLookForTargets(struct mobj_s *mo); 176 177 // Trackers 178 void P_ActEffectTracker(struct mobj_s *mo); 179 void P_ActTrackerActive(struct mobj_s *mo); 180 void P_ActTrackerFollow(struct mobj_s *mo); 181 void P_ActTrackerStart(struct mobj_s *mo); 182 183 #endif /* __P_ACTION_H__ */ 184 185 //--- editor settings --- 186 // vi:ts=4:sw=4:noexpandtab 187