![]() |
Routines |
| Prev: DD0B | Up: Map | Next: DD35 |
|
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 | DD0E | PUSH AF | Take the character being processed. | |
| DD0F | LD HL,$A036 | |||
| DD12 | CP (HL) | Jump ahead to StoreMatchedCharacterRoom_Next if this is not the character being processed. | ||
| DD13 | LD A,B | |||
| DD14 | JR NZ,StoreMatchedCharacterRoom_Next | |||
| DD16 | LD ($A00A),A | Record the current character attribute. | ||
| StoreMatchedCharacterRoom_Next | DD19 | CP $FF | Jump ahead to StoreMatchedCharacterRoom_0 unless B is FF. | |
| DD1B | JR NZ,StoreMatchedCharacterRoom_0 | |||
| DD1D | XOR A | Start the character from zero. | ||
| StoreMatchedCharacterRoom_0 | DD1E | LD ($DD01),A | Store the room at DD01 and call FetchLocationDataPointer to look it up. | |
| DD21 | CALL FetchLocationDataPointer | |||
| DD24 | LD ($DCFF),IX | Store the current record at DCFF. | ||
| DD28 | POP AF | Call FetchObjectDataPointer to look up that object. | ||
| DD29 | CALL FetchObjectDataPointer | |||
| DD2C | LD (IX+$0F),B | Store it in the character attribute, then call ProcessObjectLocationRecursively to run object location recursively. | ||
| DD2F | CALL ProcessObjectLocationRecursively | |||
| DD32 | OR %00000001 | Reset the zero flag. | ||
| DD34 | RET | Return. | ||
| Prev: DD0B | Up: Map | Next: DD35 |