#include "enemy.h" #include "standard.h" #include "wave.h" #include "world.h" static const Wave waves[] = { { { { 20, 2, { { 3, 5 }, { 15, 15 }, } }, }, 1 } }; void init_waver(Waver* waver) { waver->idx = 0; waver->sidx = 0; waver->timer = 0; } void next_wave(Waver* waver) { waver->idx++; } void update_waver(Waver* waver, World* world) { const Wave* wave; const Subwave* subwave; const Wave_Spawn* spawn; int i; wave = &waves[waver->idx]; subwave = &wave->subwaves[waver->sidx]; if (waver->sidx >= wave->subwave_count) { return; } waver->timer++; if (waver->timer >= subwave->frame) { for (i = 0; i < subwave->count; i++) { spawn = &subwave->spawns[i]; new_skull( world, (spawn->x * map_tile_size) << fbits, (spawn->y * map_tile_size) << fbits ); } waver->sidx++; } }