mist: meche: add lots more locations

This commit is contained in:
Vince Weaver 2020-03-20 15:10:53 -04:00
parent f627c855d4
commit 2cb4d97bd1
23 changed files with 186 additions and 45 deletions

View File

@ -51,6 +51,9 @@ LOAD_MIST = $1
LOAD_MECHE = $2
LOAD_SELENA = $3
LOAD_OCTAGON = $4
LOAD_STONEDSHIP = $5
LOAD_CHANNEL = $6
LOAD_ENDING = $7
@ -125,6 +128,13 @@ MECHE_FORT_VIEW = 5
MECHE_BRIDGE2 = 6
MECHE_FORT_DOOR = 7
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

View File

@ -17,7 +17,12 @@ meche_graphics.inc: \
fort_view_n.lzsa fort_view_s.lzsa \
bridge2_n.lzsa bridge2_s.lzsa bridge2_e.lzsa bridge2_w.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 "arrival_w_lzsa: .incbin \"arrival_w.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_s_lzsa: .incbin \"fort_entry_s.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -16,3 +16,16 @@ fort_door_n_lzsa: .incbin "fort_door_n.lzsa"
fort_entry_n_lzsa: .incbin "fort_entry_n.lzsa"
fort_entry_s_lzsa: .incbin "fort_entry_s.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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 B

36
mist/init_state.s Normal file
View 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

View File

@ -6,7 +6,8 @@
locations:
.word location0, location1, location2, location3
.word location4, location5, location6, location7
.word location8
.word location8, location9, location10,location11
.word location12,location13
; MECHE_INSIDE_GEAR -- Inside gear on Mist
location0:
@ -167,3 +168,90 @@ location8:
.byte BG_NORTH|BG_SOUTH|BG_EAST
.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

View File

@ -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:
lda #0
lda #LOAD_TITLE
sta WHICH_LOAD
jsr init ; unhook DOS, init nibble table

View File

@ -32,45 +32,6 @@ mist_start:
sta CURSOR_X
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
jsr change_location

View File

@ -95,6 +95,12 @@ done_keyloop:
lda #0
sta LEVEL_OVER
;============================
; init vars
jsr init_state
;============================
; set up initial location
lda #TITLE_MIST_LINKING_DOCK
@ -112,9 +118,6 @@ done_keyloop:
lda #1
sta CURSOR_VISIBLE ; visible at first
; lda #0
; sta ANIMATE_FRAME
game_loop:
;=================
@ -202,6 +205,8 @@ really_exit:
.include "audio.s"
.include "init_state.s"
.include "graphics_title/title_graphics.inc"