25562: Routine at 63DA
25562 |
LD HL,24011 |
25565 |
INC (HL) |
25566 |
CALL 27879 |
25569 |
LD A,(IX+4) |
25572 |
LD HL,0 |
25575 |
BIT 1,A |
25577 |
JR NZ,25635 |
25579 |
CALL 25608 |
25582 |
LD A,(23810) |
25585 |
SUB 12 |
25587 |
CP (IX+2) |
25590 |
CALL Z,25614 |
25593 |
LD A,(24012) |
25596 |
AND 64 |
25598 |
JR Z,25604 |
25600 |
INC H |
25601 |
INC H |
25602 |
INC H |
25603 |
INC H |
25604 |
DEC H |
25605 |
DEC H |
25606 |
JR 25661 |
25608 |
LD A,(24014) |
25611 |
AND 31 |
25613 |
RET NZ |
25614 |
SET 1,(IX+4) |
25618 |
LD C,A |
25619 |
LD A,(24012) |
25622 |
ADD A,C |
25623 |
AND 127 |
25625 |
OR 32 |
25627 |
LD (IX+5),A |
25630 |
LD (IX+3),71 |
25634 |
RET |
25635 |
DEC (IX+5) |
25638 |
JR Z,25729 |
25640 |
LD A,4 |
25642 |
BIT 6,(IX+0) |
25646 |
JR Z,25650 |
25648 |
NEG |
25650 |
LD L,A |
25651 |
LD A,(23810) |
25654 |
CP (IX+2) |
25657 |
JR C,25604 |
25659 |
JR 25600 |
25661 |
LD A,(IX+0) |
25664 |
AND 192 |
25666 |
OR 3 |
25668 |
LD (IX+0),A |
25671 |
LD A,(IX+1) |
25674 |
ADD A,L |
25675 |
LD (IX+1),A |
25678 |
LD A,(IX+2) |
25681 |
ADD A,H |
25682 |
LD (IX+2),A |
25685 |
CALL 29290 |
25688 |
CALL ColouriseSprite |
25691 |
LD A,(IX+2) |
25694 |
CP 40 |
25696 |
JR C,25729 |
25698 |
CALL MeteorUpdate_9 |
25701 |
BIT 0,C |
25703 |
JR NZ,25729 |
25705 |
CALL 30237 |
25708 |
BIT 2,E |
25710 |
JR NZ,25729 |
25712 |
CALL MeteorUpdate_4 |
25715 |
DEC E |
25716 |
JR Z,25741 |
25718 |
LD A,(IX+0) |
25721 |
AND 192 |
25723 |
OR 7 |
25725 |
LD (IX+0),A |
25728 |
RET |
25729 |
LD BC,85 |
25732 |
CALL AddPointsToScore |
25735 |
CALL SoundsThrusters |
25738 |
JP EndAnimation |
25741 |
CALL EndAnimation |
25744 |
LD A,1 |
25746 |
CALL ExplosionInitialise |
25749 |
JP ObjectDeathExplosion |