mist: dentist: can now exit back to mist

This commit is contained in:
Vince Weaver 2020-07-02 16:14:35 -04:00
parent 839ec94f10
commit face9cca34
6 changed files with 91 additions and 23 deletions

View File

@ -122,6 +122,45 @@ room_frame_no_oflo:
really_exit:
jmp end_level
;===========================
;===========================
; back to mist
;===========================
;===========================
back_to_mist:
lda #MIST_STEPS_4TH_LANDING
sta LOCATION
lda #DIRECTION_W
sta DIRECTION
lda #LOAD_MIST
sta WHICH_LOAD
set_level_over:
lda #$ff
sta LEVEL_OVER
rts
;===========================
;===========================
; pull down panel
;===========================
;===========================
pull_down_panel:
lda #DENTIST_PANEL
sta LOCATION
jmp change_location
;==========================
; includes
;==========================

View File

@ -0,0 +1,33 @@
PNG2RLE = ../../gr-utils/png2rle
PNG2GR = ../../gr-utils/png2gr
LZSA = ~/research/lzsa/lzsa/lzsa
all: dentist_graphics.inc
####
dentist_graphics.inc: \
dentist_door_n.lzsa dentist_door_s.lzsa \
chair_view_s.lzsa chair_view_n.lzsa \
panel_up.lzsa \
panel.lzsa
echo "dentist_door_n_lzsa: .incbin \"dentist_door_n.lzsa\"" > dentist_graphics.inc
echo "dentist_door_s_lzsa: .incbin \"dentist_door_s.lzsa\"" >> dentist_graphics.inc
echo "chair_view_s_lzsa: .incbin \"chair_view_s.lzsa\"" >> dentist_graphics.inc
echo "chair_view_n_lzsa: .incbin \"chair_view_n.lzsa\"" >> dentist_graphics.inc
echo "panel_up_lzsa: .incbin \"panel_up.lzsa\"" >> dentist_graphics.inc
echo "panel_lzsa: .incbin \"panel.lzsa\"" >> dentist_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@
%.lzsa: %.gr
$(LZSA) -r -f2 $< $@
####
clean:
rm -f *~ *.o *.lst *.gr *.lzsa dentist_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

View File

@ -27,14 +27,12 @@ mist_graphics.inc: \
tree5_n.lzsa tree5_e.lzsa tree5_s.lzsa \
gear_n.lzsa gear_w.lzsa gear_s.lzsa gear_open_n.lzsa\
gear_base_n.lzsa \
dentist_door_n.lzsa dentist_door_s.lzsa \
spaceship_switch_n.lzsa \
tree4_n.lzsa tree4_s.lzsa tree4_w.lzsa tree4_e.lzsa \
clock_island_s.lzsa clock_island_n.lzsa \
clock_puzzle_s.lzsa clock_puzzle_bridge.lzsa \
clock_inside_s.lzsa clock_inside_open.lzsa \
gear_open_e.lzsa \
chair_view_s.lzsa chair_view_n.lzsa \
generator_n.lzsa generator_s.lzsa \
green_house_w.lzsa green_house_e.lzsa \
green_steps1_n.lzsa green_steps1_s.lzsa \
@ -89,8 +87,6 @@ mist_graphics.inc: \
echo "gear_w_lzsa: .incbin \"gear_w.lzsa\"" >> mist_graphics.inc
echo "gear_open_n_lzsa: .incbin \"gear_open_n.lzsa\"" >> mist_graphics.inc
echo "gear_base_n_lzsa: .incbin \"gear_base_n.lzsa\"" >> mist_graphics.inc
echo "dentist_door_n_lzsa: .incbin \"dentist_door_n.lzsa\"" >> mist_graphics.inc
echo "dentist_door_s_lzsa: .incbin \"dentist_door_s.lzsa\"" >> mist_graphics.inc
echo "spaceship_switch_n_lzsa: .incbin \"spaceship_switch_n.lzsa\"" >> mist_graphics.inc
echo "tree4_n_lzsa: .incbin \"tree4_n.lzsa\"" >> mist_graphics.inc
echo "tree4_s_lzsa: .incbin \"tree4_s.lzsa\"" >> mist_graphics.inc
@ -103,8 +99,6 @@ mist_graphics.inc: \
echo "clock_inside_s_lzsa: .incbin \"clock_inside_s.lzsa\"" >> mist_graphics.inc
echo "clock_inside_open_lzsa: .incbin \"clock_inside_open.lzsa\"" >> mist_graphics.inc
echo "gear_open_e_lzsa: .incbin \"gear_open_e.lzsa\"" >> mist_graphics.inc
echo "chair_view_s_lzsa: .incbin \"chair_view_s.lzsa\"" >> mist_graphics.inc
echo "chair_view_n_lzsa: .incbin \"chair_view_n.lzsa\"" >> mist_graphics.inc
echo "generator_n_lzsa: .incbin \"generator_n.lzsa\"" >> mist_graphics.inc
echo "generator_s_lzsa: .incbin \"generator_s.lzsa\"" >> mist_graphics.inc
echo "green_house_w_lzsa: .incbin \"green_house_w.lzsa\"" >> mist_graphics.inc

View File

@ -39,8 +39,6 @@ gear_s_lzsa: .incbin "gear_s.lzsa"
gear_w_lzsa: .incbin "gear_w.lzsa"
gear_open_n_lzsa: .incbin "gear_open_n.lzsa"
gear_base_n_lzsa: .incbin "gear_base_n.lzsa"
dentist_door_n_lzsa: .incbin "dentist_door_n.lzsa"
dentist_door_s_lzsa: .incbin "dentist_door_s.lzsa"
spaceship_switch_n_lzsa: .incbin "spaceship_switch_n.lzsa"
tree4_n_lzsa: .incbin "tree4_n.lzsa"
tree4_s_lzsa: .incbin "tree4_s.lzsa"
@ -53,8 +51,6 @@ clock_puzzle_bridge_lzsa: .incbin "clock_puzzle_bridge.lzsa"
clock_inside_s_lzsa: .incbin "clock_inside_s.lzsa"
clock_inside_open_lzsa: .incbin "clock_inside_open.lzsa"
gear_open_e_lzsa: .incbin "gear_open_e.lzsa"
chair_view_s_lzsa: .incbin "chair_view_s.lzsa"
chair_view_n_lzsa: .incbin "chair_view_n.lzsa"
generator_n_lzsa: .incbin "generator_n.lzsa"
generator_s_lzsa: .incbin "generator_s.lzsa"
green_house_w_lzsa: .incbin "green_house_w.lzsa"

View File

@ -21,7 +21,10 @@ location0:
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH | BG_SOUTH
.byte $ff ; special exit
.byte DIRECTION_S ; special exit
.byte 10,30 ; special x
.byte 0,46 ; special y
.word back_to_mist-1
; DENTIST_OUTSIDE_OPEN -- outside dentist door, which is open
location1:
@ -38,7 +41,10 @@ location1:
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH | BG_SOUTH
.byte $ff ; special exit
.byte DIRECTION_S ; special exit
.byte 10,30 ; special x
.byte 0,46 ; special y
.word back_to_mist-1
; DENTIST_INSIDE_DOOR -- chair view
location2:
@ -76,20 +82,24 @@ location3:
; DENTIST_PANEL_UP -- sitting in chair
location4:
.byte DENTIST_PANEL ; north exit
.byte DENTIST_CHAIR_CLOSE ; 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 DIRECTION_S ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word chair_view_n_lzsa ; north bg
.word chair_view_s_lzsa ; south bg
.word panel_up_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH | BG_SOUTH
.byte $ff ; TODO: lightswitch
.byte BG_NORTH
.byte DIRECTION_N ; special exit
.byte 10,30 ; special x
.byte 0,20 ; special y
.word pull_down_panel-1
; DENTIST_PANEL -- looking at panel
location5:
@ -107,7 +117,3 @@ location5:
.word $0000 ; west bg
.byte BG_NORTH
.byte $ff ; special