Prev: 26426 Up: Map Next: 26730
26657: Draw Horace
Called from the main loop at 25129, and also used by the routine at 26730.
26657 LD A,(31865) Pick up the tunnel timer.
26660 AND A Is Horace in a tunnel at the moment?
26661 JR Z,26674 Jump if not.
26663 DEC A Decrement the tunnel timer.
26664 LD (31865),A
26667 LD HL,(31853) Update Horace's current location.
26670 LD (31851),HL
26673 RET
This entry point is used by the routine at 26426 to draw Horace during the Horace-has-died colour-cycling effect.
26674 LD A,(31858) Increment Horace's walking animation timer.
26677 INC A
26678 LD (31858),A
26681 AND 16 Keep only bit 4.
26683 CP 0 Is bit 4 set now? (This instruction is redundant.)
26685 JR NZ,26692 Jump if so.
26687 LD HL,32071 Point HL at the graphic data for Horace's sprite (frame 4).
26690 JR 26695
26692 LD HL,31943 This is the base address of the graphic data for Horace's sprite (frame 0).
26695 LD A,(31856) Pick up Horace's animation frame in A.
26698 RLC A Point DE at the graphic data for the corresponding sprite (HL+32*A).
26700 RLC A
26702 RLC A
26704 RLC A
26706 RLC A
26708 LD B,0
26710 LD C,A
26711 ADD HL,BC
26712 EX DE,HL
26713 LD HL,(31853) Update Horace's current location.
26716 LD (31851),HL
26719 CALL 27663 Set HL' to the corresponding attribute file address.
26722 LD A,(31857) Pick up Horace's attribute byte and copy it to C.
26725 LD C,A
26726 CALL 27606 Draw Horace.
26729 RET
Prev: 26426 Up: Map Next: 26730