Prev: DF05 Up: Map Next: E049
E00B: Draw the enemy sprite on title screen (1/2)
This routine populates the data buffer at E049 that is used to display the next animation frame of the enemy in the tile screen. Used by the routine at DAC0.
Input
HL Address pointer of the corresponding enemy animation definition
E00B LD A,($A085) Pick the visibility indicator of the enemy windows
E00E OR A Is hidden?
E00F RET Z Then return
E010 LD ($A081),HL Save at A081 the address pointer for the enemy animation definition
E013 LD IX,($A081) Save at IX the address pointer for the enemy animation definition
E017 LD A,(IX+$02) Copy at $E04D the width of the sprite
E01A LD ($E04D),A
E01D LD A,(IX+$03) Copy at $E04E the height of the sprite
E020 LD ($E04E),A
E023 LD A,(IX+$04) Set A to the first animation frame
E026 PUSH IX Save IX
E028 LD DE,$0004 Points IX to the first animation frame
E02B ADD IX,DE
E02D PUSH IX Save IX
E02F POP HL Restore HL
E030 POP IX Restore IX
E032 LD A,($A07F) Set DE to the offset of the corresponding animation frame at A07F
E035 LD E,A
E036 LD D,$00
E038 ADD HL,DE
E039 LD E,(HL)
E03A LD D,$00
E03C LD L,(IX+$00) Set HL the address pointer of the graphics data of the enemy to display
E03F LD H,(IX+$01)
E042 ADD HL,DE
E043 LD ($E049),HL Save at E049 the addres pointer of the graphics data of the enemy to display
E046 CALL $D8C0 Draws the enemy sprite defined in E049
Prev: DF05 Up: Map Next: E049