Prev: 8666 Up: Map Next: 86B9
8690: Update Control Icon
Used by the routines at RunTitleMenu and ShowTitleScreen.
Slides the icon for a player's control method towards the row of the selected method and draws it.
Input
IX Address of the control icon data (see ControlIconPlayerOne)
DE Address of the sprite of the icon
UpdateControlIcon 8690 LD A,(IX+$02) Fetch the selected control method.
8693 LD HL,$8704 Use the table of icon positions at ControlIconPositions.
8696 CALL AddAToHL Add the control method to the address.
8699 LD A,(HL) Fetch the target position of the icon.
869A SUB (IX+$01) Subtract the current position of the icon.
869D JR Z,UpdateControlIcon_Draw Jump to UpdateControlIcon_Draw if the icon is already in place.
869F BIT 7,A Jump to UpdateControlIcon_Up if the icon is above the target.
86A1 JR NZ,UpdateControlIcon_Up
86A3 INC (IX+$01) Move the icon one pixel closer.
86A6 JR UpdateControlIcon_Draw Jump to UpdateControlIcon_Draw.
UpdateControlIcon_Up 86A8 LD A,(IX+$01) Fetch the current position of the icon.
86AB SUB $04 Move the icon four pixels closer.
86AD LD (IX+$01),A Store the new position.
UpdateControlIcon_Draw 86B0 LD L,(IX+$00) Fetch the pixel position of the icon into HL.
86B3 LD H,(IX+$01)
86B6 JP DrawBitmap Draw the icon.
Prev: 8666 Up: Map Next: 86B9