![]() |
Routines |
| Prev: E28D | Up: Map | Next: E34F |
|
Used by the routine at TestCharacterAgainstRoom.
Records the room display, the graphics parameter and the current character, then stores the script position.
|
||||
| RecordResultRoomDisplay | E2EE | PUSH DE | Record the room display parameter. | |
| E2EF | LD D,A | |||
| E2F0 | LD A,B | |||
| E2F1 | LD ($A034),A | |||
| E2F4 | LD A,C | |||
| E2F5 | LD ($A035),A | Record the room graphics parameter. | ||
| E2F8 | LD A,($A036) | Record the current character. | ||
| E2FB | PUSH AF | |||
| E2FC | LD A,D | |||
| E2FD | LD ($A036),A | |||
|
Find character.
|
||||
| E300 | CALL FindCharacter | Call FindCharacter to find the character. | ||
| E303 | LD L,(IY+$01) | Read the word at IY+01-02 into HL and take 02. | ||
| E306 | LD H,(IY+$02) | |||
| E309 | LD B,$02 | |||
| E30B | CALL AllocateMemoryAndStoreCharacter | Call AllocateMemoryAndStoreCharacter to allocate memory and store character. | ||
| E30E | POP AF | |||
| E30F | LD ($A036),A | Record the current character and store the low byte of DE at IY+01. | ||
| E312 | POP DE | |||
| E313 | LD (IY+$01),E | |||
| E316 | LD (IY+$02),D | Store the high byte of DE at IY+02. | ||
| E319 | OR %00000001 | Reset the zero flag. | ||
| E31B | RET | Return. | ||
|
Reached through the display record at E328, dispatched by DispatchLookedUpHandlerThird.
|
||||
| E31C | LD IX,($A013) | Read the current object. | ||
| E320 | BIT 5,(IX+$06) | Go to ParseInputNumber_ReturnZero if bit 5 of the current object's byte at offset 06 is clear. | ||
| E324 | JP Z,ParseInputNumber_ReturnZero | |||
| E327 | RET | Return. | ||
| E328 | DEFB $6A,$10,$1C,$E3 | Display record read by ProcessDisplayRecord: flags 6A value 10 handler E31C. | ||
| E32C | LD HL,$6836 | Take the message at 6830+06. | ||
| E32F | CALL PrintTextAndHandleControlCharacters | Call PrintTextAndHandleControlCharacters to print the message. | ||
| E332 | LD IX,($A013) | Read the current object. | ||
| E336 | LD L,(IX+$09) | |||
| E339 | LD H,(IX+$0A) | Read the high byte of the text pointer. | ||
| E33C | CALL ShiftTextPointer | Call ShiftTextPointer to print the value in HL, then call PrintNewline to print a new line. | ||
| E33F | CALL PrintNewline | |||
| E342 | OR %00000001 | Reset the zero flag. | ||
| E344 | RET | Return. | ||
|
Reached through the display record at E370, dispatched by DispatchLookedUpHandlerThird.
|
||||
| E345 | CALL ReadCharacterTextPointers | Return if this character has no room graphic. | ||
| E348 | RET Z | |||
| E349 | LD A,$25 | Write 25 to the saved character. | ||
| E34B | LD ($A033),A | |||
| E34E | RET | Return. | ||
| Prev: E28D | Up: Map | Next: E34F |