B0DF: Apply the prize on a removed prize glyph
| apply_prize |
B0DF |
LD HL,(hit_brick_addr) |
|
B0E2 |
LD A,(HL) |
|
B0E3 |
CP $6C |
|
B0E5 |
JR Z,cancel_prize |
|
B0E7 |
CP $79 |
|
B0E9 |
RET C |
|
B0EA |
CP $A5 |
|
B0EC |
RET NC |
| cancel_prize |
B0ED |
LD A,(double_bat_active) |
|
B0F0 |
OR A |
|
B0F1 |
JR Z,cancel_prize_expand |
|
B0F3 |
XOR A |
|
B0F4 |
LD (obj2_active),A |
| cancel_prize_expand |
B0F7 |
LD A,(expand_active) |
|
B0FA |
OR A |
|
B0FB |
JR Z,cancel_prize_missile |
|
B0FD |
XOR A |
|
B0FE |
LD (fx_grow_arm),A |
|
B101 |
INC A |
|
B102 |
LD (fx_shrink_arm),A |
| cancel_prize_missile |
B105 |
LD A,(missile_active) |
|
B108 |
OR A |
|
B109 |
JR Z,cancel_prize_flags |
|
B10B |
XOR A |
|
B10C |
LD (fx_bat_missile_arm),A |
|
B10F |
INC A |
|
B110 |
LD (fx_bat_normal_arm),A |
| cancel_prize_flags |
B113 |
XOR A |
|
B114 |
LD (glue_active),A |
|
B117 |
LD (double_bat_active),A |
|
B11A |
LD (missile_active),A |
|
B11D |
LD (double_score),A |
|
B120 |
INC A |
|
B121 |
LD (glue_release_req),A |
|
B124 |
LD A,(HL) |
|
B125 |
CP $79 |
|
B127 |
JR NZ,apply_bomb |
|
B129 |
LD A,$01 |
|
B12B |
LD (glue_active),A |
|
B12E |
RET |
| apply_bomb |
B12F |
CP $7D |
|
B131 |
JR NZ,apply_missile |
|
B133 |
XOR A |
|
B134 |
LD (ball_b_in_play),A |
|
B137 |
LD (missile_shot),A |
|
B13A |
INC A |
|
B13B |
LD (fx_bomb_arm),A |
|
B13E |
LD (cluster_center_addr),HL |
|
B141 |
LD A,(hit_brick_index) |
|
B144 |
LD (cluster_brick_index),A |
|
B147 |
CALL brick_addr_to_pixel |
|
B14A |
LD A,B |
|
B14B |
LD (obj2_object),A |
|
B14E |
LD A,C |
|
B14F |
LD (obj2_y),A |
|
B152 |
LD A,$63 |
|
B154 |
LD (ball_b_heading),A |
|
B157 |
RET |
| apply_missile |
B158 |
CP $81 |
|
B15A |
JR NZ,apply_expand |
|
B15C |
LD A,(missile_shot) |
|
B15F |
OR A |
|
B160 |
RET NZ |
|
B161 |
LD A,(fx_retract_arm) |
|
B164 |
OR A |
|
B165 |
RET NZ |
|
B166 |
XOR A |
|
B167 |
LD (fx_bat_normal_arm),A |
|
B16A |
LD (fx_shrink_arm),A |
|
B16D |
INC A |
|
B16E |
LD (missile_active),A |
|
B171 |
LD (fx_bat_missile_arm),A |
|
B174 |
LD A,(expand_active) |
|
B177 |
OR A |
|
B178 |
RET Z |
|
B179 |
XOR A |
|
B17A |
LD (expand_active),A |
|
B17D |
LD A,(bat_y) |
|
B180 |
ADD A,$08 |
|
B182 |
LD (bat_y),A |
|
B185 |
XOR A |
|
B186 |
LD (bat_ext_active),A |
|
B189 |
RET |
| apply_expand |
B18A |
CP $85 |
|
B18C |
JR NZ,apply_double_bat |
|
B18E |
LD A,(expand_active) |
|
B191 |
OR A |
|
B192 |
JR NZ,apply_expand_done |
|
B194 |
LD A,$01 |
|
B196 |
LD (expand_active),A |
|
B199 |
LD (fx_grow_arm),A |
| apply_expand_done |
B19C |
XOR A |
|
B19D |
LD (fx_shrink_arm),A |
|
B1A0 |
LD (fx_bat_normal_arm),A |
|
B1A3 |
RET |
| apply_double_bat |
B1A4 |
CP $89 |
|
B1A6 |
JR NZ,apply_double_score |
|
B1A8 |
LD A,$01 |
|
B1AA |
LD (double_bat_active),A |
|
B1AD |
RET |
| apply_double_score |
B1AE |
CP $8D |
|
B1B0 |
JR NZ,apply_extra_life |
|
B1B2 |
LD A,$01 |
|
B1B4 |
LD (double_score),A |
|
B1B7 |
RET |
| apply_extra_life |
B1B8 |
CP $91 |
|
B1BA |
JR NZ,apply_slow_ball |
|
B1BC |
CALL gain_life |
|
B1BF |
RET |
| apply_slow_ball |
B1C0 |
CP $95 |
|
B1C2 |
JR Z,slow_ball_select |
|
B1C4 |
CP $99 |
|
B1C6 |
JR Z,slow_ball_select |
|
B1C8 |
CP $9D |
|
B1CA |
JR Z,slow_ball_select |
|
B1CC |
CP $A1 |
|
B1CE |
JR NZ,apply_safety_net |
| slow_ball_select |
B1D0 |
LD A,(active_ball) |
|
B1D3 |
OR A |
|
B1D4 |
JR NZ,slow_ball_use_b |
|
B1D6 |
LD IY,ball_a_x_accum |
|
B1DA |
JR slow_ball_step_down |
| slow_ball_use_b |
B1DC |
LD IY,ball_b_x_accum |
| slow_ball_step_down |
B1E0 |
LD A,(ball_speed) |
|
B1E3 |
INC A |
|
B1E4 |
LD B,A |
|
B1E5 |
LD A,(IY+$06) |
|
B1E8 |
CP B |
|
B1E9 |
JR C,slow_ball_clear_rally |
|
B1EB |
JR Z,slow_ball_dec |
|
B1ED |
DEC (IY+$06) |
| slow_ball_dec |
B1F0 |
DEC (IY+$06) |
| slow_ball_clear_rally |
B1F3 |
XOR A |
|
B1F4 |
LD (IY+$0A),A |
|
B1F7 |
RET |
| apply_safety_net |
B1F8 |
LD A,(safety_net_fx_phase) |
|
B1FB |
CP $03 |
|
B1FD |
JR NZ,safety_net_arm |
|
B1FF |
XOR A |
|
B200 |
LD (safety_net_fx_step),A |
|
B203 |
LD (safety_net_fx_hold),A |
|
B206 |
RET |
| safety_net_arm |
B207 |
LD A,$01 |
|
B209 |
LD (safety_net_fx_phase),A |
|
B20C |
RET |
Fork me on GitHub