![]() |
Routines |
| Prev: 54097 | Up: Map | Next: 54171 |
|
Used by the routines at CheckFlagAndSetDisplay_CheckObjects, ReadCharacterRecordWord and ReadCharacterRecordValue.
Steps through the objects and marks each one that passes the attribute test.
|
||||
| ProcessObjectEntry | 54122 | PUSH BC | Keep the schedule entry. | |
| 54123 | PUSH DE | |||
| 54124 | PUSH IY | |||
| ProcessObjectEntry_0 | 54126 | CALL FetchNextObject | Call FetchNextObject to fetch the next object. | |
| 54129 | JR Z,ProcessObjectEntry_Next | Go to ProcessObjectEntry_Next if the next object id is 255. | ||
| 54131 | LD BC,7 | Point IY seven bytes further on (0007) and call CompareFollowingFields to compare the location data. | ||
| 54134 | PUSH IY | |||
| 54136 | ADD IY,BC | |||
| 54138 | CALL CompareFollowingFields | |||
| 54141 | POP IY | Jump back to ProcessObjectEntry_0 while the room fields do not match. | ||
| 54143 | JR NZ,ProcessObjectEntry_0 | |||
| 54145 | LD A,(41016) | Jump ahead to ProcessObjectEntry_Next if the object attribute flag is not zero. | ||
| 54148 | AND A | |||
| 54149 | JR NZ,ProcessObjectEntry_Next | |||
| 54151 | LD A,(IX+0) | Call CheckObjectLocationMatch to check object location match. | ||
| 54154 | PUSH IX | |||
| 54156 | CALL CheckObjectLocationMatch | |||
| 54159 | POP IX | Restore the object pointer from the stack. | ||
| 54161 | JR Z,ProcessObjectEntry_0 | Go back to ProcessObjectEntry_0 for the next object if this one did not match. | ||
| ProcessObjectEntry_Next | 54163 | LD A,(IX+0) | Read the record flag. | |
| 54166 | POP IY | Restore the saved schedule entry, the saved source and the saved count from the stack. | ||
| 54168 | POP DE | |||
| 54169 | POP BC | |||
| 54170 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 54097 | Up: Map | Next: 54171 |