Prev: 783A Up: Map Next: 7AC6
78D6: Doors
This is an array of 62 pairs of four-byte structs laid out as follows:
Type Bytes Name Meaning
Byte 1 room_and_direction bits 0..1 = direction door faces (direction_t); bits 2..7 = target room of door (room_t)
TinyPos 3 pos Map position of the door
Each door is stored as a pair of two "half doors". Each half of the pair contains (room, direction, position) where the room is the *target* room index, the direction is the direction in which the door faces and the position is the coordinates of the door. Outdoor coordinates are divided by four.
doors 78D6 DEFB $01,$B2,$8A,$06 BYTE(room_0_OUTDOORS, 1), 0xB2, 0x8A, 6 }, // 0
78DA DEFB $03,$B2,$8E,$06 BYTE(room_0_OUTDOORS, 3), 0xB2, 0x8E, 6 },
78DE DEFB $01,$B2,$7A,$06 BYTE(room_0_OUTDOORS, 1), 0xB2, 0x7A, 6 },
78E2 DEFB $03,$B2,$7E,$06 BYTE(room_0_OUTDOORS, 3), 0xB2, 0x7E, 6 },
78E6 DEFB $88,$8A,$B3,$06 BYTE(room_34, 0), 0x8A, 0xB3, 6 },
78EA DEFB $02,$10,$34,$0C BYTE(room_0_OUTDOORS, 2), 0x10, 0x34, 12 },
78EE DEFB $C0,$CC,$79,$06 BYTE(room_48, 0), 0xCC, 0x79, 6 },
78F2 DEFB $02,$10,$34,$0C BYTE(room_0_OUTDOORS, 2), 0x10, 0x34, 12 },
78F6 DEFB $71,$D9,$A3,$06 BYTE(room_28_HUT1LEFT, 1), 0xD9, 0xA3, 6 },
78FA DEFB $03,$2A,$1C,$18 BYTE(room_0_OUTDOORS, 3), 0x2A, 0x1C, 24 },
78FE DEFB $04,$D4,$BD,$06 BYTE(room_1_HUT1RIGHT, 0), 0xD4, 0xBD, 6 },
7902 DEFB $02,$1E,$2E,$18 BYTE(room_0_OUTDOORS, 2), 0x1E, 0x2E, 24 },
doors_home_to_outside 7906 DEFB $09,$C1,$A3,$06 BYTE(room_2_HUT2LEFT, 1), 0xC1, 0xA3, 6 },
790A DEFB $03,$2A,$1C,$18 BYTE(room_0_OUTDOORS, 3), 0x2A, 0x1C, 24 },
790E DEFB $0C,$BC,$BD,$06 BYTE(room_3_HUT2RIGHT, 0), 0xBC, 0xBD, 6 },
7912 DEFB $02,$20,$2E,$18 BYTE(room_0_OUTDOORS, 2), 0x20, 0x2E, 24 },
7916 DEFB $11,$A9,$A3,$06 BYTE(room_4_HUT3LEFT, 1), 0xA9, 0xA3, 6 },
791A DEFB $03,$2A,$1C,$18 BYTE(room_0_OUTDOORS, 3), 0x2A, 0x1C, 24 },
791E DEFB $14,$A4,$BD,$06 BYTE(room_5_HUT3RIGHT, 0), 0xA4, 0xBD, 6 },
7922 DEFB $02,$20,$2E,$18 BYTE(room_0_OUTDOORS, 2), 0x20, 0x2E, 24 },
7926 DEFB $54,$FC,$CA,$06 BYTE(room_21_CORRIDOR, 0), 0xFC, 0xCA, 6 }, // 10
792A DEFB $02,$1C,$24,$18 BYTE(room_0_OUTDOORS, 2), 0x1C, 0x24, 24 },
792E DEFB $50,$FC,$DA,$06 BYTE(room_20_REDCROSS, 0), 0xFC, 0xDA, 6 },
7932 DEFB $02,$1A,$22,$18 BYTE(room_0_OUTDOORS, 2), 0x1A, 0x22, 24 },
7936 DEFB $3D,$F7,$E3,$06 BYTE(room_15_UNIFORM, 1), 0xF7, 0xE3, 6 },
793A DEFB $03,$26,$19,$18 BYTE(room_0_OUTDOORS, 3), 0x26, 0x19, 24 },
793E DEFB $35,$DF,$E3,$06 BYTE(room_13_CORRIDOR, 1), 0xDF, 0xE3, 6 },
7942 DEFB $03,$2A,$1C,$18 BYTE(room_0_OUTDOORS, 3), 0x2A, 0x1C, 24 },
7946 DEFB $21,$97,$D3,$06 BYTE(room_8_CORRIDOR, 1), 0x97, 0xD3, 6 },
794A DEFB $03,$2A,$15,$18 BYTE(room_0_OUTDOORS, 3), 0x2A, 0x15, 24 },
doors_unused 794E DEFB $19,$00,$00,$00 BYTE(room_6, 1), 0x00, 0x00, 0 },
7952 DEFB $03,$22,$22,$18 BYTE(room_0_OUTDOORS, 3), 0x22, 0x22, 24 },
7956 DEFB $05,$2C,$34,$18 BYTE(room_1_HUT1RIGHT, 1), 0x2C, 0x34, 24 },
795A DEFB $73,$26,$1A,$18 BYTE(room_28_HUT1LEFT, 3), 0x26, 0x1A, 24 },
795E DEFB $0D,$24,$36,$18 BYTE(room_3_HUT2RIGHT, 1), 0x24, 0x36, 24 },
doors_home_to_inside 7962 DEFB $0B,$26,$1A,$18 BYTE(room_2_HUT2LEFT, 3), 0x26, 0x1A, 24 },
7966 DEFB $15,$24,$36,$18 BYTE(room_5_HUT3RIGHT, 1), 0x24, 0x36, 24 },
796A DEFB $13,$26,$1A,$18 BYTE(room_4_HUT3LEFT, 3), 0x26, 0x1A, 24 },
796E DEFB $5D,$28,$42,$18 BYTE(room_23_MESS_HALL, 1), 0x28, 0x42, 24 },
7972 DEFB $67,$26,$18,$18 BYTE(room_25_MESS_HALL, 3), 0x26, 0x18, 24 },
7976 DEFB $5C,$3E,$24,$18 BYTE(room_23_MESS_HALL, 0), 0x3E, 0x24, 24 }, // 20
797A DEFB $56,$20,$2E,$18 BYTE(room_21_CORRIDOR, 2), 0x20, 0x2E, 24 },
797E DEFB $4D,$22,$42,$18 BYTE(room_19_FOOD, 1), 0x22, 0x42, 24 },
7982 DEFB $5F,$22,$1C,$18 BYTE(room_23_MESS_HALL, 3), 0x22, 0x1C, 24 },
7986 DEFB $49,$24,$36,$18 BYTE(room_18_RADIO, 1), 0x24, 0x36, 24 },
798A DEFB $4F,$38,$22,$18 BYTE(room_19_FOOD, 3), 0x38, 0x22, 24 },
798E DEFB $55,$2C,$36,$18 BYTE(room_21_CORRIDOR, 1), 0x2C, 0x36, 24 },
7992 DEFB $5B,$22,$1C,$18 BYTE(room_22_REDKEY, 3), 0x22, 0x1C, 24 },
7996 DEFB $59,$2C,$36,$18 BYTE(room_22_REDKEY, 1), 0x2C, 0x36, 24 },
799A DEFB $63,$2A,$26,$18 BYTE(room_24_SOLITARY, 3), 0x2A, 0x26, 24 },
799E DEFB $31,$42,$3A,$18 BYTE(room_12_CORRIDOR, 1), 0x42, 0x3A, 24 },
79A2 DEFB $4B,$22,$1C,$18 BYTE(room_18_RADIO, 3), 0x22, 0x1C, 24 },
79A6 DEFB $44,$3C,$24,$18 BYTE(room_17_CORRIDOR, 0), 0x3C, 0x24, 24 },
79AA DEFB $1E,$1C,$22,$18 BYTE(room_7_CORRIDOR, 2), 0x1C, 0x22, 24 },
79AE DEFB $3C,$40,$28,$18 BYTE(room_15_UNIFORM, 0), 0x40, 0x28, 24 },
79B2 DEFB $3A,$1E,$28,$18 BYTE(room_14_TORCH, 2), 0x1E, 0x28, 24 },
79B6 DEFB $41,$22,$42,$18 BYTE(room_16_CORRIDOR, 1), 0x22, 0x42, 24 },
79BA DEFB $3B,$22,$1C,$18 BYTE(room_14_TORCH, 3), 0x22, 0x1C, 24 },
79BE DEFB $40,$3E,$2E,$18 BYTE(room_16_CORRIDOR, 0), 0x3E, 0x2E, 24 },
79C2 DEFB $36,$1A,$22,$18 BYTE(room_13_CORRIDOR, 2), 0x1A, 0x22, 24 },
79C6 DEFB $00,$44,$30,$18 BYTE(room_0_OUTDOORS, 0), 0x44, 0x30, 24 }, // 30
79CA DEFB $02,$20,$30,$18 BYTE(room_0_OUTDOORS, 2), 0x20, 0x30, 24 },
79CE DEFB $34,$4A,$28,$18 BYTE(room_13_CORRIDOR, 0), 0x4A, 0x28, 24 },
79D2 DEFB $2E,$1A,$22,$18 BYTE(room_11_PAPERS, 2), 0x1A, 0x22, 24 },
79D6 DEFB $1C,$40,$24,$18 BYTE(room_7_CORRIDOR, 0), 0x40, 0x24, 24 },
79DA DEFB $42,$1A,$22,$18 BYTE(room_16_CORRIDOR, 2), 0x1A, 0x22, 24 },
79DE DEFB $28,$36,$35,$18 BYTE(room_10_LOCKPICK, 0), 0x36, 0x35, 24 },
79E2 DEFB $22,$17,$26,$18 BYTE(room_8_CORRIDOR, 2), 0x17, 0x26, 24 },
79E6 DEFB $24,$36,$1C,$18 BYTE(room_9_CRATE, 0), 0x36, 0x1C, 24 },
79EA DEFB $22,$1A,$22,$18 BYTE(room_8_CORRIDOR, 2), 0x1A, 0x22, 24 },
79EE DEFB $30,$3E,$24,$18 BYTE(room_12_CORRIDOR, 0), 0x3E, 0x24, 24 },
79F2 DEFB $46,$1A,$22,$18 BYTE(room_17_CORRIDOR, 2), 0x1A, 0x22, 24 },
79F6 DEFB $75,$36,$36,$18 BYTE(room_29_SECOND_TUNNEL_START, 1), 0x36, 0x36, 24 },
79FA DEFB $27,$38,$0A,$0C BYTE(room_9_CRATE, 3), 0x38, 0x0A, 12 },
79FE DEFB $D1,$38,$62,$0C BYTE(room_52, 1), 0x38, 0x62, 12 },
7A02 DEFB $7B,$38,$0A,$0C BYTE(room_30, 3), 0x38, 0x0A, 12 },
7A06 DEFB $78,$64,$34,$0C BYTE(room_30, 0), 0x64, 0x34, 12 },
7A0A DEFB $7E,$38,$26,$0C BYTE(room_31, 2), 0x38, 0x26, 12 },
7A0E DEFB $79,$38,$62,$0C BYTE(room_30, 1), 0x38, 0x62, 12 },
7A12 DEFB $93,$38,$0A,$0C BYTE(room_36, 3), 0x38, 0x0A, 12 },
7A16 DEFB $7C,$64,$34,$0C BYTE(room_31, 0), 0x64, 0x34, 12 }, // 40
7A1A DEFB $82,$0A,$34,$0C BYTE(room_32, 2), 0x0A, 0x34, 12 },
7A1E DEFB $81,$38,$62,$0C BYTE(room_32, 1), 0x38, 0x62, 12 },
7A22 DEFB $87,$20,$34,$0C BYTE(room_33, 3), 0x20, 0x34, 12 },
7A26 DEFB $85,$40,$34,$0C BYTE(room_33, 1), 0x40, 0x34, 12 },
7A2A DEFB $8F,$38,$0A,$0C BYTE(room_35, 3), 0x38, 0x0A, 12 },
7A2E DEFB $8C,$64,$34,$0C BYTE(room_35, 0), 0x64, 0x34, 12 },
7A32 DEFB $8A,$0A,$34,$0C BYTE(room_34, 2), 0x0A, 0x34, 12 },
7A36 DEFB $90,$64,$34,$0C BYTE(room_36, 0), 0x64, 0x34, 12 },
7A3A DEFB $8E,$38,$1C,$0C BYTE(room_35, 2), 0x38, 0x1C, 12 },
doors_home_to_tunnel 7A3E DEFB $94,$3E,$22,$18 BYTE(room_37, 0), 0x3E, 0x22, 24 },
7A42 DEFB $0A,$10,$34,$0C BYTE(room_2_HUT2LEFT, 2), 0x10, 0x34, 12 },
7A46 DEFB $98,$64,$34,$0C BYTE(room_38, 0), 0x64, 0x34, 12 },
7A4A DEFB $96,$10,$34,$0C BYTE(room_37, 2), 0x10, 0x34, 12 },
7A4E DEFB $9D,$40,$34,$0C BYTE(room_39, 1), 0x40, 0x34, 12 },
7A52 DEFB $9B,$20,$34,$0C BYTE(room_38, 3), 0x20, 0x34, 12 },
7A56 DEFB $A0,$64,$34,$0C BYTE(room_40, 0), 0x64, 0x34, 12 },
7A5A DEFB $9A,$38,$54,$0C BYTE(room_38, 2), 0x38, 0x54, 12 },
7A5E DEFB $A1,$38,$62,$0C BYTE(room_40, 1), 0x38, 0x62, 12 },
7A62 DEFB $A7,$38,$0A,$0C BYTE(room_41, 3), 0x38, 0x0A, 12 },
7A66 DEFB $A4,$64,$34,$0C BYTE(room_41, 0), 0x64, 0x34, 12 }, // 50
7A6A DEFB $AA,$38,$26,$0C BYTE(room_42, 2), 0x38, 0x26, 12 },
7A6E DEFB $A5,$38,$62,$0C BYTE(room_41, 1), 0x38, 0x62, 12 },
7A72 DEFB $B7,$38,$0A,$0C BYTE(room_45, 3), 0x38, 0x0A, 12 },
7A76 DEFB $B4,$64,$34,$0C BYTE(room_45, 0), 0x64, 0x34, 12 },
7A7A DEFB $B2,$38,$1C,$0C BYTE(room_44, 2), 0x38, 0x1C, 12 },
7A7E DEFB $AD,$20,$34,$0C BYTE(room_43, 1), 0x20, 0x34, 12 },
7A82 DEFB $B3,$38,$0A,$0C BYTE(room_44, 3), 0x38, 0x0A, 12 },
7A86 DEFB $A9,$38,$62,$0C BYTE(room_42, 1), 0x38, 0x62, 12 },
7A8A DEFB $AF,$20,$34,$0C BYTE(room_43, 3), 0x20, 0x34, 12 },
7A8E DEFB $B8,$64,$34,$0C BYTE(room_46, 0), 0x64, 0x34, 12 },
7A92 DEFB $9E,$38,$1C,$0C BYTE(room_39, 2), 0x38, 0x1C, 12 },
7A96 DEFB $BD,$38,$62,$0C BYTE(room_47, 1), 0x38, 0x62, 12 },
7A9A DEFB $BB,$20,$34,$0C BYTE(room_46, 3), 0x20, 0x34, 12 },
7A9E DEFB $C8,$64,$34,$0C BYTE(room_50_BLOCKED_TUNNEL, 0), 0x64, 0x34, 12 },
7AA2 DEFB $BE,$38,$56,$0C BYTE(room_47, 2), 0x38, 0x56, 12 },
7AA6 DEFB $C9,$38,$62,$0C BYTE(room_50_BLOCKED_TUNNEL, 1), 0x38, 0x62, 12 },
7AAA DEFB $C7,$38,$0A,$0C BYTE(room_49, 3), 0x38, 0x0A, 12 },
7AAE DEFB $C4,$64,$34,$0C BYTE(room_49, 0), 0x64, 0x34, 12 },
7AB2 DEFB $C2,$38,$1C,$0C BYTE(room_48, 2), 0x38, 0x1C, 12 },
7AB6 DEFB $CD,$38,$62,$0C BYTE(room_51, 1), 0x38, 0x62, 12 }, // 60
7ABA DEFB $77,$20,$34,$0C BYTE(room_29_SECOND_TUNNEL_START, 3), 0x20, 0x34, 12 },
7ABE DEFB $D0,$64,$34,$0C BYTE(room_52, 0), 0x64, 0x34, 12 },
7AC2 DEFB $CE,$38,$54,$0C BYTE(room_51, 2), 0x38, 0x54, 12 },
Prev: 783A Up: Map Next: 7AC6