mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-28 06:30:18 +00:00
mist: can link through to selena now
This commit is contained in:
parent
e1f9eb7679
commit
ffed306271
Binary file not shown.
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 13 KiB |
BIN
mist/graphics_selena/spaceship_door_s.png
Normal file
BIN
mist/graphics_selena/spaceship_door_s.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 10 KiB |
@ -33,7 +33,7 @@ LOCATION_SPECIAL_FUNC=22 ; pointer-1 of function to call on click
|
||||
|
||||
|
||||
locations:
|
||||
.word location0, location1, location2
|
||||
.word location0, location1, location2, location3
|
||||
|
||||
|
||||
; Inside Ship
|
||||
@ -96,4 +96,21 @@ location2:
|
||||
.word organ_pressed-1 ; special function
|
||||
|
||||
|
||||
; walkway1
|
||||
location3:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word walkway1_n_lzsa ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH
|
||||
.byte $ff
|
||||
|
||||
|
||||
|
@ -4,15 +4,64 @@
|
||||
|
||||
dome_pressed:
|
||||
|
||||
lda ANIMATE_FRAME
|
||||
cmp #13
|
||||
bcs dome_press_second ; bge
|
||||
|
||||
dome_press_first:
|
||||
|
||||
; open book and look at flyover
|
||||
|
||||
lda #13
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
rts
|
||||
|
||||
dome_press_second:
|
||||
|
||||
; link through!
|
||||
|
||||
lda #0
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
; disable the organ and controls
|
||||
ldy #LOCATION_SPECIAL_EXIT
|
||||
lda #$ff
|
||||
sta location1,Y
|
||||
sta location2,Y
|
||||
|
||||
; re-route door to selena
|
||||
ldy #LOCATION_NORTH_EXIT
|
||||
lda #3
|
||||
sta location0,Y
|
||||
ldy #LOCATION_NORTH_EXIT_DIR
|
||||
lda #DIRECTION_N
|
||||
sta location0,Y
|
||||
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda #<spaceship_inside_selena_n_lzsa
|
||||
sta location0,Y
|
||||
lda #>spaceship_inside_selena_n_lzsa
|
||||
sta location0+1,Y
|
||||
|
||||
|
||||
; clear screen
|
||||
lda #0
|
||||
sta clear_all_color+1
|
||||
|
||||
jsr clear_all
|
||||
jsr page_flip
|
||||
|
||||
; play sound effect?
|
||||
|
||||
lda #<audio_link_noise
|
||||
sta BTC_L
|
||||
lda #>audio_link_noise
|
||||
sta BTC_H
|
||||
ldx #43 ; 45 pages long???
|
||||
jsr play_audio
|
||||
|
||||
|
||||
rts
|
||||
|
||||
|
||||
@ -402,11 +451,38 @@ draw_handle_buttons_outer_loop:
|
||||
bne done_checking_code
|
||||
|
||||
correct_code:
|
||||
|
||||
; start animation
|
||||
|
||||
lda #1
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
; FIXME: remap special to be dome
|
||||
; also switch to not point?
|
||||
; move action to dome
|
||||
|
||||
ldy #LOCATION_SPECIAL_X1
|
||||
lda #15
|
||||
sta location1+0,Y
|
||||
lda #24
|
||||
sta location1+1,Y
|
||||
lda #2
|
||||
sta location1+2,Y
|
||||
lda #18
|
||||
sta location1+3,Y
|
||||
|
||||
; also switch to not point
|
||||
|
||||
ldy #LOCATION_EAST_EXIT_DIR
|
||||
lda #DIRECTION_E
|
||||
sta location0,Y
|
||||
sta DIRECTION
|
||||
|
||||
; change action
|
||||
ldy #LOCATION_SPECIAL_FUNC
|
||||
lda #<(dome_pressed-1)
|
||||
sta location1,Y
|
||||
lda #>(dome_pressed-1)
|
||||
sta location1+1,Y
|
||||
|
||||
; yes, I think in real life you can mess with sliders after
|
||||
; you activate book, but not sure it's worth trouble of doing
|
||||
; that in our version
|
||||
@ -415,156 +491,6 @@ done_checking_code:
|
||||
|
||||
rts
|
||||
|
||||
.if 0
|
||||
|
||||
open_gen_door:
|
||||
|
||||
ldy #LOCATION_NORTH_EXIT
|
||||
lda #36
|
||||
sta location35,Y
|
||||
|
||||
ldy #LOCATION_NORTH_EXIT_DIR
|
||||
lda #(DIRECTION_N | DIRECTION_SPLIT | DIRECTION_ONLY_POINT)
|
||||
sta location35,Y
|
||||
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda #<gen_door_open_n_lzsa
|
||||
sta location35,Y
|
||||
lda #>gen_door_open_n_lzsa
|
||||
sta location35+1,Y
|
||||
|
||||
jsr change_location
|
||||
|
||||
rts
|
||||
|
||||
|
||||
button_lookup:
|
||||
.byte $10,$8,$4,$2,$1
|
||||
|
||||
button_values_top:
|
||||
.byte $01,$02,$22,$19,$09 ; BCD
|
||||
button_values_bottom:
|
||||
.byte $10,$07,$08,$16,$05 ; BCD
|
||||
|
||||
needle_strings:
|
||||
.byte '\'|$80,' '|$80,' '|$80,' '|$80
|
||||
.byte ' '|$80,':'|$80,' '|$80,' '|$80
|
||||
.byte ' '|$80,' '|$80,':'|$80,' '|$80
|
||||
.byte ' '|$80,' '|$80,' '|$80,'/'|$80
|
||||
|
||||
;============================
|
||||
; handle button presses
|
||||
;============================
|
||||
|
||||
generator_button_press:
|
||||
|
||||
lda CURSOR_Y
|
||||
cmp #38
|
||||
bcs button_bottom_row ; bge
|
||||
|
||||
button_top_row:
|
||||
|
||||
lda CURSOR_X
|
||||
sec
|
||||
sbc #24
|
||||
lsr
|
||||
bmi done_press
|
||||
cmp #5
|
||||
bcs done_press ; bge
|
||||
|
||||
tax
|
||||
lda SWITCH_TOP_ROW
|
||||
eor button_lookup,X ; toggle switch
|
||||
sta SWITCH_TOP_ROW
|
||||
|
||||
jmp done_press
|
||||
|
||||
button_bottom_row:
|
||||
|
||||
lda CURSOR_X
|
||||
sec
|
||||
sbc #25
|
||||
lsr
|
||||
bmi done_press
|
||||
cmp #5
|
||||
bcs done_press ; bge
|
||||
|
||||
tax
|
||||
lda SWITCH_BOTTOM_ROW
|
||||
eor button_lookup,X ; toggle switch
|
||||
sta SWITCH_BOTTOM_ROW
|
||||
no_bottom_press:
|
||||
|
||||
done_press:
|
||||
|
||||
|
||||
calculate_button_totals:
|
||||
|
||||
lda #0
|
||||
sta ROCKET_VOLTS
|
||||
sta GENERATOR_VOLTS
|
||||
tax
|
||||
|
||||
calc_buttons_loop:
|
||||
|
||||
; top button
|
||||
|
||||
lda SWITCH_TOP_ROW
|
||||
and button_lookup,X
|
||||
beq ctop_button_off
|
||||
|
||||
ctop_button_on:
|
||||
sed
|
||||
clc
|
||||
lda GENERATOR_VOLTS
|
||||
adc button_values_top,X
|
||||
sta GENERATOR_VOLTS
|
||||
cld
|
||||
|
||||
ctop_button_off:
|
||||
|
||||
lda SWITCH_BOTTOM_ROW
|
||||
and button_lookup,X
|
||||
beq cbottom_button_off
|
||||
|
||||
cbottom_button_on:
|
||||
sed
|
||||
clc
|
||||
lda GENERATOR_VOLTS
|
||||
adc button_values_bottom,X
|
||||
sta GENERATOR_VOLTS
|
||||
cld
|
||||
|
||||
cbottom_button_off:
|
||||
|
||||
inx
|
||||
cpx #5
|
||||
bne calc_buttons_loop
|
||||
|
||||
; calculate rocket volts
|
||||
lda BREAKER_TRIPPED
|
||||
bne done_rocket_volts
|
||||
|
||||
lda GENERATOR_VOLTS
|
||||
cmp #$59
|
||||
bcs oops_flipped
|
||||
|
||||
sta ROCKET_VOLTS
|
||||
jmp done_rocket_volts
|
||||
|
||||
oops_flipped:
|
||||
lda #$3
|
||||
sta BREAKER_TRIPPED
|
||||
|
||||
done_rocket_volts:
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
|
||||
selena_movie:
|
||||
; static
|
||||
@ -574,7 +500,11 @@ selena_movie:
|
||||
; book
|
||||
.word book1_sprite,book2_sprite,book3_sprite,book4_sprite
|
||||
; flyover
|
||||
|
||||
.word static3_sprite
|
||||
.word flyover1_sprite,flyover2_sprite,flyover3_sprite
|
||||
.word flyover4_sprite,flyover5_sprite,flyover6_sprite
|
||||
.word flyover7_sprite,flyover8_sprite,flyover9_sprite
|
||||
.word flyover10_sprite
|
||||
|
||||
static1_sprite:
|
||||
.byte 6,8
|
||||
@ -654,3 +584,114 @@ book4_sprite:
|
||||
.byte $00,$66,$61,$70,$0f,$00
|
||||
.byte $80,$00,$06,$07,$00,$88
|
||||
|
||||
flyover1_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$EE,$EE,$E0,$00
|
||||
.byte $50,$55,$5E,$EE,$EE,$E0
|
||||
.byte $55,$55,$55,$EE,$EE,$EE
|
||||
.byte $85,$85,$85,$85,$6e,$6e
|
||||
.byte $88,$88,$88,$88,$88,$66
|
||||
.byte $00,$68,$66,$66,$08,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover2_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$EE,$EE,$E0,$00
|
||||
.byte $50,$ee,$ee,$EE,$EE,$E0
|
||||
.byte $55,$5e,$55,$EE,$EE,$EE
|
||||
.byte $85,$65,$65,$6e,$6e,$6e
|
||||
.byte $88,$86,$66,$66,$66,$66
|
||||
.byte $00,$68,$66,$66,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover3_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$EE,$EE,$E0,$00
|
||||
.byte $e0,$ee,$ee,$EE,$EE,$E0
|
||||
.byte $55,$5e,$ee,$EE,$EE,$EE
|
||||
.byte $85,$65,$6e,$6e,$6e,$6e
|
||||
.byte $68,$66,$66,$66,$66,$66
|
||||
.byte $00,$66,$66,$66,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover4_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$EE,$EE,$E0,$00
|
||||
.byte $e0,$ee,$ee,$EE,$88,$E0
|
||||
.byte $ee,$ee,$ee,$EE,$88,$EE
|
||||
.byte $85,$6e,$6e,$6e,$68,$6e
|
||||
.byte $66,$66,$66,$66,$66,$66
|
||||
.byte $00,$66,$66,$66,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover5_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$EE,$EE,$E0,$00
|
||||
.byte $e0,$ee,$8e,$EE,$55,$E0
|
||||
.byte $ee,$8e,$88,$5e,$55,$88
|
||||
.byte $6e,$68,$68,$6e,$65,$68
|
||||
.byte $66,$66,$66,$66,$66,$66
|
||||
.byte $00,$66,$66,$66,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover6_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$8E,$EE,$E0,$00
|
||||
.byte $e0,$ee,$88,$55,$88,$E0
|
||||
.byte $ee,$88,$88,$55,$88,$05
|
||||
.byte $66,$88,$66,$65,$68,$66
|
||||
.byte $66,$66,$66,$66,$66,$66
|
||||
.byte $00,$66,$66,$66,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover7_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$E0,$eE,$98,$E0,$00
|
||||
.byte $90,$ee,$ee,$89,$ee,$E0
|
||||
.byte $98,$88,$ee,$99,$ee,$8e
|
||||
.byte $98,$88,$65,$99,$8e,$88
|
||||
.byte $66,$68,$66,$99,$66,$68
|
||||
.byte $00,$66,$66,$89,$06,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
flyover8_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$80,$8E,$8e,$90,$00
|
||||
.byte $e0,$e8,$88,$99,$99,$E0
|
||||
.byte $88,$ee,$99,$99,$9e,$ee
|
||||
.byte $88,$55,$89,$99,$99,$8e
|
||||
.byte $88,$55,$88,$89,$99,$88
|
||||
.byte $00,$55,$88,$88,$09,$00
|
||||
.byte $80,$00,$08,$08,$00,$88
|
||||
|
||||
flyover9_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$e0,$ee,$ee,$e0,$00
|
||||
.byte $e0,$ee,$ee,$ee,$8e,$E0
|
||||
.byte $ee,$ee,$ee,$ee,$88,$ee
|
||||
.byte $ee,$ee,$ee,$ee,$88,$ee
|
||||
.byte $55,$5e,$88,$55,$88,$88
|
||||
.byte $00,$55,$55,$66,$06,$00
|
||||
.byte $80,$00,$05,$05,$00,$88
|
||||
|
||||
flyover10_sprite:
|
||||
.byte 6,8
|
||||
.byte $08,$00,$00,$00,$08,$88
|
||||
.byte $00,$e0,$ee,$ee,$e0,$00
|
||||
.byte $e0,$ee,$ee,$ee,$ee,$E0
|
||||
.byte $ee,$ee,$ee,$ee,$ee,$ee
|
||||
.byte $ee,$ee,$ee,$ee,$ee,$ee
|
||||
.byte $66,$6e,$6e,$ee,$8e,$ee
|
||||
.byte $00,$11,$11,$66,$08,$00
|
||||
.byte $80,$00,$06,$06,$00,$88
|
||||
|
||||
|
||||
|
@ -108,6 +108,15 @@ game_loop:
|
||||
|
||||
inc ANIMATE_FRAME
|
||||
lda ANIMATE_FRAME
|
||||
|
||||
animate_check_high:
|
||||
cmp #23
|
||||
bne animate_check_low
|
||||
lda #13
|
||||
sta ANIMATE_FRAME
|
||||
bne done_animate_book ; bra
|
||||
|
||||
animate_check_low:
|
||||
cmp #13
|
||||
bne done_animate_book
|
||||
lda #9
|
||||
|
Loading…
x
Reference in New Issue
Block a user