![]() |
Routines |
| Prev: 8EEC | Up: Map | Next: 8F69 |
|
Used by the routine at WINDOW_OTHERS.
The exit that goes through the object; refused if there is none, if it leads nowhere yet, or if the object will not let anyone through (CAN_PASS). Otherwise it is a move in that exit's direction, into MOVE past its darkness and captivity checks. GO_BY_EXIT is the way in for callers that have found the exit already.
|
||||
| GO_THROUGH | 8F3B | CALL EXIT_VIA | The exit through it | |
|
This entry point is used by the routines at DO_ENTER and DO_FOLLOW.
|
||||
| GO_BY_EXIT | 8F3E | CP $FF | None, or to nowhere yet: refused | |
| 8F40 | JP Z,REFUSE | |||
| 8F43 | LD A,(IX+$02) | |||
| 8F46 | CP $00 | |||
| 8F48 | JP Z,REFUSE | |||
| 8F4B | LD A,(IX+$01) | Will it let the actor through? | ||
| 8F4E | PUSH IX | |||
| 8F50 | CALL CAN_PASS | |||
| 8F53 | POP IX | |||
| 8F55 | JP NZ,REFUSE | |||
| 8F58 | CALL FOR_REAL | The test ends here | ||
| 8F5B | LD A,(IX+$00) | A move that way, with no object | ||
| 8F5E | LD (ACTION),A | |||
| 8F61 | LD A,$FF | |||
| 8F63 | LD (TARGET),A | |||
| 8F66 | JP MOVE_ACTOR | |||
| Prev: 8EEC | Up: Map | Next: 8F69 |