Prev: 28625 Up: Map Next: 28696
28631: Room drawing: Read graphic definition from room layout data and draw
Used by the routines at 27934, 28696 and 30145.
Input
A Index of graphic to draw
C Mirror options (bit 0 = apply vertical mirror, bit 1 = apply horizontal mirror)
H y-coordinate (characters)
L x-coordinate (characters)
28631 PUSH BC Store BC (C = horizontal / vertical mirror options)
28632 PUSH HL Store HL (H = y-coordinate, L = x-coordinate)
28633 LD L,A Load four times index of graphic to draw into HL...
28634 LD H,0 ...
28636 ADD HL,HL ...
28637 ADD HL,HL ...
28638 LD BC,55950 ...and add (in HL) to address of start of graphics data lookup table at 55950 as an offset...
28641 ADD HL,BC ...
28642 LD C,(HL) Load width & height at this location into BC...
28643 INC HL ...
28644 LD B,(HL) ...
28645 INC HL ...
28646 LD A,(HL) Load address of graphic data into HL...
28647 INC HL ...
28648 LD H,(HL) ...
28649 LD L,A ...
28650 LD (23447),HL ...and store at 23447
28653 POP HL Restore HL (H = y-coordinate, L = x-coordinate)...
28654 LD (23493),HL ...and store at 23493
28657 ADD HL,BC Add width and height to get coordinates (x+1, y+1) of bottom right of graphic to draw...
28658 LD (23495),HL ...and store at 23495
28661 POP BC Restore BC (C = horizontal / vertical mirror options)
28662 LD A,C If both mirror options are switched off...
28663 AND 3 ...
28665 JP Z,28684 ...then skip ahead to 28684
28668 CP 1 If only the apply-vertical-mirror option is switched on...
28670 JP Z,28687 ...then skip ahead to 28687
28673 CP 2 If only the apply-horizontal-mirror option is switched on...
28675 JP Z,28690 ...then skip ahead to 28690
28678 CP 3 If both mirror options are switched on...
28680 JP Z,28693 ...then skip ahead to 28693
28683 RET Return
28684 JP 52513 Reset apply-vertical-mirror flag, reset apply-horizontal-mirror flag, draw the graphic and return
28687 JP 52535 Set apply-vertical-mirror flag, reset apply-horizontal-mirror flag, draw the graphic and return
28690 JP 52566 Reset apply-vertical-mirror flag, set apply-horizontal-mirror flag, draw the graphic and return
28693 JP 52596 Set apply-vertical-mirror flag, set apply-horizontal-mirror flag, draw the graphic and return
Prev: 28625 Up: Map Next: 28696