Prev: 88F3 Up: Map Next: 892B
88FE: Enemy movement: Update sprite path
Used by the routine at handle_sprite_types_0E_11.
update_sprite_path 88FE LD A,(sprite_countdown)
8901 OR A
8902 RET NZ
8903 CALL maybe_create_enemy_shot Create enemy shot
8906 LD L,(IX+$06) Get path address
8909 LD H,(IX+$07) ...
890C LD A,(IX+$03) Get counter
This entry point is used by the routine at L892B.
update_sprite_path_0 890F SUB $10 Decrement upper nybble
8911 LD (IX+$03),A Store again
8914 JR NC,move_animate_sprite_along_path If upper nybble >= 1, then jump to move sprite
This entry point is used by the routine at set_sprite_flags_to_18_if_match.
update_sprite_path_1 8916 INC HL Else increment path address
8917 LD (IX+$06),L Set path address
891A LD (IX+$07),H ...
891D LD A,(HL) Get path byte
891E CP $10 If upper nybble >= 1
8920 JR NC,L892B Then jump ahead to update counter
8922 DEC A Else decrement lower nybble
8923 JP M,set_sprite_flags_to_18_if_match If negative then set sprite flag to $18 if path byte matches and return
8926 JR Z,set_sprite_flags_to_04 If zero then set sprite flag to $04 and return
8928 JP set_sprite_flags_to_40 If positive then set sprite flag to $40 and return
Prev: 88F3 Up: Map Next: 892B