mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-16 23:20:43 +00:00
581 lines
15 KiB
PHP
581 lines
15 KiB
PHP
|
|
;===============================================
|
|
; level data for Island level
|
|
;===============================================
|
|
; 24 bytes each location
|
|
; we put special at end as it's ignored if not set
|
|
|
|
LOCATION_NORTH_EXIT=0 ; new room when heading north
|
|
LOCATION_SOUTH_EXIT=1 ; new room when heading south
|
|
LOCATION_EAST_EXIT=2 ; new room when heading east
|
|
LOCATION_WEST_EXIT=3 ; new room when heading west
|
|
LOCATION_NORTH_EXIT_DIR=4 ; direction faced in new room when N
|
|
LOCATION_SOUTH_EXIT_DIR=5 ; direction faced in new room when S
|
|
LOCATION_EAST_EXIT_DIR=6 ; direction faced in new room when E
|
|
LOCATION_WEST_EXIT_DIR=7 ; direction faced in new room when W
|
|
LOCATION_NORTH_BG=8 ; pointer to north background image
|
|
LOCATION_SOUTH_BG=10 ; pointer to south background image
|
|
LOCATION_EAST_BG=12 ; pointer to east background image
|
|
LOCATION_WEST_BG=14 ; pointer to west background image
|
|
LOCATION_BGS = 16 ; bitmap saying which backgrounds valid
|
|
BG_NORTH = 1
|
|
BG_SOUTH = 2
|
|
BG_EAST = 4
|
|
BG_WEST = 8
|
|
LOCATION_SPECIAL_EXIT=17 ; if we have something clickable
|
|
; $FF if not, direction if so
|
|
LOCATION_SPECIAL_X1=18 ; collision box for the thing to click
|
|
LOCATION_SPECIAL_X2=19
|
|
LOCATION_SPECIAL_Y1=20
|
|
LOCATION_SPECIAL_Y2=21
|
|
LOCATION_SPECIAL_FUNC=22 ; pointer-1 of function to call on click
|
|
|
|
|
|
|
|
locations:
|
|
.word location0, location1, location2, location3
|
|
.word location4, location5, location6, location7
|
|
.word location8, location9, location10,location11
|
|
.word location12,location13,location14,location15
|
|
.word location16,location17,location18,location19
|
|
.word location20,location21,location22,location23
|
|
.word location24,location25,location26,location27
|
|
.word location28,location29
|
|
|
|
; myst linking book
|
|
location0:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word m_link_book_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH ; only north bg
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 21,31 ; special x
|
|
.byte 10,24 ; special y
|
|
.word mist_link_book-1 ; special function
|
|
|
|
|
|
; dock
|
|
location1:
|
|
.byte $2 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word dock_n_lzsa ; north bg
|
|
.word dock_s_lzsa ; south bg
|
|
.word dock_e_lzsa ; east bg
|
|
.word dock_w_lzsa ; west bg
|
|
.byte BG_EAST|BG_NORTH|BG_SOUTH|BG_WEST ; all bgs
|
|
.byte $ff ; special exit
|
|
|
|
; by dock switch
|
|
location2:
|
|
.byte 3 ; north exit
|
|
.byte 1 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_W ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word dock_switch_n_lzsa ; north bg
|
|
.word dock_switch_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH|BG_SOUTH
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 23,30 ; special x
|
|
.byte 25,32 ; special y
|
|
.word click_switch-1 ; special function
|
|
|
|
|
|
|
|
; dock steps
|
|
location3:
|
|
.byte 19 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 2 ; east exit
|
|
.byte 4 ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_S ; east exit_dir
|
|
.byte DIRECTION_S ; west exit_dir
|
|
.word gear_base_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word dock_steps_w_lzsa ; west bg
|
|
.byte BG_WEST|BG_NORTH
|
|
.byte $ff ; special exit
|
|
|
|
|
|
|
|
; above dock path
|
|
location4:
|
|
.byte 20 ; north exit
|
|
.byte 5 ; south exit
|
|
.byte 2 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte DIRECTION_S ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word above_dock_n_lzsa ; north bg
|
|
.word above_dock_s_lzsa ; south bg
|
|
.word above_dock_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH|BG_NORTH|BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; base of steps
|
|
location5:
|
|
.byte 4 ; north exit
|
|
.byte 6 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_W ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word step_base_n_lzsa ; north bg
|
|
.word step_base_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH|BG_NORTH
|
|
.byte $ff ; special exit
|
|
|
|
; steps 1st landing
|
|
location6:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 5 ; east exit
|
|
.byte 7 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_N ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word step_land1_e_lzsa ; east bg
|
|
.word step_land1_w_lzsa ; west bg
|
|
.byte BG_WEST | BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; steps 2nd landing
|
|
location7:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 6 ; east exit
|
|
.byte 8 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word step_land2_e_lzsa ; east bg
|
|
.word step_land2_w_lzsa ; west bg
|
|
.byte BG_WEST | BG_EAST
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 29,32 ; special x
|
|
.byte 38,45 ; special y
|
|
.word read_letter-1
|
|
|
|
|
|
; steps outside dentist chair branch
|
|
location8:
|
|
.byte 21 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 7 ; east exit
|
|
.byte 9 ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word step_dentist_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word step_dentist_e_lzsa ; east bg
|
|
.word step_dentist_w_lzsa ; west bg
|
|
.byte BG_EAST|BG_WEST|BG_NORTH
|
|
.byte $ff ; special exit
|
|
|
|
; steps one more time up
|
|
location9:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 8 ; east exit
|
|
.byte 10 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word step_land3_e_lzsa ; east bg
|
|
.word step_land3_w_lzsa ; west bg
|
|
.byte BG_WEST | BG_EAST ; west and eastl
|
|
.byte $ff ; special exit
|
|
|
|
; at the top outside temple
|
|
location10:
|
|
.byte 11 ; north exit
|
|
.byte 14 ; south exit
|
|
.byte 9 ; east exit
|
|
.byte 16 ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte DIRECTION_N ; west exit_dir
|
|
.word step_top_n_lzsa ; north bg
|
|
.word step_top_s_lzsa ; south bg
|
|
.word step_top_e_lzsa ; east bg
|
|
.word step_top_w_lzsa ; west bg
|
|
.byte BG_EAST|BG_WEST|BG_NORTH|BG_SOUTH ; all dirs
|
|
.byte $ff ; special exit
|
|
|
|
; temple doorway
|
|
location11:
|
|
.byte 12 ; north exit
|
|
.byte 10 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word temple_door_n_lzsa ; north bg
|
|
.word temple_door_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH|BG_SOUTH ; north and south
|
|
.byte $ff ; special exit
|
|
|
|
; temple inside
|
|
location12:
|
|
.byte $ff ; north exit
|
|
.byte 11 ; south exit
|
|
.byte 28 ; east exit
|
|
.byte 13 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word temple_center_n_lzsa ; north bg
|
|
.word temple_center_s_lzsa ; south bg
|
|
.word temple_center_e_lzsa ; east bg
|
|
.word temple_center_w_lzsa ; west bg
|
|
.byte BG_NORTH|BG_WEST|BG_SOUTH|BG_EAST ; all directions
|
|
.byte $ff ; special exit
|
|
|
|
; red book shelf
|
|
location13:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte 12 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word red_book_shelf_lzsa ; west bg
|
|
.byte BG_WEST ; west
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 16,25 ; special x
|
|
.byte 16,32 ; special y
|
|
.word red_book-1 ; special function
|
|
|
|
|
|
; pool
|
|
location14:
|
|
.byte $ff ; north exit
|
|
.byte 23 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word pool_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH
|
|
.byte $ff ; special exit
|
|
|
|
; clock
|
|
location15:
|
|
.byte $ff ; north exit
|
|
.byte 25 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word clock_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH
|
|
.byte $ff ; special exit
|
|
|
|
; spaceship far
|
|
location16:
|
|
.byte 22 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 10 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word spaceship_far_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word spaceship_far_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH|BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; tree corridor #2
|
|
location17:
|
|
.byte 10 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word tree2_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 25,31 ; special x
|
|
.byte 19,23 ; special y
|
|
.word click_switch-1 ; special function
|
|
|
|
; tree corridor #5
|
|
location18:
|
|
.byte 23 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 24 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word tree5_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word tree5_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH | BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; gear
|
|
location19:
|
|
.byte $ff ; north exit
|
|
.byte 4 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_E ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word gear_n_lzsa ; north bg
|
|
.word gear_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word gear_w_lzsa ; west bg
|
|
.byte BG_NORTH | BG_SOUTH | BG_WEST
|
|
.byte DIRECTION_N ; special exit
|
|
.byte 5,10 ; special x
|
|
.byte 29,35 ; special y
|
|
.word click_switch-1 ; special function
|
|
|
|
|
|
; gear base
|
|
location20:
|
|
.byte 19 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 3 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word gear_base_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word above_dock_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH | BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; dentist door
|
|
location21:
|
|
.byte 21 ; north exit
|
|
.byte 9 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_S ; north exit_dir
|
|
.byte DIRECTION_W ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word dentist_door_n_lzsa ; north bg
|
|
.word dentist_door_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH | BG_SOUTH
|
|
.byte $ff ; special exit
|
|
|
|
; spaceship switch
|
|
location22:
|
|
.byte 16 ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_E ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word spaceship_switch_n_lzsa ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_NORTH
|
|
.byte $ff ; special exit
|
|
|
|
; tree corridor4 (with generator switch)
|
|
location23:
|
|
.byte 17 ; north exit
|
|
.byte 15 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word tree4_n_lzsa ; north bg
|
|
.word tree4_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word tree4_w_lzsa ; west bg
|
|
.byte BG_NORTH|BG_SOUTH|BG_WEST
|
|
.byte $ff ; special exit
|
|
|
|
; tree cabin
|
|
location24:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 18 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_E ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word tree_cabin_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; clock puzzle
|
|
location25:
|
|
.byte $ff ; north exit
|
|
.byte 26 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word clock_puzzle_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH
|
|
.byte $ff ; special exit
|
|
|
|
; clock island
|
|
location26:
|
|
.byte 18 ; north exit
|
|
.byte 27 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte DIRECTION_N ; north exit_dir
|
|
.byte DIRECTION_S ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word clock_island_n_lzsa ; north bg
|
|
.word clock_island_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH|BG_NORTH
|
|
.byte $ff ; special exit
|
|
|
|
; clock inside
|
|
location27:
|
|
.byte $ff ; north exit
|
|
.byte 26 ; south exit
|
|
.byte $ff ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte DIRECTION_N ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word clock_inside_s_lzsa ; south bg
|
|
.word $0000 ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_SOUTH
|
|
.byte $ff ; special exit
|
|
|
|
; fireplace
|
|
location28:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte 29 ; east exit
|
|
.byte $ff ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte DIRECTION_W ; east exit_dir
|
|
.byte $ff ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word fireplace_e_lzsa ; east bg
|
|
.word $0000 ; west bg
|
|
.byte BG_EAST
|
|
.byte $ff ; special exit
|
|
|
|
; in fireplace
|
|
location29:
|
|
.byte $ff ; north exit
|
|
.byte $ff ; south exit
|
|
.byte $ff ; east exit
|
|
.byte 12 ; west exit
|
|
.byte $ff ; north exit_dir
|
|
.byte $ff ; south exit_dir
|
|
.byte $ff ; east exit_dir
|
|
.byte DIRECTION_W ; west exit_dir
|
|
.word $0000 ; north bg
|
|
.word $0000 ; south bg
|
|
.word $0000 ; east bg
|
|
.word in_fireplace_w_lzsa ; west bg
|
|
.byte BG_WEST ; west
|
|
.byte $ff ; special exit
|
|
|