Prev: 9EB2 Up: Map Next: 9F15
9EE4: Route to permitted
This table maps a route index to a list of valid rooms and areas. in_permitted_area uses this to check if the hero is in an area permitted by the current route.
route_to_permitted 9EE4 DEFB $2A,$F9,$9E Route 42: 9EF9
9EE7 DEFB $05,$FC,$9E Route 5: 9EFC
9EEA DEFB $0E,$01,$9F Route 14: 9F01
9EED DEFB $10,$08,$9F Route 16: 9F08
9EF0 DEFB $2C,$0E,$9F Route 44: 9F0E
9EF3 DEFB $2B,$11,$9F Route 43: 9F11
9EF6 DEFB $2D,$13,$9F Route 45: 9F13
This is followed by seven lists which encode a list of valid rooms (if top bit is set) or permitted areas (0, 1 or 2) for a given route and step within the route. Each list is terminated by $FF.
Note that while routes encode the transitions _between_ rooms, this table encodes individual rooms or areas, so each list here will be one entry longer than the corresponding route.
In the comments below: R<n> => Room n, A<m> => Area m.
9EF9 DEFB $82,$82,$FF ( R2, R2, $FF)
9EFC DEFB $83,$01,$01,$01,$FF ( R3, A1, A1, A1, $FF)
9F01 DEFB $01,$01,$01,$00,$02,$02,$FF ( A1, A1, A1, A0, A2, A2, $FF)
9F08 DEFB $01,$01,$95,$97,$99,$FF ( A1, A1, R21, R23, R25, $FF)
9F0E DEFB $83,$82,$FF ( R3, R2, $FF)
9F11 DEFB $99,$FF (R25, $FF)
9F13 DEFB $01,$FF ( A1, $FF)
Prev: 9EB2 Up: Map Next: 9F15