![]() |
Routines |
| Prev: A35D | Up: Map | Next: A37D |
|
Used by the routines at ProcessObjectDisplay and DispatchTextControlHandler.
Clears A35E if it holds the current character, then runs ProcessObject_Display with the current character set to zero, and restores the character.
Control code 18 in the table at JumpTable_ControlCharacters.
|
||||
| CheckAndResetCharacterState | A360 | LD A,($A036) | Read the character being processed and take the saved object field at A35E. | |
| A363 | PUSH AF | |||
| A364 | LD HL,$A35E | |||
| A367 | CP (HL) | Clear A and jump ahead to CheckAndResetCharacterState_Next unless A35E holds this character. | ||
| A368 | LD A,$00 | |||
| A36A | JR NZ,CheckAndResetCharacterState_Next | |||
| A36C | LD (HL),A | Store the cleared character state back in the record. | ||
| CheckAndResetCharacterState_Next | A36D | LD ($A036),A | Set the current character to zero. | |
| A370 | PUSH IX | Keep the character record, call ProcessObject_Display to print this object's tokens. | ||
| A372 | CALL ProcessObject_Display | |||
| A375 | POP IX | Restore the saved character from the stack. | ||
| A377 | POP AF | |||
| A378 | LD ($A036),A | Store the character id at CurrentCharacter_ID. | ||
| A37B | XOR A | Clear A. | ||
| A37C | RET | Return. | ||
| Prev: A35D | Up: Map | Next: A37D |