mist: meche: add lots more locations
@ -51,6 +51,9 @@ LOAD_MIST = $1
|
|||||||
LOAD_MECHE = $2
|
LOAD_MECHE = $2
|
||||||
LOAD_SELENA = $3
|
LOAD_SELENA = $3
|
||||||
LOAD_OCTAGON = $4
|
LOAD_OCTAGON = $4
|
||||||
|
LOAD_STONEDSHIP = $5
|
||||||
|
LOAD_CHANNEL = $6
|
||||||
|
LOAD_ENDING = $7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -125,6 +128,13 @@ MECHE_FORT_VIEW = 5
|
|||||||
MECHE_BRIDGE2 = 6
|
MECHE_BRIDGE2 = 6
|
||||||
MECHE_FORT_DOOR = 7
|
MECHE_FORT_DOOR = 7
|
||||||
MECHE_FORT_ENTRY = 8
|
MECHE_FORT_ENTRY = 8
|
||||||
|
MECHE_WEST_PLATFORM = 9
|
||||||
|
MECHE_NORTH_PLATFORM = 10
|
||||||
|
MECHE_NORTH_HINT = 11
|
||||||
|
MECHE_NORTH_TOP = 12
|
||||||
|
MECHE_NORTH_DIP = 13
|
||||||
|
|
||||||
|
;MECHE_EAST_PLATFORM = 9
|
||||||
|
|
||||||
|
|
||||||
; Selena Age
|
; Selena Age
|
||||||
|
@ -17,7 +17,12 @@ meche_graphics.inc: \
|
|||||||
fort_view_n.lzsa fort_view_s.lzsa \
|
fort_view_n.lzsa fort_view_s.lzsa \
|
||||||
bridge2_n.lzsa bridge2_s.lzsa bridge2_e.lzsa bridge2_w.lzsa \
|
bridge2_n.lzsa bridge2_s.lzsa bridge2_e.lzsa bridge2_w.lzsa \
|
||||||
fort_door_n.lzsa \
|
fort_door_n.lzsa \
|
||||||
fort_entry_n.lzsa fort_entry_s.lzsa fort_entry_e.lzsa
|
fort_entry_n.lzsa fort_entry_s.lzsa fort_entry_e.lzsa \
|
||||||
|
westturn_s.lzsa westturn_n.lzsa westturn_w.lzsa westturn_e.lzsa \
|
||||||
|
north_hint_n.lzsa \
|
||||||
|
north_top_n.lzsa north_top_s.lzsa \
|
||||||
|
north_dip_n.lzsa north_dip_s.lzsa \
|
||||||
|
northturn_s.lzsa northturn_n.lzsa northturn_w.lzsa northturn_e.lzsa
|
||||||
echo "departure_e_lzsa: .incbin \"departure_e.lzsa\"" > meche_graphics.inc
|
echo "departure_e_lzsa: .incbin \"departure_e.lzsa\"" > meche_graphics.inc
|
||||||
echo "arrival_w_lzsa: .incbin \"arrival_w.lzsa\"" >> meche_graphics.inc
|
echo "arrival_w_lzsa: .incbin \"arrival_w.lzsa\"" >> meche_graphics.inc
|
||||||
echo "entrance_e_lzsa: .incbin \"entrance_e.lzsa\"" >> meche_graphics.inc
|
echo "entrance_e_lzsa: .incbin \"entrance_e.lzsa\"" >> meche_graphics.inc
|
||||||
@ -36,6 +41,19 @@ meche_graphics.inc: \
|
|||||||
echo "fort_entry_n_lzsa: .incbin \"fort_entry_n.lzsa\"" >> meche_graphics.inc
|
echo "fort_entry_n_lzsa: .incbin \"fort_entry_n.lzsa\"" >> meche_graphics.inc
|
||||||
echo "fort_entry_s_lzsa: .incbin \"fort_entry_s.lzsa\"" >> meche_graphics.inc
|
echo "fort_entry_s_lzsa: .incbin \"fort_entry_s.lzsa\"" >> meche_graphics.inc
|
||||||
echo "fort_entry_e_lzsa: .incbin \"fort_entry_e.lzsa\"" >> meche_graphics.inc
|
echo "fort_entry_e_lzsa: .incbin \"fort_entry_e.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "westturn_n_lzsa: .incbin \"westturn_n.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "westturn_s_lzsa: .incbin \"westturn_s.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "westturn_e_lzsa: .incbin \"westturn_e.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "westturn_w_lzsa: .incbin \"westturn_w.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "north_hint_n_lzsa: .incbin \"north_hint_n.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "north_top_n_lzsa: .incbin \"north_top_n.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "north_top_s_lzsa: .incbin \"north_top_s.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "north_dip_n_lzsa: .incbin \"north_dip_n.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "north_dip_s_lzsa: .incbin \"north_dip_s.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "northturn_n_lzsa: .incbin \"northturn_n.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "northturn_s_lzsa: .incbin \"northturn_s.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "northturn_e_lzsa: .incbin \"northturn_e.lzsa\"" >> meche_graphics.inc
|
||||||
|
echo "northturn_w_lzsa: .incbin \"northturn_w.lzsa\"" >> meche_graphics.inc
|
||||||
|
|
||||||
|
|
||||||
%.gr: %.png
|
%.gr: %.png
|
||||||
|
BIN
mist/graphics_meche/fort_exit_n.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
mist/graphics_meche/fort_exit_w.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
@ -16,3 +16,16 @@ fort_door_n_lzsa: .incbin "fort_door_n.lzsa"
|
|||||||
fort_entry_n_lzsa: .incbin "fort_entry_n.lzsa"
|
fort_entry_n_lzsa: .incbin "fort_entry_n.lzsa"
|
||||||
fort_entry_s_lzsa: .incbin "fort_entry_s.lzsa"
|
fort_entry_s_lzsa: .incbin "fort_entry_s.lzsa"
|
||||||
fort_entry_e_lzsa: .incbin "fort_entry_e.lzsa"
|
fort_entry_e_lzsa: .incbin "fort_entry_e.lzsa"
|
||||||
|
westturn_n_lzsa: .incbin "westturn_n.lzsa"
|
||||||
|
westturn_s_lzsa: .incbin "westturn_s.lzsa"
|
||||||
|
westturn_e_lzsa: .incbin "westturn_e.lzsa"
|
||||||
|
westturn_w_lzsa: .incbin "westturn_w.lzsa"
|
||||||
|
north_hint_n_lzsa: .incbin "north_hint_n.lzsa"
|
||||||
|
north_top_n_lzsa: .incbin "north_top_n.lzsa"
|
||||||
|
north_top_s_lzsa: .incbin "north_top_s.lzsa"
|
||||||
|
north_dip_n_lzsa: .incbin "north_dip_n.lzsa"
|
||||||
|
north_dip_s_lzsa: .incbin "north_dip_s.lzsa"
|
||||||
|
northturn_n_lzsa: .incbin "northturn_n.lzsa"
|
||||||
|
northturn_s_lzsa: .incbin "northturn_s.lzsa"
|
||||||
|
northturn_e_lzsa: .incbin "northturn_e.lzsa"
|
||||||
|
northturn_w_lzsa: .incbin "northturn_w.lzsa"
|
||||||
|
BIN
mist/graphics_meche/north_dip_n.png
Normal file
After Width: | Height: | Size: 860 B |
BIN
mist/graphics_meche/north_dip_s.png
Normal file
After Width: | Height: | Size: 997 B |
BIN
mist/graphics_meche/north_hint_n.png
Normal file
After Width: | Height: | Size: 895 B |
BIN
mist/graphics_meche/north_top_n.png
Normal file
After Width: | Height: | Size: 774 B |
BIN
mist/graphics_meche/north_top_s.png
Normal file
After Width: | Height: | Size: 962 B |
BIN
mist/graphics_meche/northturn_e.png
Normal file
After Width: | Height: | Size: 801 B |
BIN
mist/graphics_meche/northturn_n.png
Normal file
After Width: | Height: | Size: 790 B |
BIN
mist/graphics_meche/northturn_s.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
mist/graphics_meche/northturn_w.png
Normal file
After Width: | Height: | Size: 793 B |
BIN
mist/graphics_meche/westturn_e.png
Normal file
After Width: | Height: | Size: 808 B |
BIN
mist/graphics_meche/westturn_n.png
Normal file
After Width: | Height: | Size: 724 B |
BIN
mist/graphics_meche/westturn_s.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
mist/graphics_meche/westturn_w.png
Normal file
After Width: | Height: | Size: 907 B |
36
mist/init_state.s
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
; init state
|
||||||
|
|
||||||
|
; in future we might load from disk
|
||||||
|
|
||||||
|
init_state:
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
; init clock puzzles
|
||||||
|
sta CLOCK_MINUTE
|
||||||
|
sta CLOCK_HOUR
|
||||||
|
sta CLOCK_TOP
|
||||||
|
sta CLOCK_MIDDLE
|
||||||
|
sta CLOCK_BOTTOM
|
||||||
|
sta CLOCK_COUNT
|
||||||
|
sta CLOCK_LAST
|
||||||
|
|
||||||
|
; init gear
|
||||||
|
sta GEAR_OPEN
|
||||||
|
|
||||||
|
; init generator
|
||||||
|
sta BREAKER_TRIPPED
|
||||||
|
sta GENERATOR_VOLTS
|
||||||
|
sta ROCKET_VOLTS
|
||||||
|
sta GENERATOR_VOLTS_DISP
|
||||||
|
sta ROCKET_VOLTS_DISP
|
||||||
|
sta SWITCH_TOP_ROW
|
||||||
|
sta SWITCH_BOTTOM_ROW
|
||||||
|
sta ROCKET_HANDLE_STEP
|
||||||
|
|
||||||
|
; init rocket sliders
|
||||||
|
sta ROCKET_NOTE1
|
||||||
|
sta ROCKET_NOTE2
|
||||||
|
sta ROCKET_NOTE3
|
||||||
|
sta ROCKET_NOTE4
|
||||||
|
|
||||||
|
rts
|
@ -6,7 +6,8 @@
|
|||||||
locations:
|
locations:
|
||||||
.word location0, location1, location2, location3
|
.word location0, location1, location2, location3
|
||||||
.word location4, location5, location6, location7
|
.word location4, location5, location6, location7
|
||||||
.word location8
|
.word location8, location9, location10,location11
|
||||||
|
.word location12,location13
|
||||||
|
|
||||||
; MECHE_INSIDE_GEAR -- Inside gear on Mist
|
; MECHE_INSIDE_GEAR -- Inside gear on Mist
|
||||||
location0:
|
location0:
|
||||||
@ -167,3 +168,90 @@ location8:
|
|||||||
.byte BG_NORTH|BG_SOUTH|BG_EAST
|
.byte BG_NORTH|BG_SOUTH|BG_EAST
|
||||||
.byte $ff ; special exit
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
; MECHE_WEST_PLATFORM -- rotated to west platform
|
||||||
|
location9:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte $ff ; south exit
|
||||||
|
.byte MECHE_FORT_ENTRY ; 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 westturn_n_lzsa ; north bg
|
||||||
|
.word westturn_s_lzsa ; south bg
|
||||||
|
.word westturn_e_lzsa ; east bg
|
||||||
|
.word westturn_w_lzsa ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
|
||||||
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
|
||||||
|
; MECHE_NORTH_PLATFORM -- rotated to north platform
|
||||||
|
location10:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte MECHE_FORT_ENTRY ; 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 northturn_n_lzsa ; north bg
|
||||||
|
.word northturn_s_lzsa ; south bg
|
||||||
|
.word northturn_e_lzsa ; east bg
|
||||||
|
.word northturn_w_lzsa ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
|
||||||
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
; MECHE_NORTH_HINT -- hint plate
|
||||||
|
location11:
|
||||||
|
.byte MECHE_NORTH_TOP ; 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 north_hint_n_lzsa ; north bg
|
||||||
|
.word $0000 ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH
|
||||||
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
; MECHE_NORTH_TOP -- north top
|
||||||
|
location12:
|
||||||
|
.byte MECHE_NORTH_HINT ; 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 north_top_n_lzsa ; north bg
|
||||||
|
.word north_top_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH
|
||||||
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
; MECHE_NORTH_DIP -- north dip
|
||||||
|
location13:
|
||||||
|
.byte MECHE_NORTH_TOP ; north exit
|
||||||
|
.byte MECHE_NORTH_PLATFORM ; 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 north_dip_n_lzsa ; north bg
|
||||||
|
.word north_dip_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH
|
||||||
|
.byte $ff ; special exit
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,8 +51,18 @@ filbuf = $3D6 ; filbuf: .res 4 ; = bit2tbl+86
|
|||||||
;===================================================
|
;===================================================
|
||||||
;===================================================
|
;===================================================
|
||||||
|
|
||||||
|
LOAD_TITLE = $0
|
||||||
|
LOAD_MIST = $1
|
||||||
|
LOAD_MECHE = $2
|
||||||
|
LOAD_SELENA = $3
|
||||||
|
LOAD_OCTAGON = $4
|
||||||
|
LOAD_STONEDSHIP = $5
|
||||||
|
LOAD_CHANNEL = $6
|
||||||
|
LOAD_ENDING = $7
|
||||||
|
|
||||||
|
|
||||||
loader_start:
|
loader_start:
|
||||||
lda #0
|
lda #LOAD_TITLE
|
||||||
sta WHICH_LOAD
|
sta WHICH_LOAD
|
||||||
|
|
||||||
jsr init ; unhook DOS, init nibble table
|
jsr init ; unhook DOS, init nibble table
|
||||||
|
39
mist/mist.s
@ -32,45 +32,6 @@ mist_start:
|
|||||||
sta CURSOR_X
|
sta CURSOR_X
|
||||||
sta CURSOR_Y
|
sta CURSOR_Y
|
||||||
|
|
||||||
lda LOCATION
|
|
||||||
cmp #MIST_ARRIVAL_DOCK
|
|
||||||
bne not_first_time
|
|
||||||
|
|
||||||
; first time init
|
|
||||||
lda #0
|
|
||||||
|
|
||||||
sta CLOCK_MINUTE
|
|
||||||
sta CLOCK_HOUR
|
|
||||||
jsr clock_inside_reset
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
sta DIRECTION
|
|
||||||
|
|
||||||
sta GEAR_OPEN
|
|
||||||
|
|
||||||
sta BREAKER_TRIPPED
|
|
||||||
sta GENERATOR_VOLTS
|
|
||||||
sta ROCKET_VOLTS
|
|
||||||
sta GENERATOR_VOLTS_DISP
|
|
||||||
sta ROCKET_VOLTS_DISP
|
|
||||||
sta SWITCH_TOP_ROW
|
|
||||||
sta SWITCH_BOTTOM_ROW
|
|
||||||
sta ROCKET_HANDLE_STEP
|
|
||||||
|
|
||||||
sta ROCKET_NOTE1
|
|
||||||
sta ROCKET_NOTE2
|
|
||||||
sta ROCKET_NOTE3
|
|
||||||
sta ROCKET_NOTE4
|
|
||||||
|
|
||||||
|
|
||||||
; debug
|
|
||||||
; lda #1
|
|
||||||
; sta GEAR_OPEN
|
|
||||||
; jsr open_the_gear
|
|
||||||
|
|
||||||
not_first_time:
|
|
||||||
|
|
||||||
|
|
||||||
; set up initial location
|
; set up initial location
|
||||||
|
|
||||||
jsr change_location
|
jsr change_location
|
||||||
|
@ -95,6 +95,12 @@ done_keyloop:
|
|||||||
lda #0
|
lda #0
|
||||||
sta LEVEL_OVER
|
sta LEVEL_OVER
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; init vars
|
||||||
|
|
||||||
|
jsr init_state
|
||||||
|
|
||||||
|
;============================
|
||||||
; set up initial location
|
; set up initial location
|
||||||
|
|
||||||
lda #TITLE_MIST_LINKING_DOCK
|
lda #TITLE_MIST_LINKING_DOCK
|
||||||
@ -112,9 +118,6 @@ done_keyloop:
|
|||||||
lda #1
|
lda #1
|
||||||
sta CURSOR_VISIBLE ; visible at first
|
sta CURSOR_VISIBLE ; visible at first
|
||||||
|
|
||||||
; lda #0
|
|
||||||
; sta ANIMATE_FRAME
|
|
||||||
|
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
;=================
|
;=================
|
||||||
@ -202,6 +205,8 @@ really_exit:
|
|||||||
|
|
||||||
.include "audio.s"
|
.include "audio.s"
|
||||||
|
|
||||||
|
.include "init_state.s"
|
||||||
|
|
||||||
.include "graphics_title/title_graphics.inc"
|
.include "graphics_title/title_graphics.inc"
|
||||||
|
|
||||||
|
|
||||||
|