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 |