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

View File

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

View File

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

View File

@ -43,6 +43,7 @@ meche_graphics.inc: \
elevator_top_e.lzsa \
elevator_half_e.lzsa \
top_floor_e.lzsa \
top_floor_up_w.lzsa \
top_floor_ye_w.lzsa top_floor_ne_w.lzsa \
rotate_controls_e.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_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_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_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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -14,7 +14,7 @@ locations:
.word location28,location29,location30,location31
.word location32,location33,location34,location35
.word location36,location37,location38,location39
.word location40,location41
.word location40,location41,location42
; MECHE_INSIDE_GEAR -- Inside gear on Mist
location0:
@ -520,7 +520,10 @@ location27:
.word top_floor_e_lzsa ; east bg
.word top_floor_ye_w_lzsa ; west bg
.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
location28:
@ -536,7 +539,7 @@ location28:
.word $0000 ; south bg
.word rotate_controls_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST|BG_WEST
.byte BG_EAST
.byte DIRECTION_E ; special exit
.byte 13,28 ; special x
.byte 18,42 ; special y
@ -775,3 +778,21 @@ location41:
.byte 14,24 ; special y
.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
@ -350,14 +358,19 @@ rot_button_press:
; change to plain elevator
ldy #LOCATION_WEST_BG
lda #<top_floor_ye_w_lzsa
sta location27,Y
sta location27,Y ; MECHE_TOP_FLOOR
lda #>top_floor_ye_w_lzsa
sta location27+1,Y
sta location27+1,Y ; MECHE_TOP_FLOOR
; change destination to controls
ldy #LOCATION_WEST_EXIT
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
@ -675,14 +688,19 @@ half_and_controls:
; change to elevator roof
ldy #LOCATION_WEST_BG
lda #<top_floor_ne_w_lzsa
sta location27,Y
sta location27,Y ; MECHE_TOP_FLOOR
lda #>top_floor_ne_w_lzsa
sta location27+1,Y
sta location27+1,Y ; MECHE_TOP_FLOOR
; change destination to controls
ldy #LOCATION_WEST_EXIT
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