![]() |
Routines |
| Prev: C989 | Up: Map | Next: C9BF |
|
Used by the routines at ProcessObjectDisplayLogic and ProcessObjectDisplayWithPointer.
Draws the record, and tells the script to continue when the draw works. A non-zero return means the script step succeeded.
|
||||
| ProcessObjectDisplayEntry | C996 | PUSH IY | Call ProcessDisplayRecord to draw this record. | |
| C998 | PUSH BC | |||
| C999 | CALL ProcessDisplayRecord | |||
| C99C | POP BC | |||
| C99D | POP IY | Jump ahead to ProcessObjectDisplayEntry_Next if bit 7 of the display record is set. | ||
| C99F | JR C,ProcessObjectDisplayEntry_Next | |||
| C9A1 | JP Z,ProcessDisplayWithLocationCheck | Go to ProcessDisplayWithLocationCheck if drawing the object display matched. | ||
| C9A4 | OR %00000001 | Reset the zero flag. | ||
| C9A6 | RET | Return. | ||
|
Read the pointer at the currently processed character command position at CurrentCharacter_CommandPosition, then take a count of 01 then read the character record from the currently processed character timetable pointer at CurrentCharacter_TimetablePointer.
|
||||
| ProcessObjectDisplayEntry_Next | C9A7 | PUSH HL | Read the currently processed character command position and count 01 for run object display entry, then call AllocateMemoryAndStoreCharacter to allocate memory and store character. | |
| C9A8 | PUSH BC | |||
| C9A9 | LD HL,($9FD9) | |||
| C9AC | LD B,$01 | |||
| C9AE | CALL AllocateMemoryAndStoreCharacter | |||
| C9B1 | POP BC | Read the current character timetable pointer. | ||
| C9B2 | POP HL | |||
| C9B3 | LD IX,($9FDB) | |||
| C9B7 | LD (IX+$01),L | Store the moved marker. | ||
| C9BA | LD (IX+$02),H | Store H as the location, set the carry. | ||
| C9BD | SCF | |||
| C9BE | RET | Return. | ||
| Prev: C989 | Up: Map | Next: C9BF |