2021-06-13 10:52:58 +00:00
|
|
|
typedef struct {
|
2021-06-30 14:30:06 +00:00
|
|
|
PlayfieldMotion pos;
|
2021-06-13 10:52:58 +00:00
|
|
|
unsigned int frames_until;
|
|
|
|
int hp;
|
|
|
|
unsigned char sprite;
|
|
|
|
unsigned char phase;
|
|
|
|
int phase_frame;
|
|
|
|
// Treated as a bool in TH04
|
|
|
|
unsigned char damage_this_frame;
|
|
|
|
unsigned char angle;
|
|
|
|
} midboss_stuff_t;
|
|
|
|
|
|
|
|
extern midboss_stuff_t midboss;
|
|
|
|
|
|
|
|
// Callbacks
|
|
|
|
extern farfunc_t_near midboss_update_func;
|
|
|
|
extern nearfunc_t_near midboss_render_func;
|
|
|
|
|
|
|
|
#define MIDBOSS_DEC(stage) \
|
|
|
|
void pascal far midboss##stage##_update(void); \
|
|
|
|
void pascal near midboss##stage##_render(void);
|
|
|
|
|
|
|
|
// "midbosses" unfortunately has 9 characters and therefore won't work as a
|
|
|
|
// 8.3 filename. However, since these have no names anyway, we can just
|
|
|
|
// declare all of them here.
|
|
|
|
MIDBOSS_DEC(1);
|
|
|
|
MIDBOSS_DEC(2);
|
|
|
|
MIDBOSS_DEC(3);
|
|
|
|
MIDBOSS_DEC(4);
|
|
|
|
MIDBOSS_DEC(5);
|
|
|
|
MIDBOSS_DEC(x);
|