| quill | Routines |
| Prev: 25231 | Up: Map | Next: 25368 |
|
Used by the routine at DESC_LOCATION.
|
||||
| DESC_LIT_LOC | 25300 | CALL DRAW_LOCATION | Call Illustrator routines | |
| 25303 | LD BC,(23331) | BC=current location | ||
| 25307 | ADD HL,BC | |||
| 25308 | ADD HL,BC | HL=offset of current location in location table | ||
| 25309 | LD E,(HL) | E=LSB of location text | ||
| 25310 | INC HL | |||
| 25311 | LD D,(HL) | D=MSB of location text | ||
| 25312 | EX DE,HL | HL=address of location text | ||
| 25313 | CALL PRINT_TO_SCREEN_0 | Display location text | ||
| 25316 | LD BC,0 | BC=object 0 | ||
| 25319 | RES 5,(IY+8) | Reset "You can see..." flag | ||
| DESC_LIT_LOC_0 | 25323 | LD HL,23333 | HL=start of object current location table | |
| 25326 | ADD HL,BC | Find address of object current location | ||
| 25327 | LD A,(HL) | A=current location of object in BC | ||
| 25328 | CP 255 | Have we reached the end of the table? | ||
| 25330 | JR Z,PROCESS_STATUS | If so, skip to status processing | ||
| 25332 | CP (IX+35) | Is object at current location? | ||
| 25335 | JR NZ,DESC_LIT_LOC_2 | |||
| 25337 | BIT 5,(IY+8) | Have we displayed "You can see.." already? | ||
| 25341 | JR NZ,DESC_LIT_LOC_1 | If so, skip displaying it | ||
| 25343 | LD HL,1 | "You can see..." | ||
| 25346 | CALL PRINT_SYSMSG_NEWLINE | Print System message | ||
| 25349 | SET 5,(IY+8) | Set flag to indicate we've displayed it | ||
| DESC_LIT_LOC_1 | 25353 | LD HL,(27547) | HL = address of Object description table | |
| 25356 | ADD HL,BC | |||
| 25357 | ADD HL,BC | Move HL to address of current object description | ||
| 25358 | LD E,(HL) | E=LSB of object name | ||
| 25359 | INC HL | |||
| 25360 | LD D,(HL) | D=MSB of object name | ||
| 25361 | EX DE,HL | HL=address of object name | ||
| 25362 | CALL PRINT_TO_SCREEN_1 | Display object name | ||
| DESC_LIT_LOC_2 | 25365 | INC BC | Onto next object | |
| 25366 | JR DESC_LIT_LOC_0 | Loop through all objects | ||
| Prev: 25231 | Up: Map | Next: 25368 |