mist: can now raise the ship

This commit is contained in:
Vince Weaver 2020-07-09 01:31:22 -04:00
parent 0f6cbc7e47
commit 06476dca71
21 changed files with 170 additions and 5 deletions

View File

@ -11,16 +11,24 @@ all: mist_graphics.inc
mist_graphics.inc: \
dock_n.lzsa dock_s.lzsa dock_e.lzsa dock_w.lzsa dock_w_open.lzsa \
dock_shipup_e.lzsa dock_shipup_n.lzsa \
dock_switch_n.lzsa dock_switch_s.lzsa \
dock_switch_shipup_s.lzsa \
dock_steps_w.lzsa \
cat_letter.lzsa \
above_dock_e.lzsa above_dock_n.lzsa above_dock_s.lzsa \
above_dock_shipup_s.lzsa above_dock_shipup_e.lzsa \
step_base_s.lzsa step_base_n.lzsa \
step_land1_w.lzsa step_land1_e.lzsa \
step_land1_shipup_e.lzsa \
step_land2_e.lzsa step_land2_w.lzsa \
step_land2_shipup_e.lzsa \
step_dentist_n.lzsa step_dentist_e.lzsa step_dentist_w.lzsa \
step_dentist_shipup_e.lzsa \
step_land3_w.lzsa step_land3_e.lzsa \
step_land3_shipup_e.lzsa \
step_top_e.lzsa step_top_w.lzsa step_top_n.lzsa step_top_s.lzsa \
step_top_shipup_e.lzsa \
pool_n.lzsa pool_s.lzsa pool_e.lzsa pool_w.lzsa \
pool_shipup_s.lzsa \
clock_e.lzsa clock_n.lzsa clock_s.lzsa clock_bridge.lzsa \
@ -30,6 +38,7 @@ mist_graphics.inc: \
tree2_n.lzsa tree2_s.lzsa tree2_e.lzsa tree2_w.lzsa \
tree5_n.lzsa tree5_e.lzsa tree5_s.lzsa \
gear_n.lzsa gear_w.lzsa gear_s.lzsa gear_open_n.lzsa\
gear_shipup_s.lzsa \
gear_base_n.lzsa \
spaceship_switch_n.lzsa \
tree4_n.lzsa tree4_s.lzsa tree4_w.lzsa tree4_e.lzsa \
@ -47,29 +56,39 @@ mist_graphics.inc: \
echo "dock_s_lzsa: .incbin \"dock_s.lzsa\"" >> mist_graphics.inc
echo "dock_e_lzsa: .incbin \"dock_e.lzsa\"" >> mist_graphics.inc
echo "dock_w_lzsa: .incbin \"dock_w.lzsa\"" >> mist_graphics.inc
echo "dock_shipup_e_lzsa: .incbin \"dock_shipup_e.lzsa\"" >> mist_graphics.inc
echo "dock_shipup_n_lzsa: .incbin \"dock_shipup_n.lzsa\"" >> mist_graphics.inc
echo "dock_w_open_lzsa: .incbin \"dock_w_open.lzsa\"" >> mist_graphics.inc
echo "dock_switch_n_lzsa: .incbin \"dock_switch_n.lzsa\"" >> mist_graphics.inc
echo "dock_switch_s_lzsa: .incbin \"dock_switch_s.lzsa\"" >> mist_graphics.inc
echo "dock_switch_shipup_s_lzsa: .incbin \"dock_switch_shipup_s.lzsa\"" >> mist_graphics.inc
echo "dock_steps_w_lzsa: .incbin \"dock_steps_w.lzsa\"" >> mist_graphics.inc
echo "cat_letter_lzsa: .incbin \"cat_letter.lzsa\"" >> mist_graphics.inc
echo "above_dock_e_lzsa: .incbin \"above_dock_e.lzsa\"" >> mist_graphics.inc
echo "above_dock_s_lzsa: .incbin \"above_dock_s.lzsa\"" >> mist_graphics.inc
echo "above_dock_n_lzsa: .incbin \"above_dock_n.lzsa\"" >> mist_graphics.inc
echo "above_dock_shipup_s_lzsa: .incbin \"above_dock_shipup_s.lzsa\"" >> mist_graphics.inc
echo "above_dock_shipup_e_lzsa: .incbin \"above_dock_shipup_e.lzsa\"" >> mist_graphics.inc
echo "step_base_n_lzsa: .incbin \"step_base_n.lzsa\"" >> mist_graphics.inc
echo "step_base_s_lzsa: .incbin \"step_base_s.lzsa\"" >> mist_graphics.inc
echo "step_land1_w_lzsa: .incbin \"step_land1_w.lzsa\"" >> mist_graphics.inc
echo "step_land1_e_lzsa: .incbin \"step_land1_e.lzsa\"" >> mist_graphics.inc
echo "step_land1_shipup_e_lzsa: .incbin \"step_land1_shipup_e.lzsa\"" >> mist_graphics.inc
echo "step_land2_w_lzsa: .incbin \"step_land2_w.lzsa\"" >> mist_graphics.inc
echo "step_land2_e_lzsa: .incbin \"step_land2_e.lzsa\"" >> mist_graphics.inc
echo "step_land2_shipup_e_lzsa: .incbin \"step_land2_shipup_e.lzsa\"" >> mist_graphics.inc
echo "step_dentist_n_lzsa: .incbin \"step_dentist_n.lzsa\"" >> mist_graphics.inc
echo "step_dentist_w_lzsa: .incbin \"step_dentist_w.lzsa\"" >> mist_graphics.inc
echo "step_dentist_e_lzsa: .incbin \"step_dentist_e.lzsa\"" >> mist_graphics.inc
echo "step_dentist_shipup_e_lzsa: .incbin \"step_dentist_shipup_e.lzsa\"" >> mist_graphics.inc
echo "step_land3_w_lzsa: .incbin \"step_land3_w.lzsa\"" >> mist_graphics.inc
echo "step_land3_e_lzsa: .incbin \"step_land3_e.lzsa\"" >> mist_graphics.inc
echo "step_land3_shipup_e_lzsa: .incbin \"step_land3_shipup_e.lzsa\"" >> mist_graphics.inc
echo "step_top_e_lzsa: .incbin \"step_top_e.lzsa\"" >> mist_graphics.inc
echo "step_top_w_lzsa: .incbin \"step_top_w.lzsa\"" >> mist_graphics.inc
echo "step_top_n_lzsa: .incbin \"step_top_n.lzsa\"" >> mist_graphics.inc
echo "step_top_s_lzsa: .incbin \"step_top_s.lzsa\"" >> mist_graphics.inc
echo "step_top_shipup_e_lzsa: .incbin \"step_top_shipup_e.lzsa\"" >> mist_graphics.inc
echo "pool_n_lzsa: .incbin \"pool_n.lzsa\"" >> mist_graphics.inc
echo "pool_s_lzsa: .incbin \"pool_s.lzsa\"" >> mist_graphics.inc
echo "pool_e_lzsa: .incbin \"pool_e.lzsa\"" >> mist_graphics.inc
@ -94,6 +113,7 @@ mist_graphics.inc: \
echo "gear_n_lzsa: .incbin \"gear_n.lzsa\"" >> mist_graphics.inc
echo "gear_s_lzsa: .incbin \"gear_s.lzsa\"" >> mist_graphics.inc
echo "gear_w_lzsa: .incbin \"gear_w.lzsa\"" >> mist_graphics.inc
echo "gear_shipup_s_lzsa: .incbin \"gear_shipup_s.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 "spaceship_switch_n_lzsa: .incbin \"spaceship_switch_n.lzsa\"" >> mist_graphics.inc

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1011 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -125,6 +125,14 @@ nothing_special:
jsr page_flip
;=================
; do this here (which is inefficient) because
; it lets the switch turn green before the noise
jsr check_change_ship
;====================================
; handle keypress/joystick
;====================================
@ -147,6 +155,7 @@ room_frame_no_oflo:
lda LEVEL_OVER
bne really_exit
jmp game_loop
really_exit:

View File

@ -4,33 +4,101 @@
adjust_ship:
lda SHIP_RAISED
beq make_ship_down
bne make_ship_up
jmp make_ship_down
make_ship_up:
; update backgrounds
; update backgrounds south
ldy #LOCATION_SOUTH_BG
lda #<pool_shipup_s_lzsa
sta location10,Y ; MIST_POOL
lda #>pool_shipup_s_lzsa
sta location10+1,Y ; MIST_POOL
lda #<gear_shipup_s_lzsa
sta location15,Y ; MIST_GEAR
lda #>gear_shipup_s_lzsa
sta location15+1,Y ; MIST_GEAR
lda #<dock_switch_shipup_s_lzsa
sta location1,Y ; MIST_DOCK_SWITCH
lda #>dock_switch_shipup_s_lzsa
sta location1+1,Y ; MIST_DOCK_SWITCH
lda #<above_dock_shipup_s_lzsa
sta location3,Y ; MIST_ABOVE_DOCK
lda #>above_dock_shipup_s_lzsa
sta location3+1,Y ; MIST_ABOVE_DOCK
; update backgrounds north
ldy #LOCATION_NORTH_BG
lda #<tree1_shipup_n_lzsa
sta location20,Y ; MIST_TREE_CORRIDOR_1
lda #>tree1_shipup_n_lzsa
sta location20+1,Y ; MIST_TREE_CORRIDOR_1
lda #<dock_shipup_n_lzsa
sta location0,Y ; MIST_ARRIVAL_DOCK
lda #>dock_shipup_n_lzsa
sta location0+1,Y ; MIST_ARRIVAL_DOCK
; update backgrounds east
ldy #LOCATION_EAST_BG
lda #<step_top_shipup_e_lzsa
sta location9,Y ; MIST_OUTSIDE_TEMPLE
lda #>step_top_shipup_e_lzsa
sta location9+1,Y ; MIST_OUTSIDE_TEMPLE
lda #<step_land3_shipup_e_lzsa
sta location8,Y ; MIST_STEPS_4TH_LANDING
lda #>step_land3_shipup_e_lzsa
sta location8+1,Y ; MIST_STEPS_4TH_LANDING
lda #<step_dentist_shipup_e_lzsa
sta location7,Y ; MIST_STEPS_DENTIST
lda #>step_dentist_shipup_e_lzsa
sta location7+1,Y ; MIST_STEPS_DENTIST
lda #<step_land2_shipup_e_lzsa
sta location6,Y ; MIST_STEPS_2ND_LANDING
lda #>step_land2_shipup_e_lzsa
sta location6+1,Y ; MIST_STEPS_2ND_LANDING
lda #<step_land1_shipup_e_lzsa
sta location5,Y ; MIST_STEPS_1ST_LANDING
lda #>step_land1_shipup_e_lzsa
sta location5+1,Y ; MIST_STEPS_1ST_LANDING
lda #<above_dock_shipup_e_lzsa
sta location3,Y ; MIST_ABOVE_DOCK
sta location16,Y ; MIST_GEAR_BASE
lda #>above_dock_shipup_e_lzsa
sta location3+1,Y ; MIST_ABOVE_DOCK
sta location16+1,Y ; MIST_GEAR_BASE
lda #<dock_shipup_e_lzsa
sta location0,Y ; MIST_ARRIVAL_DOCK
lda #>dock_shipup_e_lzsa
sta location0+1,Y ; MIST_ARRIVAL_DOCK
; hook up exit on dock to ship
; FIXME: hook up exit on dock to ship
rts
make_ship_down:
; update backgrounds
; update backgrounds south
ldy #LOCATION_SOUTH_BG
lda #<pool_s_lzsa
@ -38,15 +106,75 @@ make_ship_down:
lda #>pool_s_lzsa
sta location10+1,Y ; MIST_POOL
lda #<gear_s_lzsa
sta location15,Y ; MIST_GEAR
lda #>gear_s_lzsa
sta location15+1,Y ; MIST_GEAR
lda #<dock_switch_s_lzsa
sta location1,Y ; MIST_DOCK_SWITCH
lda #>dock_switch_s_lzsa
sta location1+1,Y ; MIST_DOCK_SWITCH
lda #<above_dock_s_lzsa
sta location3,Y ; MIST_ABOVE_DOCK
lda #>above_dock_s_lzsa
sta location3+1,Y ; MIST_ABOVE_DOCK
; update backgrounds north
ldy #LOCATION_NORTH_BG
lda #<tree1_n_lzsa
sta location20,Y ; MIST_TREE_CORRIDOR_1
lda #>tree1_n_lzsa
sta location20+1,Y ; MIST_TREE_CORRIDOR_1
lda #<dock_n_lzsa
sta location0,Y ; MIST_ARRIVAL_DOCK
lda #>dock_n_lzsa
sta location0+1,Y ; MIST_ARRIVAL_DOCK
; update backgrounds east
; remove exit on dock to ship
ldy #LOCATION_EAST_BG
lda #<step_top_e_lzsa
sta location9,Y ; MIST_OUTSIDE_TEMPLE
lda #>step_top_e_lzsa
sta location9+1,Y ; MIST_OUTSIDE_TEMPLE
lda #<step_land3_e_lzsa
sta location8,Y ; MIST_STEPS_4TH_LANDING
lda #>step_land3_e_lzsa
sta location8+1,Y ; MIST_STEPS_4TH_LANDING
lda #<step_dentist_e_lzsa
sta location7,Y ; MIST_STEPS_DENTIST
lda #>step_dentist_e_lzsa
sta location7+1,Y ; MIST_STEPS_DENTIST
lda #<step_land2_e_lzsa
sta location6,Y ; MIST_STEPS_2ND_LANDING
lda #>step_land2_e_lzsa
sta location6+1,Y ; MIST_STEPS_2ND_LANDING
lda #<step_land1_e_lzsa
sta location5,Y ; MIST_STEPS_1ST_LANDING
lda #>step_land1_e_lzsa
sta location5+1,Y ; MIST_STEPS_1ST_LANDING
lda #<above_dock_e_lzsa
sta location3,Y ; MIST_ABOVE_DOCK
sta location16,Y ; MIST_GEAR_BASE
lda #>above_dock_e_lzsa
sta location3+1,Y ; MIST_ABOVE_DOCK
sta location16+1,Y ; MIST_GEAR_BASE
lda #<dock_e_lzsa
sta location0,Y ; MIST_ARRIVAL_DOCK
lda #>dock_e_lzsa
sta location0+1,Y ; MIST_ARRIVAL_DOCK
; FIXME: remove exit on dock to ship
@ -105,6 +233,14 @@ touch_pillar:
eor powersoftwo,Y
sta PILLAR_ON
rts
;=====================================
; check to see if ship needs to change
;=====================================
check_change_ship:
; check to see if we need to raise/lower ship
lda SHIP_RAISED