diff --git a/mist/Makefile b/mist/Makefile index d49a8691..af767aba 100644 --- a/mist/Makefile +++ b/mist/Makefile @@ -48,7 +48,7 @@ MIST: mist.o mist.o: mist.s zp.inc hardware.inc \ graphics_island/mist_graphics.inc \ common_sprites.inc \ - leveldata_island.inc \ + leveldata_mist.inc \ clock_bridge_puzzle.s clock_sprites.inc \ link_book_mist.s \ letter_cat.s \ @@ -85,7 +85,6 @@ selena.o: selena.s zp.inc hardware.inc \ graphics_selena/selena_graphics.inc \ common_sprites.inc \ leveldata_selena.inc \ - link_book_selena.s \ keyboard.s \ draw_pointer.s \ speaker_beeps.s \ diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index dc458126..8dbf8e6d 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -1,3 +1,46 @@ +;====================== +; open the spaeshipt door + +open_ss_door: + + ; check if voltage is 59 + + + ; change to open door image + ldy #LOCATION_NORTH_BG + lda #spaceship_door_open_n_lzsa + sta location38+1,Y + + ; change to load new level if through + ldy #LOCATION_SPECIAL_FUNC + lda #<(go_to_selena-1) + sta location38,Y + lda #>(go_to_selena-1) + sta location38+1,Y + + jsr change_location + +done_ss_door: + rts + + +;====================== +; go to selena + +go_to_selena: + + lda #3 ; Selena + sta WHICH_LOAD + + lda #$ff + sta LEVEL_OVER + + rts + + + ;====================== ; open the generator_door diff --git a/mist/graphics_island/Makefile b/mist/graphics_island/Makefile index a626c0c6..da5bd7f9 100644 --- a/mist/graphics_island/Makefile +++ b/mist/graphics_island/Makefile @@ -49,7 +49,8 @@ mist_graphics.inc: \ green_steps1_n.lzsa green_steps1_s.lzsa \ gen_door_closed_n.lzsa gen_door_open_n.lzsa gen_door_s.lzsa \ green_steps6_n.lzsa green_steps6_w.lzsa \ - pad_n.lzsa pad_e.lzsa + pad_n.lzsa pad_e.lzsa \ + spaceship_door_n.lzsa spaceship_door_open_n.lzsa echo "m_link_book_lzsa: .incbin \"m_link_book.lzsa\"" > mist_graphics.inc echo "dock_n_lzsa: .incbin \"dock_n.lzsa\"" >> mist_graphics.inc echo "dock_s_lzsa: .incbin \"dock_s.lzsa\"" >> mist_graphics.inc @@ -133,6 +134,8 @@ mist_graphics.inc: \ echo "green_steps6_w_lzsa: .incbin \"green_steps6_w.lzsa\"" >> mist_graphics.inc echo "pad_n_lzsa: .incbin \"pad_n.lzsa\"" >> mist_graphics.inc echo "pad_e_lzsa: .incbin \"pad_e.lzsa\"" >> mist_graphics.inc + echo "spaceship_door_n_lzsa: .incbin \"spaceship_door_n.lzsa\"" >> mist_graphics.inc + echo "spaceship_door_open_n_lzsa: .incbin \"spaceship_door_open_n.lzsa\"" >> mist_graphics.inc %.gr: %.png diff --git a/mist/graphics_island/mist_graphics.inc b/mist/graphics_island/mist_graphics.inc index d9908905..d0d6b629 100644 --- a/mist/graphics_island/mist_graphics.inc +++ b/mist/graphics_island/mist_graphics.inc @@ -81,3 +81,5 @@ green_steps6_n_lzsa: .incbin "green_steps6_n.lzsa" green_steps6_w_lzsa: .incbin "green_steps6_w.lzsa" pad_n_lzsa: .incbin "pad_n.lzsa" pad_e_lzsa: .incbin "pad_e.lzsa" +spaceship_door_n_lzsa: .incbin "spaceship_door_n.lzsa" +spaceship_door_open_n_lzsa: .incbin "spaceship_door_open_n.lzsa" diff --git a/mist/graphics_island/spaceship_door_n.png b/mist/graphics_island/spaceship_door_n.png new file mode 100644 index 00000000..6e84ed0e Binary files /dev/null and b/mist/graphics_island/spaceship_door_n.png differ diff --git a/mist/graphics_island/spaceship_door_open_n.png b/mist/graphics_island/spaceship_door_open_n.png new file mode 100644 index 00000000..308c7e07 Binary files /dev/null and b/mist/graphics_island/spaceship_door_open_n.png differ diff --git a/mist/graphics_meche/entrance_e.png b/mist/graphics_meche/entrance_e.png index 78850bd5..161a86d7 100644 Binary files a/mist/graphics_meche/entrance_e.png and b/mist/graphics_meche/entrance_e.png differ diff --git a/mist/graphics_meche/entrance_n.png b/mist/graphics_meche/entrance_n.png index ae546ca6..1117edde 100644 Binary files a/mist/graphics_meche/entrance_n.png and b/mist/graphics_meche/entrance_n.png differ diff --git a/mist/graphics_meche/entrance_s.png b/mist/graphics_meche/entrance_s.png index 514329cd..79f291f1 100644 Binary files a/mist/graphics_meche/entrance_s.png and b/mist/graphics_meche/entrance_s.png differ diff --git a/mist/graphics_meche/entrance_w.png b/mist/graphics_meche/entrance_w.png index 368073cb..97192607 100644 Binary files a/mist/graphics_meche/entrance_w.png and b/mist/graphics_meche/entrance_w.png differ diff --git a/mist/leveldata_island.inc b/mist/leveldata_mist.inc similarity index 97% rename from mist/leveldata_island.inc rename to mist/leveldata_mist.inc index 48a17dac..83d664e1 100644 --- a/mist/leveldata_island.inc +++ b/mist/leveldata_mist.inc @@ -42,7 +42,7 @@ locations: .word location24,location25,location26,location27 .word location28,location29,location30,location31 .word location32,location33,location34,location35 - .word location36,location37 + .word location36,location37,location38 ; myst linking book location0: @@ -446,11 +446,11 @@ location21: ; spaceship switch location22: - .byte 16 ; north exit + .byte 38 ; north exit .byte $ff ; south exit .byte $ff ; east exit .byte $ff ; west exit - .byte DIRECTION_E ; north exit_dir + .byte DIRECTION_N ; north exit_dir .byte $ff ; south exit_dir .byte $ff ; east exit_dir .byte $ff ; west exit_dir @@ -604,7 +604,7 @@ location30: .byte DIRECTION_E ; special exit .byte 17,23 ; special x .byte 14,24 ; special y - .word exit_level-1 ; special function + .word go_to_meche-1 ; special function ; chair view location31: @@ -732,9 +732,23 @@ location37: .byte BG_NORTH | BG_EAST .byte $ff - - - - - +; rocket close in +location38: + .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_door_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 15,25 ; special x + .byte 8,46 ; special y + .word open_ss_door-1 ; special function diff --git a/mist/link_book_selena.s b/mist/link_book_selena.s deleted file mode 100644 index 821a1835..00000000 --- a/mist/link_book_selena.s +++ /dev/null @@ -1,139 +0,0 @@ - ;============================= - ; meche_link_book - ;============================= -meche_link_book: - - ; clear screen - lda #0 - sta clear_all_color+1 - - jsr clear_all - jsr page_flip - - ; play sound effect? - - lda #audio_link_noise - sta BTC_H - ldx #43 ; 45 pages long??? - jsr play_audio - - lda #3 - sta LOCATION - lda #DIRECTION_W - sta DIRECTION - - jsr change_location - rts - - -meche_movie: - .word meche_sprite0,meche_sprite1,meche_sprite2 - .word meche_sprite3,meche_sprite4,meche_sprite5 - .word meche_sprite6,meche_sprite7,meche_sprite8 - .word meche_sprite9,meche_sprite10 - -meche_sprite0: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$55,$77,$77 - .byte $77,$77,$77,$77,$77,$47,$49,$49,$47 - .byte $57,$77,$77,$77,$77,$ff,$55,$88,$88 - .byte $05,$67,$00,$60,$60,$00,$67,$86,$60 - .byte $00,$00,$06,$06,$68,$66,$66,$68,$66 - .byte $00,$00,$00,$00,$00,$06,$66,$66,$66 - -meche_sprite1: - .byte 9,6 - .byte $77,$77,$77,$47,$45,$45,$45,$74,$77 - .byte $77,$77,$74,$ff,$8f,$ff,$ff,$77,$77 - .byte $07,$07,$07,$ff,$08,$0f,$0f,$07,$07 - .byte $77,$77,$00,$67,$67,$60,$66,$66,$66 - .byte $66,$66,$86,$66,$66,$88,$66,$66,$66 - .byte $88,$66,$68,$66,$66,$66,$66,$66,$66 - -meche_sprite2: - .byte 9,6 - .byte $77,$47,$45,$45,$47,$47,$77,$77,$77 - .byte $74,$ff,$8f,$5f,$55,$77,$77,$77,$77 - .byte $70,$0f,$08,$f5,$08,$77,$77,$67,$67 - .byte $77,$77,$00,$67,$67,$66,$66,$66,$66 - .byte $77,$66,$66,$66,$66,$88,$66,$66,$66 - .byte $66,$66,$66,$66,$66,$88,$66,$66,$66 - -meche_sprite3: - .byte 9,6 - .byte $55,$55,$55,$57,$77,$77,$77,$77,$77 - .byte $f5,$ff,$5f,$5f,$77,$77,$77,$77,$77 - .byte $88,$0f,$05,$f5,$77,$77,$77,$57,$57 - .byte $08,$70,$00,$57,$57,$55,$55,$65,$65 - .byte $57,$55,$55,$65,$65,$88,$66,$66,$66 - .byte $65,$66,$66,$66,$88,$88,$00,$66,$66 - -meche_sprite4: - .byte 9,6 - .byte $00,$70,$77,$77,$77,$77,$77,$77,$77 - .byte $00,$77,$77,$77,$77,$77,$77,$77,$dd - .byte $00,$77,$77,$77,$77,$77,$77,$55,$dd - .byte $57,$57,$57,$57,$57,$76,$57,$66,$6d - .byte $66,$60,$66,$60,$66,$66,$88,$55,$55 - .byte $66,$66,$66,$66,$66,$66,$88,$66,$66 - -meche_sprite5: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$77,$77,$77 - .byte $77,$77,$77,$77,$77,$d7,$dd,$dd,$77 - .byte $77,$77,$77,$55,$57,$dd,$dd,$dd,$d7 - .byte $77,$67,$67,$55,$67,$dd,$dd,$dd,$dd - .byte $66,$66,$66,$65,$66,$6d,$6d,$6d,$66 - .byte $56,$56,$56,$56,$56,$56,$66,$66,$66 - -meche_sprite6: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$77,$77,$77 - .byte $77,$77,$77,$77,$d7,$77,$77,$77,$77 - .byte $77,$77,$77,$77,$dd,$dd,$77,$77,$77 - .byte $77,$77,$88,$dd,$dd,$dd,$67,$66,$66 - .byte $77,$67,$88,$dd,$dd,$dd,$66,$66,$66 - .byte $56,$65,$88,$dd,$dd,$dd,$66,$66,$66 - -meche_sprite7: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$87,$87,$88,$78 - .byte $77,$77,$77,$77,$88,$d8,$77,$77,$77 - .byte $77,$77,$77,$77,$88,$dd,$77,$88,$87 - .byte $77,$77,$77,$67,$88,$dd,$dd,$88,$88 - .byte $67,$67,$66,$66,$88,$dd,$dd,$dd,$dd - .byte $66,$62,$22,$22,$88,$dd,$dd,$dd,$dd - -meche_sprite8: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$77,$77,$87 - .byte $77,$77,$77,$77,$77,$88,$77,$88,$77 - .byte $77,$77,$77,$77,$87,$88,$87,$88,$87 - .byte $77,$77,$77,$77,$88,$88,$88,$88,$88 - .byte $67,$67,$26,$26,$88,$88,$88,$88,$88 - .byte $62,$62,$62,$62,$68,$88,$88,$88,$88 - -meche_sprite9: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$88,$88,$88 - .byte $77,$77,$77,$77,$77,$88,$88,$88,$88 - .byte $77,$77,$77,$77,$87,$88,$88,$88,$88 - .byte $77,$77,$77,$87,$88,$88,$88,$88,$88 - .byte $26,$26,$26,$88,$88,$88,$88,$88,$88 - .byte $62,$62,$62,$88,$88,$88,$88,$88,$88 - -meche_sprite10: - .byte 9,6 - .byte $77,$77,$77,$77,$77,$77,$77,$47,$77 - .byte $77,$77,$77,$77,$77,$74,$f4,$f4,$88 - .byte $77,$77,$77,$77,$57,$57,$ff,$ff,$88 - .byte $77,$77,$55,$55,$77,$77,$77,$87,$88 - .byte $62,$62,$62,$62,$62,$62,$62,$88,$88 - .byte $66,$66,$66,$66,$66,$66,$66,$88,$88 - - - - - diff --git a/mist/loader.s b/mist/loader.s index 76202b8f..062cfad2 100644 --- a/mist/loader.s +++ b/mist/loader.s @@ -52,7 +52,7 @@ filbuf = $3D6 ; filbuf: .res 4 ; = bit2tbl+86 ;=================================================== loader_start: - lda #3 + lda #0 sta WHICH_LOAD jsr init ; unhook DOS, init nibble table diff --git a/mist/mist.s b/mist/mist.s index ff28c3a6..8aa0a85a 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -181,7 +181,7 @@ really_exit: -exit_level: +go_to_meche: lda #2 sta WHICH_LOAD @@ -229,7 +229,7 @@ exit_level: .include "common_sprites.inc" - .include "leveldata_island.inc" + .include "leveldata_mist.inc" diff --git a/mist/selena.s b/mist/selena.s index c7ee847d..3fd425ab 100644 --- a/mist/selena.s +++ b/mist/selena.s @@ -189,8 +189,6 @@ room_frame_no_oflo: ; linking books - .include "link_book_selena.s" - .include "common_sprites.inc" .include "leveldata_selena.inc"