mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-07 08:30:20 +00:00
mist: add animations for the circuit breakers
This commit is contained in:
parent
aba8443d22
commit
9295bb91de
|
@ -70,6 +70,11 @@ game_loop:
|
|||
|
||||
; handle generator puzzle
|
||||
lda LOCATION
|
||||
cmp #GEN_TOWER1_TOP
|
||||
bne location_generator
|
||||
jsr draw_circuit_breaker
|
||||
jmp nothing_special
|
||||
|
||||
location_generator:
|
||||
cmp #GEN_GENERATOR_ROOM
|
||||
bne nothing_special
|
||||
|
|
|
@ -29,6 +29,38 @@ back_to_mist:
|
|||
rts
|
||||
|
||||
|
||||
draw_circuit_breaker:
|
||||
lda ANIMATE_FRAME
|
||||
beq done_draw_circuit_breaker
|
||||
|
||||
lda #17
|
||||
sta XPOS
|
||||
lda #12
|
||||
sta YPOS
|
||||
|
||||
lda #<breaker_down_sprite
|
||||
sta INL
|
||||
lda #>breaker_down_sprite
|
||||
sta INH
|
||||
|
||||
jsr put_sprite_crop
|
||||
|
||||
lda FRAMEL
|
||||
and #$1f
|
||||
bne done_draw_circuit_breaker
|
||||
|
||||
dec ANIMATE_FRAME
|
||||
|
||||
done_draw_circuit_breaker:
|
||||
rts
|
||||
|
||||
|
||||
breaker_down_sprite:
|
||||
.byte 3,2
|
||||
.byte $90,$0f,$90
|
||||
.byte $69,$65,$69
|
||||
|
||||
|
||||
;=======================
|
||||
; flip circuit breaker
|
||||
|
||||
|
@ -39,6 +71,9 @@ circuit_breaker:
|
|||
|
||||
jsr click_speaker ; click speaker
|
||||
|
||||
lda #2
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
lda LOCATION
|
||||
cmp #MIST_TOWER2_TOP
|
||||
bne other_circuit_breaker
|
||||
|
|
17
mist/mist.s
17
mist/mist.s
|
@ -81,22 +81,31 @@ game_loop:
|
|||
; handle special-case forground logic
|
||||
;====================================
|
||||
|
||||
|
||||
; handle marker switch drawing
|
||||
jsr draw_marker_switch
|
||||
|
||||
|
||||
; handle gear opening
|
||||
|
||||
lda GEAR_OPEN
|
||||
beq not_gear_related
|
||||
|
||||
jsr check_gear_delete
|
||||
|
||||
not_gear_related:
|
||||
; handle pillars
|
||||
|
||||
lda LOCATION
|
||||
|
||||
; handle circuit breaker
|
||||
cmp #MIST_TOWER2_TOP
|
||||
bne check_if_pillars
|
||||
|
||||
jsr draw_circuit_breaker
|
||||
jmp nothing_special
|
||||
|
||||
; handle pillars
|
||||
check_if_pillars:
|
||||
cmp #MIST_PILLAR_EYE
|
||||
bcc check_if_compartment_open
|
||||
bcc check_if_compartment_open ; hack, depends on order
|
||||
|
||||
jsr draw_pillar
|
||||
|
||||
|
|
|
@ -470,6 +470,37 @@ done_pillar:
|
|||
|
||||
|
||||
|
||||
draw_circuit_breaker:
|
||||
lda ANIMATE_FRAME
|
||||
beq done_draw_circuit_breaker
|
||||
|
||||
lda #18
|
||||
sta XPOS
|
||||
lda #12
|
||||
sta YPOS
|
||||
|
||||
lda #<breaker_down_sprite
|
||||
sta INL
|
||||
lda #>breaker_down_sprite
|
||||
sta INH
|
||||
|
||||
jsr put_sprite_crop
|
||||
|
||||
lda FRAMEL
|
||||
and #$1f
|
||||
bne done_draw_circuit_breaker
|
||||
dec ANIMATE_FRAME
|
||||
|
||||
done_draw_circuit_breaker:
|
||||
rts
|
||||
|
||||
|
||||
breaker_down_sprite:
|
||||
.byte 4,3
|
||||
.byte $00,$ff,$00,$ff
|
||||
.byte $99,$77,$77,$99
|
||||
.byte $69,$67,$67,$69
|
||||
|
||||
;=======================
|
||||
; flip circuit breaker
|
||||
|
||||
|
@ -480,6 +511,9 @@ circuit_breaker:
|
|||
|
||||
jsr click_speaker ; click speaker
|
||||
|
||||
lda #2
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
lda LOCATION
|
||||
cmp #MIST_TOWER2_TOP
|
||||
bne other_circuit_breaker
|
||||
|
|
Loading…
Reference in New Issue
Block a user