Prev: DD0B Up: Map Next: DD35
DD0E: Match The Character And Store Its Room
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