![]() |
Routines |
| Prev: 47208 | Up: Map | Next: 47274 |
|
Used by the routine at DescribeObjectIfPresent.
Reads the link pointer beside the character lists and follows it.
|
||||
| FollowLinkPointer | 47210 | PUSH AF | Point at the link pointer, then call FetchObjectPointerFromStack to fetch object pointer from stack. | |
| 47211 | LD IX,40942 | |||
| 47215 | CALL FetchObjectPointerFromStack | |||
| 47218 | JR Z,FollowLinkPointer_HandResultCaller | Go to FollowLinkPointer_HandResultCaller if the object pointer is zero. | ||
| 47220 | LD C,(IX+0) | Read the record's flag byte and read the moved marker. | ||
| 47223 | LD B,(IX+1) | |||
| 47226 | LD (47208),BC | Store that flag word at 47208. | ||
| 47230 | LD L,(IX-2) | Read the pointer saved ahead of this record. | ||
| 47233 | LD H,(IX-1) | |||
| 47236 | LD (40940),HL | Record the character script entry list. | ||
| 47239 | CALL ProcessMemoryEntry | Call ProcessMemoryEntry to run memory entry. | ||
| 47242 | POP AF | |||
| 47243 | PUSH AF | Jump ahead to FollowLinkPointer_CopyLink if the saved result is zero. | ||
| 47244 | AND A | |||
| 47245 | JR Z,FollowLinkPointer_CopyLink | |||
| 47247 | CALL ReadPointerFirstDisplay | Go to FollowLinkPointer_HandResultCaller if the display list was rebuilt. | ||
| 47250 | JR Z,FollowLinkPointer_HandResultCaller | |||
| FollowLinkPointer_CopyLink | 47252 | LD BC,(47208) | Read the word at 47208 and store it in the word at ActiveTextPointer. | |
| 47256 | LD (41003),BC | |||
| FollowLinkPointer_Call | 47260 | CALL SaveTextPointer | Jump back to FollowLinkPointer_Call while it is not 192. | |
| 47263 | CP 192 | |||
| 47265 | JR NZ,FollowLinkPointer_Call | |||
| 47267 | LD HL,(41001) | Write 144 through the pointer at SavedTextPointer. | ||
| 47270 | LD (HL),144 | |||
| FollowLinkPointer_HandResultCaller | 47272 | POP AF | Restore AF from the stack. | |
| 47273 | RET | Return. | ||
| Prev: 47208 | Up: Map | Next: 47274 |