mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-05 21:34:30 +00:00
mist: viewer: add another step, add views of ship
also fix bug in mist where first background drawn befor updating bgs
This commit is contained in:
parent
0d6b366520
commit
e05ea0e865
11
mist/TODO
11
mist/TODO
@ -3,11 +3,10 @@ For release 1.0
|
||||
+ LOADER
|
||||
-- save game
|
||||
-- joystick support
|
||||
-- ^T to toggle sound
|
||||
|
||||
+ MIST
|
||||
-- make sure gear opening looks OK with new art
|
||||
-- open door to clock puzzle?
|
||||
-- only allow entering ship if it's up
|
||||
|
||||
+ OCTAGON
|
||||
-- load "red page" sound into LC and play it?
|
||||
@ -31,16 +30,16 @@ For release 1.0
|
||||
+ NIBEL
|
||||
-- turn on sprite crop in the viewer part
|
||||
|
||||
+ DNI
|
||||
-- add good ending
|
||||
linking book to MYST
|
||||
+ VIEWER
|
||||
-- have ship up background if ship up
|
||||
|
||||
|
||||
Done:
|
||||
+ CABIN
|
||||
+ DENTIST
|
||||
+ DNI
|
||||
+ MECHE
|
||||
+ MIST_TITLE
|
||||
+ VIEWER
|
||||
+ ARBOR
|
||||
+ SHIP
|
||||
|
||||
|
@ -259,10 +259,11 @@ SELENA_BUNKER_KEYPAD = 49
|
||||
|
||||
; Viewer Room
|
||||
|
||||
VIEWER_STEPS = 0
|
||||
VIEWER_POOL = 1
|
||||
VIEWER_POOL_CLOSE = 2
|
||||
VIEWER_CONTROL_PANEL = 3
|
||||
VIEWER_ENTRANCE = 0
|
||||
VIEWER_STEPS = 1
|
||||
VIEWER_POOL = 2
|
||||
VIEWER_POOL_CLOSE = 3
|
||||
VIEWER_CONTROL_PANEL = 4
|
||||
|
||||
; Ship
|
||||
SHIP_STERN = 0
|
||||
|
@ -12,13 +12,21 @@ viewer_graphics.inc: \
|
||||
viewer_e.lzsa viewer_w.lzsa \
|
||||
viewer_far_w.lzsa \
|
||||
viewer_stairs_e.lzsa viewer_stairs_w.lzsa \
|
||||
viewer_controls_e.lzsa
|
||||
viewer_stairs_ship_e.lzsa \
|
||||
viewer_controls_e.lzsa \
|
||||
viewer_entrance_e.lzsa viewer_entrance_ship_e.lzsa \
|
||||
viewer_entrance_w.lzsa
|
||||
echo "viewer_e_lzsa: .incbin \"viewer_e.lzsa\"" > viewer_graphics.inc
|
||||
echo "viewer_far_w_lzsa: .incbin \"viewer_far_w.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_w_lzsa: .incbin \"viewer_w.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_stairs_e_lzsa: .incbin \"viewer_stairs_e.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_stairs_ship_e_lzsa: .incbin \"viewer_stairs_ship_e.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_stairs_w_lzsa: .incbin \"viewer_stairs_w.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_controls_e_lzsa: .incbin \"viewer_controls_e.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_entrance_e_lzsa: .incbin \"viewer_entrance_e.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_entrance_ship_e_lzsa: .incbin \"viewer_entrance_ship_e.lzsa\"" >> viewer_graphics.inc
|
||||
echo "viewer_entrance_w_lzsa: .incbin \"viewer_entrance_w.lzsa\"" >> viewer_graphics.inc
|
||||
|
||||
|
||||
|
||||
%.gr: %.png
|
||||
|
BIN
mist/graphics_viewer/viewer_entrance_e.png
Normal file
BIN
mist/graphics_viewer/viewer_entrance_e.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
mist/graphics_viewer/viewer_entrance_ship_e.png
Normal file
BIN
mist/graphics_viewer/viewer_entrance_ship_e.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 852 B |
BIN
mist/graphics_viewer/viewer_entrance_w.png
Normal file
BIN
mist/graphics_viewer/viewer_entrance_w.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 838 B |
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
BIN
mist/graphics_viewer/viewer_stairs_ship_e.png
Normal file
BIN
mist/graphics_viewer/viewer_stairs_ship_e.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
@ -5,12 +5,33 @@
|
||||
|
||||
locations:
|
||||
.word location0, location1, location2, location3
|
||||
.word location4
|
||||
|
||||
; VIEWER_STEPS -- steps
|
||||
; VIEWER_ENTRANCE -- top of steps
|
||||
location0:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte VIEWER_STEPS ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_E ; east exit_dir
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word viewer_entrance_e_lzsa ; east bg
|
||||
.word viewer_entrance_w_lzsa ; west bg
|
||||
.byte BG_WEST | BG_EAST
|
||||
.byte DIRECTION_E ; special exit
|
||||
.byte 9,29 ; special x
|
||||
.byte 2,46 ; special y
|
||||
.word back_to_mist-1 ; special function
|
||||
|
||||
; VIEWER_STEPS -- steps
|
||||
location1:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte VIEWER_ENTRANCE ; east exit
|
||||
.byte VIEWER_POOL ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
@ -21,13 +42,10 @@ location0:
|
||||
.word viewer_stairs_e_lzsa ; east bg
|
||||
.word viewer_stairs_w_lzsa ; west bg
|
||||
.byte BG_WEST | BG_EAST
|
||||
.byte DIRECTION_E ; special exit
|
||||
.byte 9,29 ; special x
|
||||
.byte 2,46 ; special y
|
||||
.word back_to_mist-1 ; special function
|
||||
.byte $ff ; special exit
|
||||
|
||||
; VIEWER_POOL -- the viewer far
|
||||
location1:
|
||||
location2:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte VIEWER_STEPS ; east exit
|
||||
@ -47,7 +65,7 @@ location1:
|
||||
.word enter_control_panel-1 ; special function
|
||||
|
||||
; VIEWER_POOL_CLOSE -- the viewer close
|
||||
location2:
|
||||
location3:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
@ -69,7 +87,7 @@ location2:
|
||||
|
||||
|
||||
; VIEWER_CONTROL_PANEL -- the viewer control panel
|
||||
location3:
|
||||
location4:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte VIEWER_POOL ; east exit
|
||||
|
16
mist/mist.s
16
mist/mist.s
@ -44,13 +44,6 @@ mist_start:
|
||||
sta CURSOR_X
|
||||
sta CURSOR_Y
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
|
||||
lda #1
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
||||
; init the clock bridge
|
||||
jsr raise_bridge
|
||||
|
||||
@ -58,8 +51,15 @@ mist_start:
|
||||
jsr open_the_gear
|
||||
|
||||
; make the ship right
|
||||
|
||||
jsr adjust_ship
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
|
||||
lda #1
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
||||
game_loop:
|
||||
;=================
|
||||
@ -244,7 +244,7 @@ goto_dentist:
|
||||
|
||||
enter_viewer:
|
||||
|
||||
lda #VIEWER_STEPS
|
||||
lda #VIEWER_ENTRANCE
|
||||
sta LOCATION
|
||||
|
||||
lda #LOAD_VIEWER
|
||||
|
@ -86,9 +86,10 @@ make_ship_up:
|
||||
|
||||
lda #<dock_shipup_e_lzsa
|
||||
sta location0,Y ; MIST_ARRIVAL_DOCK
|
||||
sta location30,Y ; MIST_VIEWER_DOOR
|
||||
lda #>dock_shipup_e_lzsa
|
||||
sta location0+1,Y ; MIST_ARRIVAL_DOCK
|
||||
|
||||
sta location30+1,Y ; MIST_VIEWER_DOOR
|
||||
|
||||
|
||||
; FIXME: hook up exit on dock to ship
|
||||
@ -171,8 +172,10 @@ make_ship_down:
|
||||
|
||||
lda #<dock_e_lzsa
|
||||
sta location0,Y ; MIST_ARRIVAL_DOCK
|
||||
sta location30,Y ; MIST_VIEWER_DOOR
|
||||
lda #>dock_e_lzsa
|
||||
sta location0+1,Y ; MIST_ARRIVAL_DOCK
|
||||
sta location30+1,Y ; MIST_VIEWER_DOOR
|
||||
|
||||
; FIXME: remove exit on dock to ship
|
||||
|
||||
|
@ -40,6 +40,9 @@ viewer_start:
|
||||
sta CURSOR_X
|
||||
sta CURSOR_Y
|
||||
|
||||
; set up ship backgrounds
|
||||
jsr setup_backgrounds
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
@ -152,6 +155,28 @@ back_to_mist:
|
||||
rts
|
||||
|
||||
|
||||
; handle ship up or down
|
||||
setup_backgrounds:
|
||||
|
||||
lda SHIP_RAISED
|
||||
beq done_raised
|
||||
|
||||
ldy #LOCATION_EAST_BG
|
||||
|
||||
lda #<viewer_entrance_ship_e_lzsa
|
||||
sta location0,Y ; VIEWER_ENTRANCE
|
||||
lda #>viewer_entrance_ship_e_lzsa
|
||||
sta location0+1,Y ; VIEWER_ENTRANCE
|
||||
|
||||
lda #<viewer_stairs_ship_e_lzsa
|
||||
sta location1,Y ; VIEWER_SHIP
|
||||
lda #>viewer_stairs_ship_e_lzsa
|
||||
sta location1+1,Y ; VIEWER_SHIP
|
||||
|
||||
done_raised:
|
||||
rts
|
||||
|
||||
|
||||
;==========================
|
||||
; includes
|
||||
;==========================
|
||||
|
Loading…
x
Reference in New Issue
Block a user