![]() |
Routines |
| Prev: 53815 | Up: Map | Next: 53868 |
|
Used by the routines at StoreMatchedCharacterRoom and CombineCharacterRoom.
Walks the objects inside the current one and records the room of each.
|
||||||||||
| ProcessObjectLocationRecursively | 53833 | PUSH IY | Call AdjustObjectTableForSum to adjust object table for sum. | |||||||
| 53835 | PUSH IX | |||||||||
| 53837 | CALL AdjustObjectTableForSum | |||||||||
| ProcessObjectLocationRecursively_Loop | 53840 | CALL FetchNextObjectWithID | Go to ProcessObjectLocationRecursively_Next if there is no further object. | |||||||
| 53843 | JR Z,ProcessObjectLocationRecursively_Next | |||||||||
| 53845 | CP (IY+1) | Jump back to ProcessObjectLocationRecursively_Loop while this id does not match the schedule entry. | ||||||||
| 53848 | JR NZ,ProcessObjectLocationRecursively_Loop | |||||||||
| 53850 | LD (IY+15),B | Store it in the character attribute and read the record flag, then call ProcessObjectLocationRecursively to run object location recursively. | ||||||||
| 53853 | PUSH AF | |||||||||
| 53854 | LD A,(IX+0) | |||||||||
| 53857 | CALL ProcessObjectLocationRecursively | |||||||||
| 53860 | POP AF | Fetch the next object from ProcessObjectLocationRecursively_Loop. | ||||||||
| 53861 | JR ProcessObjectLocationRecursively_Loop | |||||||||
|
Return.
|
||||||||||
| ProcessObjectLocationRecursively_Next | 53863 | POP IX | Restore the saved character record and the saved schedule entry from the stack. | |||||||
| 53865 | POP IY | |||||||||
| 53867 | RET | Return. | ||||||||
|
View the equivalent code in;
|
||||||||||
| Prev: 53815 | Up: Map | Next: 53868 |