p_enemy.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /* Emacs style mode select -*- C++ -*-
  2. *-----------------------------------------------------------------------------
  3. *
  4. *
  5. * PrBoom: a Doom port merged with LxDoom and LSDLDoom
  6. * based on BOOM, a modified and improved DOOM engine
  7. * Copyright (C) 1999 by
  8. * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
  9. * Copyright (C) 1999-2000 by
  10. * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
  11. * Copyright 2005, 2006 by
  12. * Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko
  13. *
  14. * This program is free software; you can redistribute it and/or
  15. * modify it under the terms of the GNU General Public License
  16. * as published by the Free Software Foundation; either version 2
  17. * of the License, or (at your option) any later version.
  18. *
  19. * This program is distributed in the hope that it will be useful,
  20. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. * GNU General Public License for more details.
  23. *
  24. * You should have received a copy of the GNU General Public License
  25. * along with this program; if not, write to the Free Software
  26. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  27. * 02111-1307, USA.
  28. *
  29. * DESCRIPTION:
  30. * Enemy thinking, AI.
  31. * Action Pointer Functions
  32. * that are associated with states/frames.
  33. *
  34. *-----------------------------------------------------------------------------*/
  35. #ifndef __P_ENEMY__
  36. #define __P_ENEMY__
  37. #include "p_mobj.h"
  38. void P_NoiseAlert (mobj_t *target, mobj_t *emmiter);
  39. void P_SpawnBrainTargets(void); /* killough 3/26/98: spawn icon landings */
  40. extern struct brain_s { /* killough 3/26/98: global state of boss brain */
  41. int easy, targeton;
  42. } brain;
  43. // ********************************************************************
  44. // Function addresses or Code Pointers
  45. // ********************************************************************
  46. // These function addresses are the Code Pointers that have been
  47. // modified for years by Dehacked enthusiasts. The new BEX format
  48. // allows more extensive changes (see d_deh.c)
  49. // Doesn't work with g++, needs actionf_p1
  50. void A_Explode();
  51. void A_Pain();
  52. void A_PlayerScream();
  53. void A_Fall();
  54. void A_XScream();
  55. void A_Look();
  56. void A_Chase();
  57. void A_FaceTarget();
  58. void A_PosAttack();
  59. void A_Scream();
  60. void A_SPosAttack();
  61. void A_VileChase();
  62. void A_VileStart();
  63. void A_VileTarget();
  64. void A_VileAttack();
  65. void A_StartFire();
  66. void A_Fire();
  67. void A_FireCrackle();
  68. void A_Tracer();
  69. void A_SkelWhoosh();
  70. void A_SkelFist();
  71. void A_SkelMissile();
  72. void A_FatRaise();
  73. void A_FatAttack1();
  74. void A_FatAttack2();
  75. void A_FatAttack3();
  76. void A_BossDeath();
  77. void A_CPosAttack();
  78. void A_CPosRefire();
  79. void A_TroopAttack();
  80. void A_SargAttack();
  81. void A_HeadAttack();
  82. void A_BruisAttack();
  83. void A_SkullAttack();
  84. void A_Metal();
  85. void A_SpidRefire();
  86. void A_BabyMetal();
  87. void A_BspiAttack();
  88. void A_Hoof();
  89. void A_CyberAttack();
  90. void A_PainAttack();
  91. void A_PainDie();
  92. void A_KeenDie();
  93. void A_BrainPain();
  94. void A_BrainScream();
  95. void A_BrainDie();
  96. void A_BrainAwake();
  97. void A_BrainSpit();
  98. void A_SpawnSound();
  99. void A_SpawnFly();
  100. void A_BrainExplode();
  101. void A_Die();
  102. void A_Detonate(); /* killough 8/9/98: detonate a bomb or other device */
  103. void A_Mushroom(); /* killough 10/98: mushroom effect */
  104. void A_Spawn(); // killough 11/98
  105. void A_Turn(); // killough 11/98
  106. void A_Face(); // killough 11/98
  107. void A_Scratch(); // killough 11/98
  108. void A_PlaySound(); // killough 11/98
  109. void A_RandomJump(); // killough 11/98
  110. void A_LineEffect(); // killough 11/98
  111. #endif // __P_ENEMY__