![]() |
Routines |
| Prev: E0FD | Up: Map | Next: E151 |
|
Hands object 3F to the held-mark routine. A non-zero return means the script step succeeded.
|
||||
|
Run by CA64 after the display record at E0FD, from the show-message command at E0F9.
|
||||
| SetHeldMark_OtherObject | E0FF | LD A,$3F | Jump back to SetObjectHeldMark to set object attribute bit 7. | |
| E101 | JP SetObjectHeldMark | |||
| E104 | DEFB $08,$60 | Display record read by ProcessDisplayRecord: flags 08 value 60. | ||
| E106 | LD A,$01 | Take 01 as the room flag. | ||
| E108 | LD ($CAAE),A | Store A as the room flag. | ||
| E10B | LD A,($A036) | Return if the character is set. | ||
| E10E | AND A | |||
| E10F | RET NZ | |||
|
Print object description text.
|
||||
| E110 | CALL PrintObjectDescriptionText | Call PrintObjectDescriptionText to print the object's description. | ||
| E113 | LD IX,($A013) | Read the current object. | ||
|
An object flag is set?
|
||||
| E117 | BIT 5,(IX+$05) | Return if an object flag is set. | ||
| E11B | RET NZ | |||
| E11C | SET 5,(IX+$05) | Set an object flag. | ||
| E120 | LD HL,$7BF7 | |||
| E123 | LD (IX+$0D),L | Store the low byte of a stored pointer. | ||
| E126 | LD (IX+$0E),H | Store it in the character record and take the message, then call PrintTextAndHandleControlCharacters to print the message. | ||
| E129 | LD HL,$7C13 | |||
| E12C | CALL PrintTextAndHandleControlCharacters | |||
| E12F | CALL PrintNewline | Call PrintNewline to print a new line. | ||
| E132 | OR $01 | |||
| E134 | RET | Return. | ||
| E135 | DEFB $78,$50,$2E,$DF,$80,$40,$00,$00 | Display record read by ProcessDisplayRecord: flags 78 value 50 handler DF2E, parameters 80 40 00 00 00. | ||
| E13D | DEFB $00 | |||
| E13E | LD A,$01 | Take 01 as the room flag. | ||
| E140 | LD ($CAAE),A | Store the room flag. | ||
| E143 | LD A,($A036) | Read the character being processed. | ||
| E146 | AND A | Return if this character id is not zero. | ||
| E147 | RET NZ | |||
| E148 | CALL LookupAndPrintDisplayText | Call LookupAndPrintDisplayText to print the display text. | ||
| E14B | CALL PrintNewline | Call PrintNewline to print a new line. | ||
| E14E | OR %00000001 | Reset the zero flag. | ||
| E150 | RET | Return. | ||
| Prev: E0FD | Up: Map | Next: E151 |