![]() |
Routines |
| Prev: 9B44 | Up: Map | Next: 9B84 |
|
Used by the routine at Draw_Room.
Draws the bottom left corner of the frame of the room if bit 5 of the frame flags is set, or clears its area if it is not.
The corner is drawn at x position 00 y position A0 by Draw_Corner_Shape. Its shape depends on whether the floor (bit 4) and the left wall (bit 6) are present.
|
||||||||||
| Draw_Bottom_Left_Corner | 9B64 | PUSH DE | Stash the frame flags on the stack. | |||||||
| 9B65 | LD HL,$A000 | Set the x position to 00 and the y position to A0 (A000). | ||||||||
| 9B68 | LD A,E | Copy the frame flags to A. | ||||||||
| 9B69 | LD DE,$9B84 | Point at the table of corner shapes (Bottom_Left_Corner_Table). | ||||||||
| 9B6C | BIT 5,A | Jump to 9B73 to clear the area if the corner is not present. | ||||||||
| 9B6E | JP Z,Clear_Panel | |||||||||
| 9B70 | SBC A,C | |||||||||
| 9B71 | PUSH HL | Stash the position on the stack. | ||||||||
| 9B72 | EX DE,HL | Exchange the registers so that HL holds the address of the table. | ||||||||
| 9B73 | BIT 4,A | Jump to Draw_Bottom_Left_Corner_Check_Left_Wall if the floor is not present. | ||||||||
| 9B75 | JR Z,Draw_Bottom_Left_Corner_Check_Left_Wall | |||||||||
| 9B77 | INC HL | Skip the shapes for a floor. | ||||||||
| 9B78 | INC HL | |||||||||
| Draw_Bottom_Left_Corner_Check_Left_Wall | 9B79 | BIT 6,A | Jump to Draw_Bottom_Left_Corner_Draw_Shape if the left wall is not present. | |||||||
| 9B7B | JR Z,Draw_Bottom_Left_Corner_Draw_Shape | |||||||||
| 9B7D | INC HL | Skip the shapes for a left wall. | ||||||||
| 9B7E | INC HL | |||||||||
| 9B7F | INC HL | |||||||||
| 9B80 | INC HL | |||||||||
| Draw_Bottom_Left_Corner_Draw_Shape | 9B81 | JP Draw_Corner_Shape | Jump to Draw_Corner_Shape to draw the shape. | |||||||
| Prev: 9B44 | Up: Map | Next: 9B84 |