6EC8: Process and render all active explosions
| render_explosions |
6EC8 |
LD HL,($5F62) |
|
6ECB |
LD C,(HL) |
|
6ECC |
INC HL |
|
6ECD |
LD B,(HL) |
|
6ECE |
INC HL |
|
6ECF |
LD D,(HL) |
|
6ED0 |
INC HL |
|
6ED1 |
LD ($5F62),HL |
|
6ED4 |
LD A,C |
|
6ED5 |
CP $00 |
|
6ED7 |
JP Z,render_explosions |
|
6EDA |
CP $FF |
|
6EDC |
JP Z,reset_explosions_pointer |
|
6EDF |
LD A,($5F64) |
|
6EE2 |
ADD A,B |
|
6EE3 |
DEC HL |
|
6EE4 |
DEC HL |
|
6EE5 |
LD (HL),A |
|
6EE6 |
LD A,D |
|
6EE7 |
AND $7F |
|
6EE9 |
INC A |
|
6EEA |
CP $07 |
|
6EEC |
JP Z,remove_explosion_entry |
|
6EEF |
LD A,D |
|
6EF0 |
INC A |
|
6EF1 |
INC HL |
|
6EF2 |
LD (HL),A |
|
6EF3 |
LD A,B |
|
6EF4 |
AND $88 |
|
6EF6 |
CP $88 |
|
6EF8 |
JP Z,render_explosions |
|
6EFB |
LD A,B |
|
6EFC |
AND $90 |
|
6EFE |
CP $90 |
|
6F00 |
JP Z,render_explosions |
|
6F03 |
LD A,(HL) |
|
6F04 |
AND $7F |
|
6F06 |
CP $01 |
|
6F08 |
CALL Z,ld_sprite_explosion_f1 |
|
6F0B |
CP $02 |
|
6F0D |
CALL Z,ld_sprite_explosion_f2 |
|
6F10 |
CP $03 |
|
6F12 |
CALL Z,ld_sprite_explosion_f3 |
|
6F15 |
CP $04 |
|
6F17 |
CALL Z,ld_sprite_explosion_f2 |
|
6F1A |
CP $05 |
|
6F1C |
CALL Z,ld_sprite_explosion_f1 |
|
6F1F |
CP $06 |
|
6F21 |
CALL Z,ld_sprite_explosion_erasure |
|
6F24 |
LD A,(HL) |
|
6F25 |
LD HL,$82C5 |
|
6F28 |
LD ($8B0E),HL |
|
6F2B |
LD ($8B10),DE |
|
6F2F |
LD D,A |
|
6F30 |
LD A,$00 |
|
6F32 |
LD ($5EF5),A |
|
6F35 |
LD A,$02 |
|
6F37 |
LD ($8B1A),A |
|
6F3A |
LD A,D |
|
6F3B |
LD DE,$080C |
|
6F3E |
LD ($8B0A),BC |
|
6F42 |
LD ($8B0C),BC |
|
6F46 |
LD BC,$0000 |
|
6F49 |
BIT 7,A |
|
6F4B |
JP NZ,render_explosions_next |
|
6F4E |
PUSH DE |
|
6F4F |
PUSH BC |
|
6F50 |
PUSH AF |
|
6F51 |
PUSH HL |
|
6F52 |
LD A,$02 |
|
6F54 |
CALL set_sprite_attributes |
|
6F57 |
POP HL |
|
6F58 |
POP AF |
|
6F59 |
POP BC |
|
6F5A |
POP DE |
| render_explosions_next |
6F5B |
LD A,$02 |
|
6F5D |
CALL render_object_entry |
|
6F60 |
JP render_explosions |