1 
2 #ifndef _BALFROG_H
3 #define _BALFROG_H
4 
5 #include "../IrregularBBox.h"
6 
7 class BalfrogBoss : public StageBoss
8 {
9 public:
10 	void OnMapEntry();
11 	void Run();
12 
13 	void place_bboxes();
14 
15 private:
16 	void RunDeathAnim();
17 	void RunEntryAnim();
18 
19 	void RunFighting();
20 	void RunJumping();
21 	void RunShooting();
22 
23 	void SetJumpingSprite(bool enable);
24 	void SpawnFrogs(int objtype, int count);
25 	void SpawnSmoke(int count, int ytop);
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 
50 #endif
51