Prev: 53661 Up: Map Next: 53805
53754: Draw Strips Left To Right
Used by the routine at DrawCell.
Draws a list of sixteen strips along the edge of a cell from left to right: eight strips going up and to the right, and then eight going down and to the right, which are mirrored.
Input
A The number of the list in the table at StripListTable
Find the address of the list.
DrawStripsLeftToRight 53754 LD BC,25252 Point BC at StripListTable.
53757 CALL GetTableEntry Call GetTableEntry.
53760 PUSH HL Copy the list address to IY (using the stack).
53761 POP IY
Draw tiles as they are.
53763 XOR A Write 0 to *MirrorFlag.
53764 LD (48114),A
53767 LD BC,2048 Set a count of eight tiles, without swapping any.
Draw eight tiles going up and to the right.
DrawStripsLeftToRight_Up 53770 CALL DrawStrip Call DrawStrip.
53773 CALL StepUpRightInList Call StepUpRightInList.
53776 DJNZ DrawStripsLeftToRight_Up Jump to DrawStripsLeftToRight_Up if there are any left.
Move down by eight pixels to start the second run.
53778 LD HL,(48056) Move the position of the strips down one step.
53781 LD DE,8
53784 ADD HL,DE
53785 LD (48056),HL
Draw the rest of the tiles flipped.
53788 LD A,1 Write 1 to *MirrorFlag.
53790 LD (48114),A
53793 LD BC,2048 Set a count of eight tiles, without swapping any.
Draw eight tiles going down and to the right.
DrawStripsLeftToRight_Down 53796 CALL DrawStrip Call DrawStrip.
53799 CALL StepDownRightInList Call StepDownRightInList.
53802 DJNZ DrawStripsLeftToRight_Down Jump to DrawStripsLeftToRight_Down if there are any left.
53804 RET Return.
View the equivalent code in;
Prev: 53661 Up: Map Next: 53805