Prev: 8B12 Up: Map Next: 8C07
8BD9: Manage waves
Used by the routine at main_loop.
manage_waves 8BD9 LD A,(status_flags) Check bit for all waves completed
8BDC BIT 1,A ...
8BDE RET NZ Return if set
8BDF LD A,(outcoming_enemies) Outcoming enemies
8BE2 OR A Is it zero?
8BE3 JP NZ,handle_wave_outcoming If not, jump ahead to add enemy
8BE6 LD A,(active_enemies) Get active enemies
8BE9 OR A Return if not zero
8BEA RET NZ ...
8BEB LD A,(frame_counter) Frame counter
8BEE AND $03 3 of 4 times,
8BF0 JR NZ,manage_waves_0 skip ahead
8BF2 LD A,(countdown_to_wave) Get counter value
8BF5 DEC A Decrement value
8BF6 JP M,manage_waves_0 If negative, skip ahead
8BF9 LD (countdown_to_wave),A Save counter again
manage_waves_0 8BFC LD A,(wave) Get wave
8BFF CP $04 Compare to 4
8C01 JR C,manage_wave_lt_4 If < 4, jump to handler
8C03 JR Z,manage_wave_eq_4 If = 4, jump to handler
8C05 JR all_waves_completed If > 4 then all waves completed
Prev: 8B12 Up: Map Next: 8C07