Prev: 46786 Up: Map Next: 46945
46914: Draw Opponent Portrait
Used by the routines at DrawCurrentOpponent, QuarterFinals, SemiFinals and TheFinal.
Input
BC Pointer to the opponent graphic
D Destination Y position
E Destination X position
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
Draw_OpponentPortrait 46914 CALL CalculateScreenBuffer Call CalculateScreenBuffer.
46917 LD D,B Copy the opponent pointer to display into DE.
46918 LD E,C
46919 LD B,56 Set a counter in B for the height of the opponent image.
Draw_OpponentPortrait_Loop 46921 PUSH BC Stash the height counter and destination pointer on the stack.
46922 PUSH HL
46923 EX DE,HL Swap the source and destination registers.
46924 LDI Copy 6 bytes of data from the source address to the destination.
46926 LDI
46928 LDI
46930 LDI
46932 LDI
46934 LDI
46936 EX DE,HL Swap the source and destination registers back again.
46937 POP HL Restore the original screen position from the stack.
46938 CALL NextScreenBufferLine Call NextScreenBufferLine.
46941 POP BC Restore the height counter from the stack.
46942 DJNZ Draw_OpponentPortrait_Loop Decrease the height counter by one and loop back to Draw_OpponentPortrait_Loop until the whole image has been displayed.
46944 RET Return.
Prev: 46786 Up: Map Next: 46945