Also, rather than having an array of structs each with an overlay, etc, why not have:
Code: ags
struct Enemies{
// Sprites
Overlay* enemy_graphics[MAX_ENEMIES];
int enemy_sprites[MAX_ENEMIES];
int width[MAX_ENEMIES]; // enemies sprite proberties
int height[MAX_ENEMIES];
..
..
int all_enemies;
int enemy_type;
int amount_of_enemies_per_type;
};