![]() |
Routines |
| Prev: 56587 | Up: Map | Next: 56629 |
|
Used by the routines at ReadRoomDisplayParameter, MarkObjectAndJump, TestCharacterAgainstRoom and CheckCharacterForRoomGraphics.
When this is the character being processed, stores that character's room and looks the object up.
|
||||
| StoreMatchedCharacterRoom | 56590 | PUSH AF | Take the character being processed. | |
| 56591 | LD HL,41014 | |||
| 56594 | CP (HL) | Jump ahead to StoreMatchedCharacterRoom_Next if this is not the character being processed. | ||
| 56595 | LD A,B | |||
| 56596 | JR NZ,StoreMatchedCharacterRoom_Next | |||
| 56598 | LD (40970),A | Record the current character attribute. | ||
| StoreMatchedCharacterRoom_Next | 56601 | CP 255 | Jump ahead to StoreMatchedCharacterRoom_0 unless B is 255. | |
| 56603 | JR NZ,StoreMatchedCharacterRoom_0 | |||
| 56605 | XOR A | Start the character from zero. | ||
| StoreMatchedCharacterRoom_0 | 56606 | LD (56577),A | Store the room at 56577 and call FetchLocationDataPointer to look it up. | |
| 56609 | CALL FetchLocationDataPointer | |||
| 56612 | LD (56575),IX | Store the current record at 56575. | ||
| 56616 | POP AF | Call FetchObjectDataPointer to look up that object. | ||
| 56617 | CALL FetchObjectDataPointer | |||
| 56620 | LD (IX+15),B | Store it in the character attribute, then call ProcessObjectLocationRecursively to run object location recursively. | ||
| 56623 | CALL ProcessObjectLocationRecursively | |||
| 56626 | OR %00000001 | Reset the zero flag. | ||
| 56628 | RET | Return. | ||
| Prev: 56587 | Up: Map | Next: 56629 |