Prev: E2EE Up: Map Next: E38F
E34F: Read The Character's Text Pointers
Used by the routine at RecordResultRoomDisplay.
Looks up the character being processed and compares its text pointer with the display pointer.
ReadCharacterTextPointers E34F LD A,($A036) Go to ReadCharacterTextPointers_HandBack if no object carries this id.
E352 CALL ScanObjects
E355 JR Z,ReadCharacterTextPointers_HandBack
E357 CALL ReadTextPointerLowByte Call ReadTextPointerLowByte to read the text pointer, then ReadSourceDisplayPointer to read the display pointer.
E35A CALL ReadSourceDisplayPointer
E35D AND A Jump ahead to ReadCharacterTextPointers_HandBack if HL is below DE.
E35E SBC HL,DE
E360 JR C,ReadCharacterTextPointers_HandBack
E362 OR %00000001 Reset the zero flag.
E364 RET Return.
Hands the following step back to the caller and reports that the test failed.
ReadCharacterTextPointers_HandBack E365 LD HL,$E36A Hand back the address of the following step.
E368 XOR A Clear A.
E369 RET Return.
E36A LD HL,$683F Jump back to PrintTextAndHandleControlCharacters to print this message.
E36D JP PrintTextAndHandleControlCharacters
E370 DEFB $66,$1D,$45,$E3 Display record read by ProcessDisplayRecord: flags 66 value 1D handler E345.
Run by CA64 after the display record at E370.
E374 CALL ReadCharacterTextPointers Call ReadCharacterTextPointers to read the character being processed.
E377 CALL StoreShiftedTextPointer Call StoreShiftedTextPointer to bring the next bit through.
E37A LD A,($A035) Go to ReadCharacterTextPointers_Succeed if no object carries this id.
E37D CALL ScanObjects
E380 JR Z,ReadCharacterTextPointers_Succeed
E382 CALL ReadTextPointerLowByte Call ReadTextPointerLowByte to read the text pointer, then ReadSourceDisplayPointer to read the display pointer.
E385 CALL ReadSourceDisplayPointer
E388 ADD HL,DE Move the pointer on by the length, then call StoreShiftedTextPointer to store the shifted text pointer.
E389 CALL StoreShiftedTextPointer
ReadCharacterTextPointers_Succeed E38C OR %00000001 Reset the zero flag.
E38E RET Return.
Prev: E2EE Up: Map Next: E38F