Prev: 51593 Up: Map Next: 51647
51606: Process Object Display Entry
Draws the record, and tells the script to continue when the draw works. A non-zero return means the script step succeeded.
ProcessObjectDisplayEntry 51606 PUSH IY Call ProcessDisplayRecord to draw this record.
51608 PUSH BC
51609 CALL ProcessDisplayRecord
51612 POP BC
51613 POP IY Jump ahead to ProcessObjectDisplayEntry_Next if bit 7 of the display record is set.
51615 JR C,ProcessObjectDisplayEntry_Next
51617 JP Z,ProcessDisplayWithLocationCheck Go to ProcessDisplayWithLocationCheck if drawing the object display matched.
51620 OR %00000001 Reset the zero flag.
51622 RET Return.
Read the pointer at the currently processed character command position at CurrentCharacter_CommandPosition, then take a count of 1 then read the character record from the currently processed character timetable pointer at CurrentCharacter_TimetablePointer.
ProcessObjectDisplayEntry_Next 51623 PUSH HL Read the currently processed character command position and count 1 for run object display entry, then call AllocateMemoryAndStoreCharacter to allocate memory and store character.
51624 PUSH BC
51625 LD HL,(40921)
51628 LD B,1
51630 CALL AllocateMemoryAndStoreCharacter
51633 POP BC Read the current character timetable pointer.
51634 POP HL
51635 LD IX,(40923)
51639 LD (IX+1),L Store the moved marker.
51642 LD (IX+2),H Store H as the location, set the carry.
51645 SCF
51646 RET Return.
Prev: 51593 Up: Map Next: 51647