mist: meche: unwisely adding in some extra graphics

was playing actual Myst and noticed it's helpful to be able to look
up to figure out elevator

also fixed crashing bug if you try to turn around at controls
This commit is contained in:
Vince Weaver 2020-08-10 23:15:05 -04:00
parent 7434496c88
commit 8916a0bd30
7 changed files with 65 additions and 19 deletions

View File

@ -30,14 +30,14 @@ Sizes:
disk1: SECTORS TRACKS disk1: SECTORS TRACKS
HELLO 566 -> 768 -> 3 HELLO 566 -> 768 -> 3
LOADER 4006 -> 4096 -> 16 1 LOADER 4013 -> 4096 -> 16 1
MIST_TITLE 21008 -> 21248 -> 83 6 MIST_TITLE 21008 -> 21248 -> 83 6
MIST 39780 -> 39936 -> 156 10 MIST 40653 -> 40704 -> 159 10
OCTAGON 32627 -> 32768 -> 128 8 OCTAGON 32610 -> 32768 -> 128 8
VIEWER 4834 -> 4864 -> 19 2 VIEWER 4834 -> 4864 -> 19 2
DENTIST 7879 -> 7936 -> 31 2 DENTIST 7879 -> 7936 -> 31 2
D'NI 6863 -> 6912 -> 27 2 D'NI 6863 -> 6912 -> 27 2
SAVE0 74 -> 256 -> 1 1 SAVE0 88 -> 256 -> 1 1
SHIP 5047 -> 5120 -> 20 2 SHIP 5047 -> 5120 -> 20 2
======== ==== ======== ====
484+10 = 494 = 126k 34 484+10 = 494 = 126k 34
@ -51,9 +51,9 @@ Sizes:
381+4= 385 = 98k 25 381+4= 385 = 98k 25
disk3: disk3:
MECHE 28857 -> 28928 -> 113 8 MECHE 28857 -> 28928 -> 113 8
SELENA 36907 -> 37120 -> 145 10 SELENA 36912 -> 37120 -> 145 10
STONEY 29984 -> 30208 -> 118 8 STONEY 40195 -> 40448 -> 158 10
GENERATOR 8167 -> 8167 -> 2 2 GENERATOR 8434 -> 8448 -> 33 3
SUB 8912 -> 8960 -> 35 3 SUB 13786 -> 13824 -> 54 4
======== ==== ======== ====
???+5=??? 31 503+5=508 = 127k 35

View File

@ -32,8 +32,12 @@ For release 1.0
+ MECHE + MECHE
-- animations for elevator -- animations for elevator
-- way to click on end puzzle from other angle
-- way to turn around in basement -- way to turn around in basement
-- ability to look up at top of elevator
-- look around in the secret rooms
-- note from achenar
+ SUB + SUB
-- can walk around outside of sub -- can walk around outside of sub

View File

@ -203,6 +203,7 @@ MECHE_BLUE_SECRET_DOOR = 38
MECHE_BLUE_SECRET_ROOM = 39 MECHE_BLUE_SECRET_ROOM = 39
MECHE_RED_SECRET_DOOR = 40 MECHE_RED_SECRET_DOOR = 40
MECHE_RED_SECRET_ROOM = 41 MECHE_RED_SECRET_ROOM = 41
MECHE_TOP_FLOOR_UP = 42

View File

@ -43,6 +43,7 @@ meche_graphics.inc: \
elevator_top_e.lzsa \ elevator_top_e.lzsa \
elevator_half_e.lzsa \ elevator_half_e.lzsa \
top_floor_e.lzsa \ top_floor_e.lzsa \
top_floor_up_w.lzsa \
top_floor_ye_w.lzsa top_floor_ne_w.lzsa \ top_floor_ye_w.lzsa top_floor_ne_w.lzsa \
rotate_controls_e.lzsa \ rotate_controls_e.lzsa \
eastturn_e.lzsa eastturn_w.lzsa \ eastturn_e.lzsa eastturn_w.lzsa \
@ -125,6 +126,7 @@ meche_graphics.inc: \
echo "elevator_half_e_lzsa: .incbin \"elevator_half_e.lzsa\"" >> meche_graphics.inc echo "elevator_half_e_lzsa: .incbin \"elevator_half_e.lzsa\"" >> meche_graphics.inc
echo "elevator_top_e_lzsa: .incbin \"elevator_top_e.lzsa\"" >> meche_graphics.inc echo "elevator_top_e_lzsa: .incbin \"elevator_top_e.lzsa\"" >> meche_graphics.inc
echo "top_floor_e_lzsa: .incbin \"top_floor_e.lzsa\"" >> meche_graphics.inc echo "top_floor_e_lzsa: .incbin \"top_floor_e.lzsa\"" >> meche_graphics.inc
echo "top_floor_up_w_lzsa: .incbin \"top_floor_up_w.lzsa\"" >> meche_graphics.inc
echo "top_floor_ye_w_lzsa: .incbin \"top_floor_ye_w.lzsa\"" >> meche_graphics.inc echo "top_floor_ye_w_lzsa: .incbin \"top_floor_ye_w.lzsa\"" >> meche_graphics.inc
echo "top_floor_ne_w_lzsa: .incbin \"top_floor_ne_w.lzsa\"" >> meche_graphics.inc echo "top_floor_ne_w_lzsa: .incbin \"top_floor_ne_w.lzsa\"" >> meche_graphics.inc
echo "rotate_controls_e_lzsa: .incbin \"rotate_controls_e.lzsa\"" >> meche_graphics.inc echo "rotate_controls_e_lzsa: .incbin \"rotate_controls_e.lzsa\"" >> meche_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -14,7 +14,7 @@ locations:
.word location28,location29,location30,location31 .word location28,location29,location30,location31
.word location32,location33,location34,location35 .word location32,location33,location34,location35
.word location36,location37,location38,location39 .word location36,location37,location38,location39
.word location40,location41 .word location40,location41,location42
; MECHE_INSIDE_GEAR -- Inside gear on Mist ; MECHE_INSIDE_GEAR -- Inside gear on Mist
location0: location0:
@ -520,7 +520,10 @@ location27:
.word top_floor_e_lzsa ; east bg .word top_floor_e_lzsa ; east bg
.word top_floor_ye_w_lzsa ; west bg .word top_floor_ye_w_lzsa ; west bg
.byte BG_EAST|BG_WEST .byte BG_EAST|BG_WEST
.byte $ff ; special exit .byte DIRECTION_W ; special exit
.byte 13,25 ; special x
.byte 0,8 ; special y
.word goto_top_floor_up-1 ; special function
; MECHE_ROTATE_CONTROLS -- elevator rotate controls ; MECHE_ROTATE_CONTROLS -- elevator rotate controls
location28: location28:
@ -536,7 +539,7 @@ location28:
.word $0000 ; south bg .word $0000 ; south bg
.word rotate_controls_e_lzsa ; east bg .word rotate_controls_e_lzsa ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte BG_EAST|BG_WEST .byte BG_EAST
.byte DIRECTION_E ; special exit .byte DIRECTION_E ; special exit
.byte 13,28 ; special x .byte 13,28 ; special x
.byte 18,42 ; special y .byte 18,42 ; special y
@ -775,3 +778,21 @@ location41:
.byte 14,24 ; special y .byte 14,24 ; special y
.word meche_take_red_page-1 ; special function .word meche_take_red_page-1 ; special function
; MECHE_TOP_FLOOR_UP -- looking above elevator
location42:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MECHE_TOP_FLOOR ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word top_floor_up_w_lzsa ; west bg
.byte BG_WEST
.byte $ff ; special exit

View File

@ -1,3 +1,11 @@
;===============================
; top floor up
;===============================
goto_top_floor_up:
lda #MECHE_TOP_FLOOR_UP
sta LOCATION
jmp change_location
;============================== ;==============================
; book page stuff ; book page stuff
@ -350,14 +358,19 @@ rot_button_press:
; change to plain elevator ; change to plain elevator
ldy #LOCATION_WEST_BG ldy #LOCATION_WEST_BG
lda #<top_floor_ye_w_lzsa lda #<top_floor_ye_w_lzsa
sta location27,Y sta location27,Y ; MECHE_TOP_FLOOR
lda #>top_floor_ye_w_lzsa lda #>top_floor_ye_w_lzsa
sta location27+1,Y sta location27+1,Y ; MECHE_TOP_FLOOR
; change destination to controls ; change destination to controls
ldy #LOCATION_WEST_EXIT ldy #LOCATION_WEST_EXIT
lda #MECHE_IN_ELEVATOR lda #MECHE_IN_ELEVATOR
sta location27,Y sta location27,Y ; MECHE_TOP_FLOOR
; restore ability to look up
ldy #LOCATION_SPECIAL_EXIT
lda #DIRECTION_W
sta location27,Y ; MECHE_TOP_FLOOR
jmp change_location ; tail call jmp change_location ; tail call
@ -675,14 +688,19 @@ half_and_controls:
; change to elevator roof ; change to elevator roof
ldy #LOCATION_WEST_BG ldy #LOCATION_WEST_BG
lda #<top_floor_ne_w_lzsa lda #<top_floor_ne_w_lzsa
sta location27,Y sta location27,Y ; MECHE_TOP_FLOOR
lda #>top_floor_ne_w_lzsa lda #>top_floor_ne_w_lzsa
sta location27+1,Y sta location27+1,Y ; MECHE_TOP_FLOOR
; change destination to controls ; change destination to controls
ldy #LOCATION_WEST_EXIT ldy #LOCATION_WEST_EXIT
lda #MECHE_ROTATE_CONTROLS lda #MECHE_ROTATE_CONTROLS
sta location27,Y sta location27,Y ; MECHE_TOP_FLOOR
; disable ability to look up
ldy #LOCATION_SPECIAL_EXIT
lda #$ff
sta location27,Y ; MECHE_TOP_FLOOR
jmp elevator_button_done_no_update jmp elevator_button_done_no_update