Prev: 49029 Up: Map Next: 49123
49080: Select Mirrored Draw
Used by the routines at DrawPiece and RunFrame.
Used when the ship is drawn. If it is facing left, moves the horizontal position to the other side of the sprite by its width in 23593 and points IX at the routine for the width in the table at DrawMirroredRowDirectly, which draws a mirrored sprite.
Input
HL Position
Output
IX Address of the routine
SelectMirroredDraw 49080 LD A,(51453) The ship's facing.
49083 BIT 7,A Return if bit 7 of A is clear.
49085 RET Z
49086 LD B,249 B=249.
49088 LD A,(23593) The sprite width in bytes.
49091 DEC A Step A back.
49092 ADD A,L A gains L.
49093 LD L,A L=A.
49094 LD A,(23593) The sprite width in bytes.
49097 LD IX,42966 The draw mirrored row directly.
49101 CP 6 Return if A is 6.
49103 RET Z
49104 LD IX,42973 The second mirrored-row draw.
49108 CP 5 Return if A is 5.
49110 RET Z
49111 LD IX,42980 The third mirrored-row draw.
49115 CP 4 Return if A is 4.
49117 RET Z
49118 LD IX,42987 The fourth mirrored-row draw.
49122 RET Return.
Prev: 49029 Up: Map Next: 49123