Prev: E560 Up: Map Next: E5C1
E58C: Copy The Clock Link
Used by the routine at FindCharacterSavedPointer.
Compares the current record with the clock workspace and copies the link kept beside the clock. Run by CA64 after the display record at E588. A non-zero return means the script step succeeded.
CopyClockLink E58C PUSH IX Call IncrementPointerAndCompare to step pointer and compare.
E58E POP DE
E58F LD IY,$9FE5
E593 CALL IncrementPointerAndCompare
E596 LD L,(IX-$02) Read the pointer saved ahead of this record.
E599 LD H,(IX-$01)
E59C LD (IY-$02),L Store the low byte of the pointer in the previous record.
E59F LD (IY-$01),H Store it in the schedule entry, then call ProcessMemoryEntry to run memory entry.
E5A2 CALL ProcessMemoryEntry
E5A5 OR %00000001 Reset the zero flag.
E5A7 RET Return.
Reached from the script commands at E756, E786, E794, E79C, E7DC, ECD0, EF90, F05C, F085, F13F, F192, F2BF, F2DD, F314 and F34F, run by DispatchCharacterScript.
Named from the script commands at E756, E786, E794, E79C, E7DC, ECD0, EF90, F05C, F085, F13F, F192, F2BF, F2DD, F314 and F34F.
E5A8 DEFB $00,$10 Display record read by ProcessDisplayRecord: flags 00 value 10.
Run by CA64 after the display record at E5A8.
E5AA OR %00000001 Reset the zero flag.
E5AC RET Return.
E5AD DEFB $4C,$04,$B1,$E5 Display record read by ProcessDisplayRecord: flags 4C value 04 handler E5B1.
Reached through the display record at E5AD, dispatched by DispatchLookedUpHandlerThird.
Run by CA64 after the display record at E5AD.
E5B1 LD IX,($A013) Read the current object.
E5B5 LD A,($A035) Compare the room graphics parameter with the character's attribute.
E5B8 CP (IX+$0F)
E5BB JP NZ,ParseInputNumber_ReturnZero Go to ParseInputNumber_ReturnZero if the room graphics parameter does not match it.
E5BE OR %00000001 Reset the zero flag.
E5C0 RET Return.
Prev: E560 Up: Map Next: E5C1