![]() |
Routines |
| Prev: D57D | Up: Map | Next: D5C9 |
|
Used by the routine at PrintFormattedObjectList.
Looks the object up and prints either its special text or the ordinary description.
|
||||||||||
| PrintObjectDescription | D590 | PUSH IX | Call FetchObjectDataPointer to look up that object. | |||||||
| D592 | PUSH BC | |||||||||
| D593 | PUSH AF | |||||||||
| D594 | CALL FetchObjectDataPointer | |||||||||
| D597 | BIT 6,(IX+$05) | Jump to PrintObjectDescription_Standard if the special-description flag is clear. | ||||||||
| D59B | JR Z,PrintObjectDescription_Standard | |||||||||
|
Print the special description text for this object.
|
||||||||||
| PrintObjectDescription_Special | D59D | POP AF | Restore the saved flags from the stack, then save two copies of them back. | |||||||
| D59E | PUSH AF | |||||||||
| D59F | PUSH AF | |||||||||
| D5A0 | LD HL,$68B1 | Print the text at 68B1 from PrintObjectDescription_PrintText. | ||||||||
| D5A3 | JR PrintObjectDescription_PrintText | |||||||||
|
Determine which standard description text to use based on the description type.
Determine which standard description text to use based on the description type.
|
||||||||||
| PrintObjectDescription_Standard | D5A5 | LD HL,$0485 | Take 0485 and jump ahead to PrintObjectDescription_PrintAttributes if the count has run out. | |||||||
| D5A8 | DEC C | |||||||||
| D5A9 | JR Z,PrintObjectDescription_PrintAttributes | |||||||||
| D5AB | LD HL,$007A | Take the object token at 007A. | ||||||||
| PrintObjectDescription_PrintAttributes | D5AE | PUSH HL | Call PrintObjectAttributeDescription to describe the object's attribute, saving pointer. | |||||||
| D5AF | CALL PrintObjectAttributeDescription | |||||||||
| D5B2 | LD A,$01 | Enable *ObjectDisplayFlag (write 01 to it). | ||||||||
| D5B4 | LD ($A2AA),A | |||||||||
| D5B7 | CALL TakeTheFoundObject | Call TakeTheFoundObject to read this object's description flag. | ||||||||
| D5BA | XOR A | Disable *ObjectDisplayFlag (write 00 to it). | ||||||||
| D5BB | LD ($A2AA),A | |||||||||
| D5BE | LD HL,$68D9 | Take the cannot see message. | ||||||||
| PrintObjectDescription_PrintText | D5C1 | CALL PrintTextAndHandleControlCharacters | Call PrintTextAndHandleControlCharacters to print the message. | |||||||
| D5C4 | POP AF | Restore the saved result, the saved count and the saved character record from the stack. | ||||||||
| D5C5 | POP BC | |||||||||
| D5C6 | POP IX | |||||||||
| D5C8 | RET | Return. | ||||||||
| Prev: D57D | Up: Map | Next: D5C9 |