1 
2 #ifndef _BALFROG_H
3 #define _BALFROG_H
4 #include "../../object.h"
5 #include "../../stageboss.h"
6 #include "../IrregularBBox.h"
7 
8 class BalfrogBoss : public StageBoss
9 {
10 public:
11   void OnMapEntry();
12   void Run();
13 
14   void place_bboxes();
15 
16 private:
17   void RunDeathAnim();
18   void RunEntryAnim();
19 
20   void RunFighting();
21   void RunJumping();
22   void RunShooting();
23 
24   void SetJumpingSprite(bool enable);
25   void SpawnFrogs(int objtype, int count);
26 
27   void set_bbox(int index, int x, int y, int w, int h, uint32_t flags);
28   void transmit_bbox_hits(Object *box);
29 
30   Object *o;
31 
32   struct
33   {
34     int shakeflash;
35 
36     int orighp;
37     int shots_fired;
38     int attackcounter;
39 
40     Object *balrog; // balrog puppet for death scene
41 
42     // our group of multiple bboxes to simulate our irregular bounding box.
43     IrregularBBox bboxes;
44     int bbox_mode;
45 
46   } frog;
47 };
48 
49 void ondeath_balfrog(Object *o);
50 
51 #endif
52