mist: tower rotation fully working, including hints

This commit is contained in:
Vince Weaver 2020-04-08 01:22:19 -04:00
parent 9f09982dd6
commit 6c3b9bbaf1
19 changed files with 205 additions and 96 deletions

View File

@ -1,100 +1,43 @@
put settining init values into TITLE? This would allow save/load
if we ever got to that point
Selena:
+ turn around?
+ whole way to tower thing
main:
+ leave at angle
+ re-set levers (?)
+ close door on ss
+ some sort of switch animation on circuit breakers?
Images left:
+ tree4_e
+ ladder1_path_n
+ ladder1_w
+ ladder1_top
+ ladder1_e
+ ladder2_path
+ ladder2_w
+ ladder2_top
+ pool_n
+ pool_e
+ pool_w
+ tree1_n
+ tree1_s
+ tree1_e
+ tree1_w
+ imager_room1
+ imager_room2
ship_raised:
+ marker switches
+ ship raise/lower
+ look at catherine's letter from other side of path
+ allow opening/grabbing white page
octagon_room:
+ door open
+ door closed
+ tower rotation
+ blue book
+ bookshelf
+ full text on brothers
+ books
+ corridor
+ elevator
+ view from top, 4 directions?
+ door closed/library open
+ in tower could have extra window open/closed far backgrounds
+ turning when looking at hint loses the text mode
+ final puzzle in fireplace
General:
+ Insert floppy #100 joke?
+ double link noise (once when leave, once when get there?)
+ allow turning around
+ allow going 45 degree angles
+ adjust grab window on letter
+ add missing red book step
+ move link sound to be loaded from disk
Make game winnable:
+ Allow access to all marker switches
+ Track state of marker switches (draw them properly?)
+ Allow grabbing white page
+ allow entering code
dentist office:
+ implement
MIST island:
+ Scenery
- Projector room, with message
- Climb towers with circuit breakers (2)
- Dentist chair
- Raised ship
- fireplace close/open
- constellation panels
- roof of temple for return
+ fireplace puzzle
+ bookshelf close?
+ book?
+ atrus at end
+ Dentist chair
+ Raise ship
ending:
+ all endings
+ Fireplace: 8x6 grid
+ Readable books
+ Tower rotation
MECHE age:
+ Everything in age
+ can poke around more stuff in their rooms
SELENA age:
+ optional mockingboard sound for keyboard?
+ Complicated age with sounds
+ That whole rediculous underground cart sequence
+ turn around and look back in tunnel
+ whole way to tower thing
+ implement enough to get pages
Tree age:
+ Tree puzzle
@ -107,12 +50,4 @@ Ending:
+ Allow looking at green book on shelf
+ Atrus at end -- hires?
+ Marker Switches (8):
* Dock
* Gears
* Dentist
* Pool
* Spaceship
* Clock
* Cabin
* Generator

View File

@ -35,12 +35,18 @@ octagon_graphics.inc: \
tower_book_s.lzsa tower_book_n.lzsa tower_book_e.lzsa tower_book_w.lzsa \
tower_book_ladder_s.lzsa tower_book_ladder_n.lzsa \
tower_book_view_n.lzsa \
tower_book_view_blank_s.lzsa tower_book_view_ship_s.lzsa \
tower_book_view_blank_s.lzsa \
tower_book_view_ship_up_s.lzsa tower_book_view_ship_down_s.lzsa \
tower_book_view_gears_closed_s.lzsa tower_book_view_gears_open_s.lzsa \
tower_book_view_tree_s.lzsa \
tower_book_view_rocket_s.lzsa \
tower_key_n.lzsa tower_key_s.lzsa tower_key_e.lzsa tower_key_w.lzsa \
tower_left_n.lzsa tower_left_s.lzsa \
tower_right_n.lzsa tower_right_s.lzsa \
tower_key_ladder_n.lzsa tower_key_ladder_s.lzsa \
tower_key_view_blank_n.lzsa tower_key_view_s.lzsa \
tower_key_view_rocket_hint_n.lzsa tower_key_view_dock_hint_n.lzsa \
tower_key_view_gears_hint_n.lzsa tower_key_view_tree_hint_n.lzsa \
elevator_door_closed_s.lzsa \
elevator_dark_s.lzsa
echo "temple_door_n_lzsa: .incbin \"temple_door_n.lzsa\"" > octagon_graphics.inc
@ -88,7 +94,12 @@ octagon_graphics.inc: \
echo "tower_book_ladder_n_lzsa: .incbin \"tower_book_ladder_n.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_n_lzsa: .incbin \"tower_book_view_n.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_blank_s_lzsa: .incbin \"tower_book_view_blank_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_ship_s_lzsa: .incbin \"tower_book_view_ship_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_ship_down_s_lzsa: .incbin \"tower_book_view_ship_down_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_ship_up_s_lzsa: .incbin \"tower_book_view_ship_up_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_gears_open_s_lzsa: .incbin \"tower_book_view_gears_open_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_gears_closed_s_lzsa: .incbin \"tower_book_view_gears_closed_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_rocket_s_lzsa: .incbin \"tower_book_view_rocket_s.lzsa\"" >> octagon_graphics.inc
echo "tower_book_view_tree_s_lzsa: .incbin \"tower_book_view_tree_s.lzsa\"" >> octagon_graphics.inc
echo "tower_key_n_lzsa: .incbin \"tower_key_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_s_lzsa: .incbin \"tower_key_s.lzsa\"" >> octagon_graphics.inc
echo "tower_key_e_lzsa: .incbin \"tower_key_e.lzsa\"" >> octagon_graphics.inc
@ -100,6 +111,10 @@ octagon_graphics.inc: \
echo "tower_key_ladder_n_lzsa: .incbin \"tower_key_ladder_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_ladder_s_lzsa: .incbin \"tower_key_ladder_s.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_blank_n_lzsa: .incbin \"tower_key_view_blank_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_rocket_hint_n_lzsa: .incbin \"tower_key_view_rocket_hint_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_gears_hint_n_lzsa: .incbin \"tower_key_view_gears_hint_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_tree_hint_n_lzsa: .incbin \"tower_key_view_tree_hint_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_dock_hint_n_lzsa: .incbin \"tower_key_view_dock_hint_n.lzsa\"" >> octagon_graphics.inc
echo "tower_key_view_s_lzsa: .incbin \"tower_key_view_s.lzsa\"" >> octagon_graphics.inc
echo "elevator_door_closed_s_lzsa: .incbin \"elevator_door_closed_s.lzsa\"" >> octagon_graphics.inc
echo "elevator_dark_s_lzsa: .incbin \"elevator_dark_s.lzsa\"" >> octagon_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -53,6 +53,8 @@ init_state:
sta TOWER_ROTATION
sta SHIP_RAISED
lda #$ff ; for debugging
sta MARKER_SWITCHES

View File

@ -1,3 +1,125 @@
;=========================
; change rotation
;=========================
; in theory should use a lighter/darker background
; in some of the far views depending if view is outside
change_rotation:
ldx #LOCATION_NORTH_BG
ldy #LOCATION_SOUTH_BG
lda TOWER_ROTATION
cmp #ROTATION_GEARS
beq rotate_gears
cmp #ROTATION_DOCK
beq rotate_dock
cmp #ROTATION_TREE
beq rotate_tree
cmp #ROTATION_SPACESHIP
beq rotate_spaceship
rotate_blank:
; change key view
lda #<tower_key_view_blank_n_lzsa
sta location26,X
lda #>tower_key_view_blank_n_lzsa
sta location26+1,X
; change outside view
lda #<tower_book_view_blank_s_lzsa
sta location21,Y
lda #>tower_book_view_blank_s_lzsa
sta location21+1,Y
rts
rotate_gears:
; change key view
lda #<tower_key_view_gears_hint_n_lzsa
sta location26,X
lda #>tower_key_view_gears_hint_n_lzsa
sta location26+1,X
lda GEAR_OPEN
bne rotate_gear_open
rotate_gear_closed:
; change outside view
lda #<tower_book_view_gears_closed_s_lzsa
sta location21,Y
lda #>tower_book_view_gears_closed_s_lzsa
sta location21+1,Y
rts
rotate_gear_open:
; change outside view
lda #<tower_book_view_gears_open_s_lzsa
sta location21,Y
lda #>tower_book_view_gears_open_s_lzsa
sta location21+1,Y
rts
rotate_dock:
; change key view
lda #<tower_key_view_dock_hint_n_lzsa
sta location26,X
lda #>tower_key_view_dock_hint_n_lzsa
sta location26+1,X
lda SHIP_RAISED
beq rotate_ship_down
rotate_ship_up:
; change outside view
lda #<tower_book_view_ship_up_s_lzsa
sta location21,Y
lda #>tower_book_view_ship_up_s_lzsa
sta location21+1,Y
rts
rotate_ship_down:
; change outside view
lda #<tower_book_view_ship_down_s_lzsa
sta location21,Y
lda #>tower_book_view_ship_down_s_lzsa
sta location21+1,Y
rts
rotate_tree:
; change key view
lda #<tower_key_view_tree_hint_n_lzsa
sta location26,X
lda #>tower_key_view_tree_hint_n_lzsa
sta location26+1,X
; change outside view
lda #<tower_book_view_tree_s_lzsa
sta location21,Y
lda #>tower_book_view_tree_s_lzsa
sta location21+1,Y
rts
rotate_spaceship:
; change key view
lda #<tower_key_view_rocket_hint_n_lzsa
sta location26,X
lda #>tower_key_view_rocket_hint_n_lzsa
sta location26+1,X
; change outside view
lda #<tower_book_view_rocket_s_lzsa
sta location21,Y
lda #>tower_book_view_rocket_s_lzsa
sta location21+1,Y
rts
;=========================
;=========================
; elevator button pressed
@ -200,16 +322,6 @@ actually_close_shelf:
rts
; TOWER ROTATION HINTS
; DOCK
; OCTOBER 11, 1984 10:04 AM
; JANUARY 17, 1207 5:46 AM
; NOVEMBER 23, 9791 6:57 PM
;=============================
; swirl the shelf picture frame
;=============================
@ -1056,3 +1168,45 @@ elevator_window_right5_sprite:
.byte $77,$55,$00,$55,$55
; TOWER ROTATION HINTS
; ROCKET
; 59
; BB
;19-> 59
; 6FC43
; DCCDD
;18-> VOLTS
; TREE
; 7C2C4
; BABAB
;17-> 7,2,4
; GEARS
; 2A40
; BBBB
; 18-> 2:40
; 2C2C1
; BABAB
; 18-> 2,2,1
; 429 81E4C5 2F44FD
; DDD CCCCCC CCDDCC
; 11-> TRY HANDLE BOTTOM
; DOCK
; F34F252 11C 1984 10A04 1D
; CCDCCCD BBA BBBB BBBBB CC
; 7-> OCTOBER 11, 1984 10:04 AM
;
; A1E5129 17C 1207 5A46 1D
; CCCDCDD BBA BBBB BBBB CC
; JANUARY 17, 1207 5:46 AM
;
; EF65D252 23C 9791 6A57 0D
; CCDCCCCD BBA BBBB BBBB DC
; NOVEMBER 23, 9791 6:57 PM

View File

@ -13,6 +13,8 @@ rotate_tower:
done_rotate_tower:
sty TOWER_ROTATION
jsr change_rotation
rts
@ -124,9 +126,9 @@ white_line:
color_good:
stx plot_color+1
; get initial position (30 x 20)
; get initial position (29 x 20)
ldy #(30*2)
ldy #(29*2)
sty CH
lda #(20*4)

View File

@ -125,6 +125,7 @@ TOWER_ROTATION = $AB
ROTATION_DOCK = 3
ROTATION_TREE = 4
ROTATION_SPACESHIP = 8
SHIP_RAISED = $AC
; done game puzzle state