struct s_wave_enemy { int type; int how_many_to_spawn; int how_many_spawned; float delay; // @Note(tkap, 02/06/2022): Affects gold reward, exp reward, and max health. This is done to reduce the number of enemies without affecting rewards/balance. int power_multiplier; }; struct s_wave { b8 started; b8 spawned_something; // @Note(tkap): This cycles between 0 and how many spawn points there are on the map. We then spawn enemies at // whatever spawn point is in that index. int spawn_index; float time_passed; // @Note(tkap): Used to know when all the enemies that this wave spawns have been killed. // Everytime an enemy spawned by this wave is killed we decrease this by one. When it reaches 0, this wave // has been beaten. int total_enemies; s_sarray wave_enemies; }; // This is inside GAME struct s_wave waves[1000];