// structs // bullets #define BULLET_COUNT 64 struct bulletSpawner { fix16 x, y, speed; Vect2D_f16 vel; s16 angle; SpriteDefinition* image; bool big, player; bool bools[COUNT_INT]; s16 ints[COUNT_INT]; fix16 fixes[COUNT_INT]; }; struct bullet { bool active, player; fix16 speed; fix32 dist; Vect2D_f16 pos, vel; s16 angle, clock; Sprite* image; bool dead, big; void (*updater)(s16); bool bools[COUNT_INT]; s16 ints[COUNT_INT]; fix16 fixes[COUNT_INT]; }; struct bullet bullets[BULLET_COUNT]; // player struct playerStruct { Vect2D_f16 pos, vel; Sprite* image; s16 clock, invincibleClock, shotClock; }; struct playerStruct player; // enemies #define ENEMY_COUNT 32 struct enemySpawner { fix16 speed; s16 angle, offX, offY, x, y, anim, health, frame; Vect2D_f16 vel; Sprite* image; bool boss, seal; bool bools[COUNT_INT]; s16 ints[COUNT_INT]; fix16 fixes[COUNT_INT]; }; struct enemy { bool active, boss, seen, seal, dead; fix16 speed; fix32 dist; Vect2D_f16 pos, vel, off; s16 angle, clock, health, shotClock; Sprite* image; Sprite* sealImage; void (*updater)(s16); void (*bossUpdater)(s16); void (*suicide)(s16); bool bools[COUNT_INT]; s16 ints[COUNT_INT]; fix16 fixes[COUNT_INT]; }; struct enemy enemies[ENEMY_COUNT];