mist: split generator room to own level
need the 8k to finish mist
@ -12,7 +12,7 @@ zip: mist.dsk mist_side2.dsk mist_side3.dsk
|
||||
zip mist.zip mist.dsk mist_side2.dsk mist_side3.dsk
|
||||
|
||||
mist.dsk: HELLO LOADER MIST_TITLE MIST OCTAGON VIEWER \
|
||||
MECHE SELENA CABIN CHANNEL STONEY DENTIST SAVE0
|
||||
MECHE SELENA CABIN CHANNEL STONEY DENTIST GENERATOR SAVE0
|
||||
cp empty.dsk mist.dsk
|
||||
$(DOS33) -y mist.dsk SAVE A HELLO
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x1000 LOADER
|
||||
@ -21,6 +21,7 @@ mist.dsk: HELLO LOADER MIST_TITLE MIST OCTAGON VIEWER \
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x2000 OCTAGON
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x2000 CABIN
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x2000 DENTIST
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x2000 GENERATOR
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0xe00 SAVE0
|
||||
$(DOS33) -y mist.dsk BSAVE -a 0x9000 ./audio/link_noise.btc LINK_NOISE.BTC
|
||||
|
||||
@ -108,17 +109,29 @@ mist.o: mist.s zp.inc hardware.inc common_defines.inc common_routines.inc \
|
||||
common_sprites.inc \
|
||||
leveldata_mist.inc \
|
||||
clock_bridge_puzzle.s clock_sprites.inc \
|
||||
letter_cat.s \
|
||||
marker_switch.s \
|
||||
keyboard.s \
|
||||
draw_pointer.s \
|
||||
end_level.s \
|
||||
generator_puzzle.s \
|
||||
mist_puzzles.s \
|
||||
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
||||
ca65 -o mist.o mist.s -l mist.lst
|
||||
|
||||
####
|
||||
|
||||
GENERATOR: generator.o
|
||||
ld65 -o GENERATOR generator.o -C ../linker_scripts/apple2_2000.inc
|
||||
|
||||
generator.o: generator.s zp.inc hardware.inc \
|
||||
common_defines.inc common_routines.inc \
|
||||
graphics_mist/mist_graphics.inc \
|
||||
leveldata_generator.inc \
|
||||
generator_puzzle.s
|
||||
ca65 -o generator.o generator.s -l generator.lst
|
||||
|
||||
|
||||
####
|
||||
|
||||
OCTAGON: octagon.o
|
||||
ld65 -o OCTAGON octagon.o -C ../linker_scripts/apple2_2000.inc
|
||||
|
||||
|
@ -47,11 +47,10 @@ LOAD_CHANNEL = 7
|
||||
LOAD_CABIN = 8
|
||||
LOAD_DENTIST = 9
|
||||
LOAD_ARBOR = 10
|
||||
LOAD_SHIPUP = 11
|
||||
LOAD_NIBEL = 12
|
||||
LOAD_ENDING = 13
|
||||
|
||||
|
||||
LOAD_NIBEL = 11
|
||||
LOAD_SHIP = 12
|
||||
LOAD_GENERATOR = 13
|
||||
LOAD_ENDING = 14
|
||||
|
||||
;================================
|
||||
; Level definitions
|
||||
@ -87,23 +86,25 @@ MIST_CLOCK_PUZZLE = 21
|
||||
MIST_CLOCK_ISLAND = 22
|
||||
MIST_CLOCK_INSIDE = 23
|
||||
MIST_OPEN_GEAR = 24
|
||||
;MIST_CHAIR_VIEW = 25
|
||||
MIST_GREEN_SHACK = 26
|
||||
MIST_GREEN_STEPS1 = 27
|
||||
MIST_GREEN_STEPS6 = 28
|
||||
MIST_GENERATOR_DOOR = 29
|
||||
MIST_GENERATOR_ROOM = 30
|
||||
MIST_ROCKET_PATH_PAD = 31
|
||||
MIST_ROCKET_CLOSE = 32
|
||||
MIST_TOWER2_PATH = 33
|
||||
MIST_TOWER2_BASE = 34
|
||||
MIST_TOWER2_TOP = 35
|
||||
MIST_TOWER1_TRAIL = 36
|
||||
MIST_TOWER1_TRAIL2 = 37
|
||||
MIST_TOWER1_BOTTOM = 38
|
||||
MIST_TOWER1_TOP = 39
|
||||
MIST_VIEWER_DOOR = 40
|
||||
; re-use 20,25
|
||||
MIST_ROCKET_PATH_PAD = 25
|
||||
MIST_ROCKET_CLOSE = 26
|
||||
MIST_TOWER2_PATH = 27
|
||||
MIST_TOWER2_BASE = 28
|
||||
MIST_TOWER2_TOP = 29
|
||||
MIST_VIEWER_DOOR = 30
|
||||
|
||||
|
||||
; Mist Generator Building
|
||||
GEN_GREEN_SHACK = 0
|
||||
GEN_GREEN_STEPS1 = 1
|
||||
GEN_GREEN_STEPS6 = 2
|
||||
GEN_GENERATOR_DOOR = 3
|
||||
GEN_GENERATOR_ROOM = 4
|
||||
GEN_TOWER1_TRAIL = 5
|
||||
GEN_TOWER1_TRAIL2 = 6
|
||||
GEN_TOWER1_BOTTOM = 7
|
||||
GEN_TOWER1_TOP = 8
|
||||
|
||||
|
||||
; Mist Octagon Building
|
||||
|
||||
|
@ -5,51 +5,51 @@
|
||||
opendir_filename =$1039
|
||||
|
||||
; audio.c
|
||||
play_audio =$1346
|
||||
play_audio =$1350
|
||||
|
||||
; decompress_fast_v2.s
|
||||
decompress_lzsa2_fast =$1457
|
||||
getsrc_smc =$154d
|
||||
decompress_lzsa2_fast =$1461
|
||||
getsrc_smc =$1557
|
||||
|
||||
; draw_pointer.s
|
||||
draw_pointer =$155a
|
||||
draw_pointer =$1564
|
||||
|
||||
; end_level.s
|
||||
end_level =$169d
|
||||
end_level =$16a7
|
||||
|
||||
; gr_copy.s
|
||||
gr_copy_to_current =$16bf
|
||||
gr_copy_to_current =$16c9
|
||||
|
||||
; gr_fast_clear.s
|
||||
clear_bottom =$17e5
|
||||
clear_all =$1823
|
||||
clear_all_color =$1848
|
||||
clear_bottom =$17ef
|
||||
clear_all =$182d
|
||||
clear_all_color =$1852
|
||||
|
||||
; gr_offsets.s
|
||||
gr_offsets =$1866
|
||||
gr_offsets =$1870
|
||||
|
||||
; gr_page_flip.s
|
||||
page_flip =$1896
|
||||
page_flip =$18a0
|
||||
|
||||
; gr_putsprite_crop.s
|
||||
put_sprite_crop =$18b0
|
||||
psc_smc1 =$18d3
|
||||
psc_smc2 =$196b
|
||||
put_sprite_crop =$18ba
|
||||
psc_smc1 =$18dd
|
||||
psc_smc2 =$1975
|
||||
|
||||
; keyboard.s
|
||||
handle_keypress =$19ec
|
||||
change_location =$1acd
|
||||
handle_keypress =$19f6
|
||||
change_location =$1ad7
|
||||
|
||||
; text_print.s
|
||||
move_and_print =$1b65
|
||||
ps_smc1 =$1b92
|
||||
move_and_print =$1b6f
|
||||
ps_smc1 =$1b9c
|
||||
|
||||
; page_sprites.inc
|
||||
blue_page_sprite =$1c7a
|
||||
red_page_sprite =$1c90
|
||||
white_page_sprite =$1ca6
|
||||
blue_page_small_sprite =$1cbc
|
||||
red_page_small_sprite =$1cc4
|
||||
blue_page_sprite =$1c84
|
||||
red_page_sprite =$1c9a
|
||||
white_page_sprite =$1cb0
|
||||
blue_page_small_sprite =$1cc6
|
||||
red_page_small_sprite =$1cce
|
||||
|
||||
; audio files
|
||||
linking_noise = $9000
|
||||
|
137
mist/generator.s
Normal file
@ -0,0 +1,137 @@
|
||||
; Generator, deep under Myst Island
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
; Zero Page
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "common_routines.inc"
|
||||
|
||||
generator_start:
|
||||
;===================
|
||||
; init screen
|
||||
;===================
|
||||
|
||||
jsr TEXT
|
||||
jsr HOME
|
||||
bit KEYRESET
|
||||
|
||||
bit SET_GR
|
||||
bit PAGE0
|
||||
bit LORES
|
||||
bit FULLGR
|
||||
|
||||
;=================
|
||||
; set up location
|
||||
;=================
|
||||
|
||||
lda #<locations
|
||||
sta LOCATIONS_L
|
||||
lda #>locations
|
||||
sta LOCATIONS_H
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
sta LEVEL_OVER
|
||||
|
||||
; init cursor
|
||||
|
||||
lda #20
|
||||
sta CURSOR_X
|
||||
sta CURSOR_Y
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
|
||||
lda #1
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
||||
game_loop:
|
||||
;=================
|
||||
; reset things
|
||||
;=================
|
||||
|
||||
lda #0
|
||||
sta IN_SPECIAL
|
||||
sta IN_RIGHT
|
||||
sta IN_LEFT
|
||||
|
||||
;====================================
|
||||
; copy background to current page
|
||||
;====================================
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
;====================================
|
||||
; handle special-case forground logic
|
||||
;====================================
|
||||
|
||||
; handle generator puzzle
|
||||
location_generator:
|
||||
cmp #GEN_GENERATOR_ROOM
|
||||
bne nothing_special
|
||||
lda DIRECTION
|
||||
and #$f
|
||||
cmp #DIRECTION_N
|
||||
bne nothing_special
|
||||
|
||||
jsr generator_update_volts
|
||||
jsr generator_draw_buttons
|
||||
jmp nothing_special
|
||||
|
||||
nothing_special:
|
||||
|
||||
;====================================
|
||||
; draw pointer
|
||||
;====================================
|
||||
|
||||
jsr draw_pointer
|
||||
|
||||
;====================================
|
||||
; page flip
|
||||
;====================================
|
||||
|
||||
jsr page_flip
|
||||
|
||||
;====================================
|
||||
; handle keypress/joystick
|
||||
;====================================
|
||||
|
||||
jsr handle_keypress
|
||||
|
||||
|
||||
;====================================
|
||||
; inc frame count
|
||||
;====================================
|
||||
|
||||
inc FRAMEL
|
||||
bne room_frame_no_oflo
|
||||
inc FRAMEH
|
||||
room_frame_no_oflo:
|
||||
|
||||
;====================================
|
||||
; check level over
|
||||
;====================================
|
||||
|
||||
lda LEVEL_OVER
|
||||
bne really_exit
|
||||
jmp game_loop
|
||||
|
||||
really_exit:
|
||||
jmp end_level
|
||||
|
||||
|
||||
;==========================
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
; graphics data
|
||||
.include "graphics_generator/generator_graphics.inc"
|
||||
|
||||
; puzzles
|
||||
.include "generator_puzzle.s"
|
||||
|
||||
; level data
|
||||
.include "leveldata_generator.inc"
|
@ -1,8 +1,22 @@
|
||||
leave_tower1:
|
||||
lda #GEN_TOWER1_TOP
|
||||
sta LOCATION
|
||||
|
||||
lda #DIRECTION_E
|
||||
sta DIRECTION
|
||||
|
||||
jsr change_location
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
;=======================
|
||||
; flip circuit breaker
|
||||
|
||||
; if room==MIST_TOWER2_TOP, and with #$fe
|
||||
; if room==MIST_TOWER1_TOP, and with #$fd
|
||||
; if room==GEN_TOWER1_TOP, and with #$fd
|
||||
|
||||
circuit_breaker:
|
||||
|
||||
@ -40,69 +54,24 @@ done_turn_on_breaker:
|
||||
rts
|
||||
|
||||
|
||||
;======================
|
||||
; open the spaceship door
|
||||
|
||||
open_ss_door:
|
||||
|
||||
; check if voltage is 59
|
||||
lda ROCKET_VOLTS
|
||||
cmp #$59
|
||||
bne done_ss_door
|
||||
|
||||
; change to open door image
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda #<spaceship_door_open_n_lzsa
|
||||
sta location32,Y ; MIST_ROCKET_CLOSE
|
||||
lda #>spaceship_door_open_n_lzsa
|
||||
sta location32+1,Y ; MIST_ROCKET_CLOSE
|
||||
|
||||
; change to load new level if through
|
||||
ldy #LOCATION_SPECIAL_FUNC
|
||||
lda #<(go_to_selena-1)
|
||||
sta location32,Y ; MIST_ROCKET_CLOSE
|
||||
lda #>(go_to_selena-1)
|
||||
sta location32+1,Y ; MIST_ROCKET_CLOSE
|
||||
|
||||
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
|
||||
|
||||
open_gen_door:
|
||||
|
||||
ldy #LOCATION_NORTH_EXIT
|
||||
lda #MIST_GENERATOR_ROOM
|
||||
sta location29,Y ; MIST_GENERATOR_DOOR
|
||||
lda #GEN_GENERATOR_ROOM
|
||||
sta location3,Y ; GEN_GENERATOR_DOOR
|
||||
|
||||
ldy #LOCATION_NORTH_EXIT_DIR
|
||||
lda #(DIRECTION_N | DIRECTION_SPLIT | DIRECTION_ONLY_POINT)
|
||||
sta location29,Y ; MIST_GENERATOR_DOOR
|
||||
sta location3,Y ; GEN_GENERATOR_DOOR
|
||||
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda #<gen_door_open_n_lzsa
|
||||
sta location29,Y ; MIST_GENERATOR_DOOR
|
||||
sta location3,Y ; GEN_GENERATOR_DOOR
|
||||
lda #>gen_door_open_n_lzsa
|
||||
sta location29+1,Y ; MIST_GENERATOR_DOOR
|
||||
sta location3+1,Y ; GEN_GENERATOR_DOOR
|
||||
|
||||
jsr change_location
|
||||
|
||||
|
50
mist/graphics_generator/Makefile
Normal file
@ -0,0 +1,50 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: generator_graphics.inc
|
||||
|
||||
|
||||
####
|
||||
|
||||
generator_graphics.inc: \
|
||||
generator_n.lzsa generator_s.lzsa \
|
||||
green_house_w.lzsa green_house_e.lzsa \
|
||||
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 \
|
||||
tower1_trail_w.lzsa tower1_trail_e.lzsa \
|
||||
tower1_trail2_n.lzsa tower1_trail2_s.lzsa tower1_trail2_w.lzsa \
|
||||
tower1_base_e.lzsa \
|
||||
tower1_top_e.lzsa
|
||||
echo "generator_n_lzsa: .incbin \"generator_n.lzsa\"" > generator_graphics.inc
|
||||
echo "generator_s_lzsa: .incbin \"generator_s.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_house_w_lzsa: .incbin \"green_house_w.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_house_e_lzsa: .incbin \"green_house_e.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_steps1_n_lzsa: .incbin \"green_steps1_n.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_steps1_s_lzsa: .incbin \"green_steps1_s.lzsa\"" >> generator_graphics.inc
|
||||
echo "gen_door_closed_n_lzsa: .incbin \"gen_door_closed_n.lzsa\"" >> generator_graphics.inc
|
||||
echo "gen_door_open_n_lzsa: .incbin \"gen_door_open_n.lzsa\"" >> generator_graphics.inc
|
||||
echo "gen_door_s_lzsa: .incbin \"gen_door_s.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_steps6_n_lzsa: .incbin \"green_steps6_n.lzsa\"" >> generator_graphics.inc
|
||||
echo "green_steps6_w_lzsa: .incbin \"green_steps6_w.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_trail_w_lzsa: .incbin \"tower1_trail_w.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_trail_e_lzsa: .incbin \"tower1_trail_e.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_trail2_n_lzsa: .incbin \"tower1_trail2_n.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_trail2_w_lzsa: .incbin \"tower1_trail2_w.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_trail2_s_lzsa: .incbin \"tower1_trail2_s.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_base_e_lzsa: .incbin \"tower1_base_e.lzsa\"" >> generator_graphics.inc
|
||||
echo "tower1_top_e_lzsa: .incbin \"tower1_top_e.lzsa\"" >> generator_graphics.inc
|
||||
|
||||
%.gr: %.png
|
||||
$(PNG2GR) $< $@
|
||||
|
||||
%.lzsa: %.gr
|
||||
$(LZSA) -r -f2 $< $@
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst *.gr *.lzsa generator_graphics.inc
|
Before Width: | Height: | Size: 425 B After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 465 B After Width: | Height: | Size: 465 B |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 400 B After Width: | Height: | Size: 400 B |
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 659 B After Width: | Height: | Size: 659 B |
Before Width: | Height: | Size: 707 B After Width: | Height: | Size: 707 B |
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 458 B After Width: | Height: | Size: 458 B |
Before Width: | Height: | Size: 473 B After Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
mist/graphics_generator/tower1_trail2_w.png
Normal file
After Width: | Height: | Size: 928 B |
Before Width: | Height: | Size: 996 B After Width: | Height: | Size: 996 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -35,19 +35,12 @@ mist_graphics.inc: \
|
||||
clock_puzzle_s.lzsa clock_puzzle_bridge.lzsa \
|
||||
clock_inside_s.lzsa clock_inside_open.lzsa \
|
||||
gear_open_e.lzsa \
|
||||
generator_n.lzsa generator_s.lzsa \
|
||||
green_house_w.lzsa green_house_e.lzsa \
|
||||
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 \
|
||||
spaceship_door_n.lzsa spaceship_door_open_n.lzsa \
|
||||
tower2_base_w.lzsa tower2_top_w.lzsa \
|
||||
tower2_path_e.lzsa tower2_path_n.lzsa \
|
||||
tower1_trail_w.lzsa tower1_trail_e.lzsa \
|
||||
tower1_trail2_n.lzsa tower1_trail2_w.lzsa tower1_trail2_s.lzsa \
|
||||
tower1_base_e.lzsa \
|
||||
tower1_top_e.lzsa
|
||||
pillar_cross.lzsa pillar_eye.lzsa pillar_snake.lzsa pillar_emu.lzsa \
|
||||
pillar_bug.lzsa pillar_anchor.lzsa pillar_arrow.lzsa pillar_leaf.lzsa
|
||||
echo "dock_n_lzsa: .incbin \"dock_n.lzsa\"" > 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
|
||||
@ -111,17 +104,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 "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
|
||||
echo "green_house_e_lzsa: .incbin \"green_house_e.lzsa\"" >> mist_graphics.inc
|
||||
echo "green_steps1_n_lzsa: .incbin \"green_steps1_n.lzsa\"" >> mist_graphics.inc
|
||||
echo "green_steps1_s_lzsa: .incbin \"green_steps1_s.lzsa\"" >> mist_graphics.inc
|
||||
echo "gen_door_closed_n_lzsa: .incbin \"gen_door_closed_n.lzsa\"" >> mist_graphics.inc
|
||||
echo "gen_door_open_n_lzsa: .incbin \"gen_door_open_n.lzsa\"" >> mist_graphics.inc
|
||||
echo "gen_door_s_lzsa: .incbin \"gen_door_s.lzsa\"" >> mist_graphics.inc
|
||||
echo "green_steps6_n_lzsa: .incbin \"green_steps6_n.lzsa\"" >> 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
|
||||
@ -130,14 +112,14 @@ mist_graphics.inc: \
|
||||
echo "tower2_top_w_lzsa: .incbin \"tower2_top_w.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower2_path_e_lzsa: .incbin \"tower2_path_e.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower2_path_n_lzsa: .incbin \"tower2_path_n.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_trail_w_lzsa: .incbin \"tower1_trail_w.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_trail_e_lzsa: .incbin \"tower1_trail_e.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_trail2_n_lzsa: .incbin \"tower1_trail2_n.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_trail2_w_lzsa: .incbin \"tower1_trail2_w.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_trail2_s_lzsa: .incbin \"tower1_trail2_s.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_base_e_lzsa: .incbin \"tower1_base_e.lzsa\"" >> mist_graphics.inc
|
||||
echo "tower1_top_e_lzsa: .incbin \"tower1_top_e.lzsa\"" >> mist_graphics.inc
|
||||
|
||||
echo "pillar_cross_lzsa: .incbin \"pillar_cross.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_eye_lzsa: .incbin \"pillar_eye.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_snake_lzsa: .incbin \"pillar_snake.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_emu_lzsa: .incbin \"pillar_emu.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_bug_lzsa: .incbin \"pillar_bug.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_anchor_lzsa: .incbin \"pillar_anchor.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_arrow_lzsa: .incbin \"pillar_arrow.lzsa\"" >> mist_graphics.inc
|
||||
echo "pillar_leaf_lzsa: .incbin \"pillar_leaf.lzsa\"" >> mist_graphics.inc
|
||||
|
||||
%.gr: %.png
|
||||
$(PNG2GR) $< $@
|
||||
|
@ -1,89 +0,0 @@
|
||||
dock_n_lzsa: .incbin "dock_n.lzsa"
|
||||
dock_s_lzsa: .incbin "dock_s.lzsa"
|
||||
dock_e_lzsa: .incbin "dock_e.lzsa"
|
||||
dock_w_lzsa: .incbin "dock_w.lzsa"
|
||||
dock_w_open_lzsa: .incbin "dock_w_open.lzsa"
|
||||
dock_switch_n_lzsa: .incbin "dock_switch_n.lzsa"
|
||||
dock_switch_s_lzsa: .incbin "dock_switch_s.lzsa"
|
||||
dock_steps_w_lzsa: .incbin "dock_steps_w.lzsa"
|
||||
cat_letter_lzsa: .incbin "cat_letter.lzsa"
|
||||
above_dock_e_lzsa: .incbin "above_dock_e.lzsa"
|
||||
above_dock_s_lzsa: .incbin "above_dock_s.lzsa"
|
||||
above_dock_n_lzsa: .incbin "above_dock_n.lzsa"
|
||||
step_base_n_lzsa: .incbin "step_base_n.lzsa"
|
||||
step_base_s_lzsa: .incbin "step_base_s.lzsa"
|
||||
step_land1_w_lzsa: .incbin "step_land1_w.lzsa"
|
||||
step_land1_e_lzsa: .incbin "step_land1_e.lzsa"
|
||||
step_land2_w_lzsa: .incbin "step_land2_w.lzsa"
|
||||
step_land2_e_lzsa: .incbin "step_land2_e.lzsa"
|
||||
step_dentist_n_lzsa: .incbin "step_dentist_n.lzsa"
|
||||
step_dentist_w_lzsa: .incbin "step_dentist_w.lzsa"
|
||||
step_dentist_e_lzsa: .incbin "step_dentist_e.lzsa"
|
||||
step_land3_w_lzsa: .incbin "step_land3_w.lzsa"
|
||||
step_land3_e_lzsa: .incbin "step_land3_e.lzsa"
|
||||
step_top_e_lzsa: .incbin "step_top_e.lzsa"
|
||||
step_top_w_lzsa: .incbin "step_top_w.lzsa"
|
||||
step_top_n_lzsa: .incbin "step_top_n.lzsa"
|
||||
step_top_s_lzsa: .incbin "step_top_s.lzsa"
|
||||
pool_n_lzsa: .incbin "pool_n.lzsa"
|
||||
pool_s_lzsa: .incbin "pool_s.lzsa"
|
||||
pool_e_lzsa: .incbin "pool_e.lzsa"
|
||||
pool_w_lzsa: .incbin "pool_w.lzsa"
|
||||
clock_s_lzsa: .incbin "clock_s.lzsa"
|
||||
clock_n_lzsa: .incbin "clock_n.lzsa"
|
||||
clock_e_lzsa: .incbin "clock_e.lzsa"
|
||||
clock_bridge_lzsa: .incbin "clock_bridge.lzsa"
|
||||
spaceship_far_n_lzsa: .incbin "spaceship_far_n.lzsa"
|
||||
spaceship_far_e_lzsa: .incbin "spaceship_far_e.lzsa"
|
||||
tree1_n_lzsa: .incbin "tree1_n.lzsa"
|
||||
tree1_s_lzsa: .incbin "tree1_s.lzsa"
|
||||
tree2_n_lzsa: .incbin "tree2_n.lzsa"
|
||||
tree2_s_lzsa: .incbin "tree2_s.lzsa"
|
||||
tree2_e_lzsa: .incbin "tree2_e.lzsa"
|
||||
tree2_w_lzsa: .incbin "tree2_w.lzsa"
|
||||
tree5_n_lzsa: .incbin "tree5_n.lzsa"
|
||||
tree5_s_lzsa: .incbin "tree5_s.lzsa"
|
||||
tree5_e_lzsa: .incbin "tree5_e.lzsa"
|
||||
gear_n_lzsa: .incbin "gear_n.lzsa"
|
||||
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"
|
||||
spaceship_switch_n_lzsa: .incbin "spaceship_switch_n.lzsa"
|
||||
tree4_n_lzsa: .incbin "tree4_n.lzsa"
|
||||
tree4_s_lzsa: .incbin "tree4_s.lzsa"
|
||||
tree4_w_lzsa: .incbin "tree4_w.lzsa"
|
||||
tree4_e_lzsa: .incbin "tree4_e.lzsa"
|
||||
clock_island_s_lzsa: .incbin "clock_island_s.lzsa"
|
||||
clock_island_n_lzsa: .incbin "clock_island_n.lzsa"
|
||||
clock_puzzle_s_lzsa: .incbin "clock_puzzle_s.lzsa"
|
||||
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"
|
||||
generator_n_lzsa: .incbin "generator_n.lzsa"
|
||||
generator_s_lzsa: .incbin "generator_s.lzsa"
|
||||
green_house_w_lzsa: .incbin "green_house_w.lzsa"
|
||||
green_house_e_lzsa: .incbin "green_house_e.lzsa"
|
||||
green_steps1_n_lzsa: .incbin "green_steps1_n.lzsa"
|
||||
green_steps1_s_lzsa: .incbin "green_steps1_s.lzsa"
|
||||
gen_door_closed_n_lzsa: .incbin "gen_door_closed_n.lzsa"
|
||||
gen_door_open_n_lzsa: .incbin "gen_door_open_n.lzsa"
|
||||
gen_door_s_lzsa: .incbin "gen_door_s.lzsa"
|
||||
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"
|
||||
tower2_base_w_lzsa: .incbin "tower2_base_w.lzsa"
|
||||
tower2_top_w_lzsa: .incbin "tower2_top_w.lzsa"
|
||||
tower2_path_e_lzsa: .incbin "tower2_path_e.lzsa"
|
||||
tower2_path_n_lzsa: .incbin "tower2_path_n.lzsa"
|
||||
tower1_trail_w_lzsa: .incbin "tower1_trail_w.lzsa"
|
||||
tower1_trail_e_lzsa: .incbin "tower1_trail_e.lzsa"
|
||||
tower1_trail2_n_lzsa: .incbin "tower1_trail2_n.lzsa"
|
||||
tower1_trail2_w_lzsa: .incbin "tower1_trail2_w.lzsa"
|
||||
tower1_trail2_s_lzsa: .incbin "tower1_trail2_s.lzsa"
|
||||
tower1_base_e_lzsa: .incbin "tower1_base_e.lzsa"
|
||||
tower1_top_e_lzsa: .incbin "tower1_top_e.lzsa"
|
BIN
mist/graphics_mist/pillar_anchor.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
mist/graphics_mist/pillar_arrow.png
Normal file
After Width: | Height: | Size: 941 B |
BIN
mist/graphics_mist/pillar_bug.png
Normal file
After Width: | Height: | Size: 888 B |
BIN
mist/graphics_mist/pillar_leaf.png
Normal file
After Width: | Height: | Size: 874 B |
@ -11,10 +11,7 @@ locations:
|
||||
.word location16,location17,location18,location19
|
||||
.word location20,location21,location22,location23
|
||||
.word location24,location25,location26,location27
|
||||
.word location28,location29,location30,location31
|
||||
.word location32,location33,location34,location35
|
||||
.word location36,location37,location38,location39
|
||||
.word location40
|
||||
.word location28,location29,location30
|
||||
|
||||
; MIST_ARRIVAL_DOCK -- dock
|
||||
location0:
|
||||
@ -74,8 +71,6 @@ location2:
|
||||
.byte BG_WEST|BG_NORTH
|
||||
.byte $ff ; special exit
|
||||
|
||||
|
||||
|
||||
; MIST_ABOVE_DOCK -- above dock path
|
||||
location3:
|
||||
.byte MIST_GEAR_BASE ; north exit
|
||||
@ -147,7 +142,6 @@ location6:
|
||||
.byte 36,45 ; special y
|
||||
.word read_letter-1
|
||||
|
||||
|
||||
; MIST_STEPS_DENTIST -- steps outside dentist chair branch
|
||||
location7:
|
||||
.byte $ff ; north exit
|
||||
@ -209,7 +203,6 @@ location9:
|
||||
.byte 0,46 ; special y
|
||||
.word enter_octagon-1
|
||||
|
||||
|
||||
; MIST_POOL -- pool
|
||||
location10:
|
||||
.byte MIST_OUTSIDE_TEMPLE ; north exit
|
||||
@ -324,7 +317,6 @@ location15:
|
||||
.byte 29,35 ; special y
|
||||
.word click_switch-1 ; special function
|
||||
|
||||
|
||||
; MIST_GEAR_BASE -- gear base
|
||||
location16:
|
||||
.byte MIST_GEAR ; north exit
|
||||
@ -381,7 +373,7 @@ location19:
|
||||
.byte MIST_TREE_CORRIDOR_2 ; north exit
|
||||
.byte MIST_TREE_CORRIDOR_5 ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte MIST_TOWER1_TRAIL ; west exit
|
||||
.byte $ff ; west exit
|
||||
.byte DIRECTION_N ; north exit_dir
|
||||
.byte DIRECTION_S ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
@ -470,7 +462,6 @@ location23:
|
||||
.byte 8,32 ; special y
|
||||
.word clock_inside_puzzle-1 ; special function
|
||||
|
||||
|
||||
; MIST_OPEN_GEAR -- open_gear (?)
|
||||
location24:
|
||||
.byte $ff ; north exit
|
||||
@ -491,117 +482,8 @@ location24:
|
||||
.byte 14,24 ; special y
|
||||
.word go_to_meche-1 ; special function
|
||||
|
||||
; MIST_CHAIR_VIEW (unused) -- chair view
|
||||
location25:
|
||||
.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 $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH | BG_SOUTH
|
||||
.byte $ff ; TODO: lightswitch
|
||||
|
||||
; MIST_GREEN_SHACK
|
||||
location26:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_TREE_CORRIDOR_4 ; east exit
|
||||
.byte MIST_GREEN_STEPS1 ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_E ; east exit_dir
|
||||
.byte DIRECTION_N ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word green_house_e_lzsa ; east bg
|
||||
.word green_house_w_lzsa ; west bg
|
||||
.byte BG_EAST | BG_WEST
|
||||
.byte $ff
|
||||
|
||||
; MIST_GREEN_STEPS1 -- green shack steps 1
|
||||
location27:
|
||||
.byte MIST_GREEN_STEPS6 ; north exit
|
||||
.byte MIST_GREEN_SHACK ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte DIRECTION_N ; north exit_dir
|
||||
.byte DIRECTION_E ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word green_steps1_n_lzsa ; north bg
|
||||
.word green_steps1_s_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH | BG_SOUTH
|
||||
.byte $ff
|
||||
|
||||
; MIST_GREEN_STEPS6 -- green shack steps 6
|
||||
location28:
|
||||
.byte MIST_GENERATOR_DOOR ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte MIST_GREEN_STEPS1 ; west exit
|
||||
.byte DIRECTION_N ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte DIRECTION_S ; west exit_dir
|
||||
.word green_steps6_n_lzsa ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word green_steps6_w_lzsa ; west bg
|
||||
.byte BG_NORTH | BG_WEST
|
||||
.byte $ff
|
||||
|
||||
; MIST_GENERATOR_DOOR -- generator room door
|
||||
location29:
|
||||
.byte MIST_GENERATOR_DOOR ; north exit
|
||||
.byte MIST_GREEN_STEPS6 ; 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 gen_door_closed_n_lzsa ; north bg
|
||||
.word gen_door_s_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH | BG_SOUTH
|
||||
.byte DIRECTION_N ; special exit
|
||||
.byte 27,32 ; special x
|
||||
.byte 26,32 ; special y
|
||||
.word open_gen_door-1 ; special function
|
||||
|
||||
|
||||
; MIST_GENERATOR_ROOM -- generator room
|
||||
location30:
|
||||
.byte $ff ; north exit
|
||||
.byte MIST_GENERATOR_DOOR ; 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 generator_n_lzsa ; north bg
|
||||
.word generator_s_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH | BG_SOUTH
|
||||
.byte DIRECTION_N
|
||||
.byte 24,36 ; special x
|
||||
.byte 34,40 ; special y
|
||||
.word generator_button_press-1 ; special function
|
||||
|
||||
; MIST_ROCKET_PATH_PAD -- pad on way to rocket
|
||||
location31:
|
||||
location25:
|
||||
.byte MIST_SPACESHIP_FAR ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_OUTSIDE_TEMPLE ; east exit
|
||||
@ -621,7 +503,7 @@ location31:
|
||||
.word pad_special-1 ; special function
|
||||
|
||||
; MIST_ROCKET_CLOSE -- rocket close in
|
||||
location32:
|
||||
location26:
|
||||
.byte MIST_SPACESHIP_FAR ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
@ -640,9 +522,8 @@ location32:
|
||||
.byte 8,46 ; special y
|
||||
.word open_ss_door-1 ; special function
|
||||
|
||||
|
||||
; MIST_TOWER2_PATH -- tower2 path
|
||||
location33:
|
||||
location27:
|
||||
.byte MIST_TOWER2_BASE ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_ROCKET_PATH_PAD ; east exit
|
||||
@ -659,7 +540,7 @@ location33:
|
||||
.byte $ff
|
||||
|
||||
; MIST_TOWER2_BASE -- tower2 base
|
||||
location34:
|
||||
location28:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
@ -679,7 +560,7 @@ location34:
|
||||
.word leave_tower2-1 ; special function
|
||||
|
||||
; MIST_TOWER2_TOP -- tower2 top
|
||||
location35:
|
||||
location29:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
@ -698,83 +579,8 @@ location35:
|
||||
.byte 10,18 ; special y
|
||||
.word circuit_breaker-1 ; special function
|
||||
|
||||
; MIST_TOWER1_TRAIL -- tower1 trail
|
||||
location36:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_TREE_CORRIDOR_4 ; east exit
|
||||
.byte MIST_TOWER1_TRAIL2 ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_E ; east exit_dir
|
||||
.byte DIRECTION_N ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word tower1_trail_e_lzsa ; east bg
|
||||
.word tower1_trail_w_lzsa ; west bg
|
||||
.byte BG_WEST|BG_EAST
|
||||
.byte $ff
|
||||
|
||||
; MIST_TOWER1_TRAIL2 -- tower1 trail2
|
||||
location37:
|
||||
.byte MIST_TOWER1_BOTTOM ; north exit
|
||||
.byte MIST_TOWER1_TRAIL ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; north exit_dir
|
||||
.byte DIRECTION_E ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word tower1_trail2_n_lzsa ; north bg
|
||||
.word tower1_trail2_s_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word tower1_trail2_w_lzsa ; west bg
|
||||
.byte BG_NORTH|BG_SOUTH|BG_WEST
|
||||
.byte $ff
|
||||
|
||||
; MIST_TOWER1_BOTTOM -- tower1 bottom
|
||||
location38:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_TOWER1_TRAIL2 ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_N ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word tower1_base_e_lzsa ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_EAST
|
||||
.byte DIRECTION_E ; special exit
|
||||
.byte 10,26 ; special x
|
||||
.byte 0,46 ; special y
|
||||
.word leave_tower1-1 ; special function
|
||||
|
||||
|
||||
; MIST_TOWER1_TOP -- tower1 top
|
||||
location39:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte MIST_TOWER1_BOTTOM ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word tower1_top_e_lzsa ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_EAST
|
||||
.byte DIRECTION_E ; special exit
|
||||
.byte 16,22 ; special x
|
||||
.byte 10,18 ; special y
|
||||
.word circuit_breaker-1 ; special function
|
||||
|
||||
; MIST_VIEWER_DOOR -- viewer door
|
||||
location40:
|
||||
location30:
|
||||
.byte MIST_DOCK_SWITCH ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
|
@ -144,8 +144,8 @@ filenames:
|
||||
.word intro_filename
|
||||
.word mist_filename,meche_filename,selena_filename,octagon_filename
|
||||
.word viewer_filename,stoney_filename,channel_filename,cabin_filename
|
||||
.word dentist_filename,arbor_filename,shipup_filename,nibel_filename
|
||||
.word ending_filename
|
||||
.word dentist_filename,arbor_filename,nibel_filename,ship_filename
|
||||
.word generator_filename,ending_filename
|
||||
|
||||
intro_filename:
|
||||
.byte "MIST_TITLE",0
|
||||
@ -169,10 +169,12 @@ dentist_filename:
|
||||
.byte "DENTIST",0
|
||||
arbor_filename:
|
||||
.byte "ARBOR",0
|
||||
shipup_filename:
|
||||
.byte "SHIPUP",0
|
||||
nibel_filename:
|
||||
.byte "NIBEL",0
|
||||
ship_filename:
|
||||
.byte "SHIP",0
|
||||
generator_filename:
|
||||
.byte "GENERATOR",0
|
||||
ending_filename:
|
||||
.byte "ENDING",0
|
||||
|
||||
|
37
mist/mist.s
@ -93,7 +93,7 @@ not_gear_related:
|
||||
beq location_clock
|
||||
cmp #MIST_CLOCK_INSIDE
|
||||
beq location_inside_clock
|
||||
bne location_generator
|
||||
bne nothing_special
|
||||
|
||||
location_clock:
|
||||
jsr draw_clock_face
|
||||
@ -102,19 +102,6 @@ location_inside_clock:
|
||||
jsr draw_clock_inside
|
||||
jmp nothing_special
|
||||
|
||||
; handle generator puzzle
|
||||
location_generator:
|
||||
cmp #MIST_GENERATOR_ROOM
|
||||
bne nothing_special
|
||||
lda DIRECTION
|
||||
and #$f
|
||||
cmp #DIRECTION_N
|
||||
bne nothing_special
|
||||
|
||||
jsr generator_update_volts
|
||||
jsr generator_draw_buttons
|
||||
jmp nothing_special
|
||||
|
||||
nothing_special:
|
||||
|
||||
;====================================
|
||||
@ -189,24 +176,13 @@ leave_tower2:
|
||||
|
||||
rts
|
||||
|
||||
leave_tower1:
|
||||
lda #MIST_TOWER1_TOP
|
||||
sta LOCATION
|
||||
|
||||
lda #DIRECTION_E
|
||||
sta DIRECTION
|
||||
|
||||
jsr change_location
|
||||
|
||||
rts
|
||||
|
||||
|
||||
green_house:
|
||||
|
||||
; FIXME: handle switch separately
|
||||
|
||||
lda #MIST_GREEN_SHACK
|
||||
sta LOCATION
|
||||
; lda #MIST_GREEN_SHACK
|
||||
; sta LOCATION
|
||||
|
||||
jmp change_location
|
||||
|
||||
@ -323,12 +299,7 @@ read_letter:
|
||||
; puzzles
|
||||
.include "clock_bridge_puzzle.s"
|
||||
.include "marker_switch.s"
|
||||
.include "generator_puzzle.s"
|
||||
|
||||
; linking books
|
||||
|
||||
; letters
|
||||
; .include "letter_cat.s"
|
||||
.include "mist_puzzles.s"
|
||||
|
||||
; level data
|
||||
.include "leveldata_mist.inc"
|
||||
|
89
mist/mist_puzzles.s
Normal file
@ -0,0 +1,89 @@
|
||||
;=======================
|
||||
; flip circuit breaker
|
||||
|
||||
; if room==MIST_TOWER2_TOP, and with #$fe
|
||||
; if room==MIST_TOWER1_TOP, and with #$fd
|
||||
|
||||
circuit_breaker:
|
||||
|
||||
bit $C030 ; click speaker
|
||||
|
||||
lda LOCATION
|
||||
cmp #MIST_TOWER2_TOP
|
||||
bne other_circuit_breaker
|
||||
|
||||
lda BREAKER_TRIPPED
|
||||
and #$fe
|
||||
jmp done_circuit_breaker
|
||||
|
||||
other_circuit_breaker:
|
||||
lda BREAKER_TRIPPED
|
||||
and #$fd
|
||||
|
||||
done_circuit_breaker:
|
||||
sta BREAKER_TRIPPED
|
||||
|
||||
bne done_turn_on_breaker
|
||||
|
||||
turn_on_breaker:
|
||||
|
||||
lda GENERATOR_VOLTS
|
||||
cmp #$60
|
||||
bcs done_turn_on_breaker
|
||||
|
||||
sta ROCKET_VOLTS
|
||||
sta ROCKET_VOLTS_DISP
|
||||
|
||||
|
||||
done_turn_on_breaker:
|
||||
|
||||
rts
|
||||
|
||||
|
||||
;======================
|
||||
; open the spaceship door
|
||||
|
||||
open_ss_door:
|
||||
|
||||
; check if voltage is 59
|
||||
lda ROCKET_VOLTS
|
||||
cmp #$59
|
||||
bne done_ss_door
|
||||
|
||||
; change to open door image
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda #<spaceship_door_open_n_lzsa
|
||||
sta location26,Y ; MIST_ROCKET_CLOSE
|
||||
lda #>spaceship_door_open_n_lzsa
|
||||
sta location26+1,Y ; MIST_ROCKET_CLOSE
|
||||
|
||||
; change to load new level if through
|
||||
ldy #LOCATION_SPECIAL_FUNC
|
||||
lda #<(go_to_selena-1)
|
||||
sta location26,Y ; MIST_ROCKET_CLOSE
|
||||
lda #>(go_to_selena-1)
|
||||
sta location26+1,Y ; MIST_ROCKET_CLOSE
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|