![]() |
Routines |
| Prev: 39664 | Up: Map | Next: 39704 |
|
Used by the routine at Draw_Room.
Draws the bottom right corner of the frame of the room if bit 3 of the frame flags is set, or clears its area if it is not.
The corner is drawn at x position 232 y position 160 by Draw_Corner_Shape. Its shape depends on whether the floor (bit 4) and the right wall (bit 2) are present.
|
||||||||||
| Draw_Bottom_Right_Corner | 39672 | PUSH DE | Stash the frame flags on the stack. | |||||||
| 39673 | LD HL,41192 | Set the x position to 232 and the y position to 160 (41192). | ||||||||
| 39676 | LD A,E | Copy the frame flags to A. | ||||||||
| 39677 | LD DE,39704 | Point at the table of corner shapes (Bottom_Right_Corner_Table). | ||||||||
| 39680 | BIT 3,A | Jump to 39687 to clear the area if the corner is not present. | ||||||||
| 39682 | JP Z,Clear_Panel | |||||||||
| 39684 | SBC A,C | |||||||||
| 39685 | PUSH HL | Stash the position on the stack. | ||||||||
| 39686 | EX DE,HL | Exchange the registers so that HL holds the address of the table. | ||||||||
| 39687 | BIT 4,A | Jump to Draw_Bottom_Right_Corner_Check_Right_Wall if the floor is not present. | ||||||||
| 39689 | JR Z,Draw_Bottom_Right_Corner_Check_Right_Wall | |||||||||
| 39691 | INC HL | Skip the shapes for a floor. | ||||||||
| 39692 | INC HL | |||||||||
| Draw_Bottom_Right_Corner_Check_Right_Wall | 39693 | BIT 2,A | Jump to Draw_Bottom_Right_Corner_Draw_Shape if the right wall is not present. | |||||||
| 39695 | JR Z,Draw_Bottom_Right_Corner_Draw_Shape | |||||||||
| 39697 | INC HL | Skip the shapes for a right wall. | ||||||||
| 39698 | INC HL | |||||||||
| 39699 | INC HL | |||||||||
| 39700 | INC HL | |||||||||
| Draw_Bottom_Right_Corner_Draw_Shape | 39701 | JP Draw_Corner_Shape | Jump to Draw_Corner_Shape to draw the shape. | |||||||
| Prev: 39664 | Up: Map | Next: 39704 |