mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-27 15:29:47 +00:00
ootw: move collapsing in with the general physicist movement
also had to mirrow the physicist collapse sprite (was right rather than left)
This commit is contained in:
parent
254918abfa
commit
4bde4adff2
@ -23,7 +23,7 @@ OOTW: ootw.o
|
||||
|
||||
ootw.o: ootw.s \
|
||||
gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s gr_putsprite.s \
|
||||
gr_make_quake.s \
|
||||
gr_make_quake.s zp.inc \
|
||||
keyboard.s sluggy.s \
|
||||
ootw_rope.s earthquake.s ootw_mesa.s \
|
||||
ootw_pool.s ootw_cavern.s physicist.s random16.s \
|
||||
|
@ -26,6 +26,7 @@ pool:
|
||||
cavern:
|
||||
+ slugs on ceiling drop
|
||||
+ background of beast moving off
|
||||
+ adjust slug attack range
|
||||
|
||||
underwater:
|
||||
+ add arrival-underwater scene
|
||||
|
@ -4,8 +4,13 @@
|
||||
|
||||
handle_keypress:
|
||||
|
||||
lda PHYSICIST_STATE
|
||||
cmp #P_COLLAPSING ; ignore keypress if dying
|
||||
beq no_keypress
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bmi keypress ; 3
|
||||
no_keypress:
|
||||
|
||||
rts ; nothing pressed, return
|
||||
|
||||
|
@ -120,49 +120,49 @@ cavern_loop:
|
||||
;===============
|
||||
; handle slug death
|
||||
|
||||
lda SLUGDEATH
|
||||
beq still_alive
|
||||
; lda SLUGDEATH
|
||||
; beq still_alive
|
||||
|
||||
collapsing:
|
||||
lda SLUGDEATH_PROGRESS
|
||||
cmp #18
|
||||
bmi still_collapsing
|
||||
;collapsing:
|
||||
; lda SLUGDEATH_PROGRESS
|
||||
; cmp #18
|
||||
; bmi still_collapsing
|
||||
|
||||
really_dead:
|
||||
lda #$ff
|
||||
sta GAME_OVER
|
||||
jmp just_slugs
|
||||
;really_dead:
|
||||
; lda #$ff
|
||||
; sta GAME_OVER
|
||||
; jmp just_slugs
|
||||
|
||||
|
||||
still_collapsing:
|
||||
tax
|
||||
;still_collapsing:
|
||||
; tax
|
||||
|
||||
lda collapse_progression,X
|
||||
sta INL
|
||||
lda collapse_progression+1,X
|
||||
sta INH
|
||||
; lda collapse_progression,X
|
||||
; sta INL
|
||||
; lda collapse_progression+1,X
|
||||
; sta INH
|
||||
|
||||
lda PHYSICIST_X
|
||||
sta XPOS
|
||||
lda PHYSICIST_Y
|
||||
sec
|
||||
sbc EARTH_OFFSET
|
||||
sta YPOS
|
||||
; lda PHYSICIST_X
|
||||
; sta XPOS
|
||||
; lda PHYSICIST_Y
|
||||
; sec
|
||||
; sbc EARTH_OFFSET
|
||||
; sta YPOS
|
||||
|
||||
jsr put_sprite
|
||||
; jsr put_sprite
|
||||
|
||||
lda FRAMEL
|
||||
and #$1f
|
||||
bne no_collapse_progress
|
||||
; lda FRAMEL
|
||||
; and #$1f
|
||||
; bne no_collapse_progress
|
||||
|
||||
inc SLUGDEATH_PROGRESS
|
||||
inc SLUGDEATH_PROGRESS
|
||||
no_collapse_progress:
|
||||
; inc SLUGDEATH_PROGRESS
|
||||
; inc SLUGDEATH_PROGRESS
|
||||
;no_collapse_progress:
|
||||
|
||||
|
||||
jmp just_slugs
|
||||
; jmp just_slugs
|
||||
|
||||
still_alive:
|
||||
;still_alive:
|
||||
|
||||
;===============
|
||||
; check keyboard
|
||||
|
@ -352,70 +352,119 @@ crouch2:
|
||||
; your embrace, and my collapse
|
||||
|
||||
collapse_progression:
|
||||
.word collapse1
|
||||
.word collapse2
|
||||
.word collapse3
|
||||
.word collapse4
|
||||
.word collapse5
|
||||
.word collapse5 ; 6
|
||||
.word collapse5 ; 7
|
||||
.word collapse5 ; 8
|
||||
.word collapse5 ; 9
|
||||
.word collapse1 ; 00
|
||||
.word collapse2 ; 02
|
||||
.word collapse3 ; 04
|
||||
.word collapse4 ; 06
|
||||
.word collapse5 ; 08
|
||||
.word collapse5 ; 10
|
||||
.word collapse5 ; 12
|
||||
.word collapse5 ; 14
|
||||
.word collapse5 ; 16
|
||||
|
||||
collapse1:
|
||||
.byte $4,$8
|
||||
.byte $aa,$aa,$9a,$9a
|
||||
.byte $aa,$aa,$99,$ab
|
||||
.byte $aa,$aa,$0b,$aa
|
||||
.byte $aa,$aa,$bb,$aa
|
||||
.byte $aa,$aa,$bb,$aa
|
||||
.byte $aa,$aa,$44,$aa
|
||||
.byte $aa,$4a,$a4,$aa
|
||||
.byte $aa,$f4,$fa,$aa
|
||||
; .byte $aa,$aa,$9a,$9a
|
||||
; .byte $aa,$aa,$99,$ab
|
||||
; .byte $aa,$aa,$0b,$aa
|
||||
; .byte $aa,$aa,$bb,$aa
|
||||
; .byte $aa,$aa,$bb,$aa
|
||||
; .byte $aa,$aa,$44,$aa
|
||||
; .byte $aa,$4a,$a4,$aa
|
||||
; .byte $aa,$f4,$fa,$aa
|
||||
|
||||
.byte $9a,$9a,$aa,$aa
|
||||
.byte $ab,$99,$aa,$aa
|
||||
.byte $aa,$0b,$aa,$aa
|
||||
.byte $aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$aa,$aa
|
||||
.byte $aa,$44,$aa,$aa
|
||||
.byte $aa,$a4,$4a,$aa
|
||||
.byte $aa,$fa,$f4,$aa
|
||||
|
||||
|
||||
collapse2:
|
||||
.byte $5,$8
|
||||
; .byte $aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$99,$b9
|
||||
; .byte $aa,$aa,$aa,$b9,$ab
|
||||
; .byte $aa,$aa,$aa,$b0,$aa
|
||||
; .byte $aa,$aa,$00,$bb,$aa
|
||||
; .byte $aa,$4a,$44,$bb,$aa
|
||||
; .byte $4a,$a4,$aa,$ab,$aa
|
||||
; .byte $f4,$fa,$aa,$aa,$aa
|
||||
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$99,$b9
|
||||
.byte $aa,$aa,$aa,$b9,$ab
|
||||
.byte $aa,$aa,$aa,$b0,$aa
|
||||
.byte $aa,$aa,$00,$bb,$aa
|
||||
.byte $aa,$4a,$44,$bb,$aa
|
||||
.byte $4a,$a4,$aa,$ab,$aa
|
||||
.byte $f4,$fa,$aa,$aa,$aa
|
||||
.byte $b9,$99,$aa,$aa,$aa
|
||||
.byte $ab,$b9,$aa,$aa,$aa
|
||||
.byte $aa,$b0,$aa,$aa,$aa
|
||||
.byte $aa,$bb,$00,$aa,$aa
|
||||
.byte $aa,$bb,$44,$4a,$aa
|
||||
.byte $aa,$ab,$aa,$a4,$4a
|
||||
.byte $aa,$aa,$aa,$fa,$f4
|
||||
|
||||
|
||||
|
||||
collapse3:
|
||||
.byte $6,$8
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$9a,$9a
|
||||
; .byte $aa,$aa,$aa,$aa,$99,$bb
|
||||
; .byte $aa,$aa,$aa,$0a,$0b,$aa
|
||||
; .byte $aa,$aa,$4a,$00,$bb,$aa
|
||||
; .byte $fa,$44,$44,$a0,$bb,$aa
|
||||
; .byte $ff,$a4,$aa,$aa,$ab,$aa
|
||||
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$9a,$9a
|
||||
.byte $aa,$aa,$aa,$aa,$99,$bb
|
||||
.byte $aa,$aa,$aa,$0a,$0b,$aa
|
||||
.byte $aa,$aa,$4a,$00,$bb,$aa
|
||||
.byte $fa,$44,$44,$a0,$bb,$aa
|
||||
.byte $ff,$a4,$aa,$aa,$ab,$aa
|
||||
.byte $9a,$9a,$aa,$aa,$aa,$aa
|
||||
.byte $bb,$99,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$0b,$0a,$aa,$aa,$aa
|
||||
.byte $aa,$bb,$00,$4a,$aa,$aa
|
||||
.byte $aa,$bb,$a0,$44,$44,$fa
|
||||
.byte $aa,$ab,$aa,$aa,$a4,$ff
|
||||
|
||||
collapse4:
|
||||
.byte $7,$8
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$9a,$9a
|
||||
; .byte $aa,$aa,$aa,$0a,$00,$bb,$99
|
||||
; .byte $fa,$4a,$44,$00,$bb,$aa,$aa
|
||||
; .byte $ff,$a4,$aa,$bb,$aa,$aa,$aa
|
||||
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$9a,$9a
|
||||
.byte $aa,$aa,$aa,$0a,$00,$bb,$99
|
||||
.byte $fa,$4a,$44,$00,$bb,$aa,$aa
|
||||
.byte $ff,$a4,$aa,$bb,$aa,$aa,$aa
|
||||
.byte $9a,$9a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $99,$bb,$00,$0a,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$00,$44,$4a,$fa
|
||||
.byte $aa,$aa,$aa,$bb,$aa,$a4,$ff
|
||||
|
||||
|
||||
collapse5:
|
||||
.byte $8,$8
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
; .byte $aa,$4a,$bb,$00,$b0,$00,$b9,$99
|
||||
; .byte $ff,$44,$b4,$bb,$aa,$aa,$ab,$a9
|
||||
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$4a,$bb,$00,$b0,$00,$b9,$99
|
||||
.byte $ff,$44,$b4,$bb,$aa,$aa,$ab,$a9
|
||||
.byte $99,$b9,$00,$b0,$00,$bb,$4a,$aa
|
||||
.byte $a9,$ab,$aa,$aa,$bb,$b4,$44,$ff
|
||||
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@ pstate_table_lo:
|
||||
.byte <physicist_crouching
|
||||
.byte <physicist_kicking
|
||||
.byte <physicist_jumping
|
||||
.byte <physicist_collapsing
|
||||
pstate_table_hi:
|
||||
.byte >physicist_standing
|
||||
.byte >physicist_standing
|
||||
@ -12,6 +13,7 @@ pstate_table_hi:
|
||||
.byte >physicist_crouching
|
||||
.byte >physicist_kicking
|
||||
.byte >physicist_jumping
|
||||
.byte >physicist_collapsing
|
||||
|
||||
pjump:
|
||||
.word $0000
|
||||
@ -152,9 +154,45 @@ run_gait_fine:
|
||||
jmp finally_draw_him
|
||||
|
||||
|
||||
;==================================
|
||||
; COLLAPSING
|
||||
;==================================
|
||||
|
||||
physicist_collapsing:
|
||||
|
||||
lda GAIT
|
||||
cmp #18
|
||||
bne collapse_not_done
|
||||
|
||||
really_dead:
|
||||
lda #$ff
|
||||
sta GAME_OVER
|
||||
jmp finally_draw_him
|
||||
|
||||
collapse_not_done:
|
||||
|
||||
ldx GAIT
|
||||
|
||||
lda collapse_progression,X
|
||||
sta INL
|
||||
lda collapse_progression+1,X
|
||||
sta INH
|
||||
|
||||
lda FRAMEL
|
||||
and #$1f
|
||||
bne no_collapse_progress
|
||||
|
||||
inc GAIT
|
||||
inc GAIT
|
||||
|
||||
no_collapse_progress:
|
||||
|
||||
|
||||
jmp finally_draw_him
|
||||
|
||||
|
||||
;=============================
|
||||
; Actuall Draw Him
|
||||
; Actually Draw Him
|
||||
;=============================
|
||||
|
||||
|
||||
|
@ -235,13 +235,14 @@ attack:
|
||||
lda #1
|
||||
sta slugg0_attack,X
|
||||
|
||||
lda SLUGDEATH ; don't re-attack if already dead
|
||||
bne no_attack
|
||||
lda PHYSICIST_STATE ; don't re-attack if already dead
|
||||
cmp #P_COLLAPSING
|
||||
beq no_attack
|
||||
|
||||
lda #$1
|
||||
sta SLUGDEATH
|
||||
lda #P_COLLAPSING ; start collapsing
|
||||
sta PHYSICIST_STATE
|
||||
lda #0
|
||||
sta SLUGDEATH_PROGRESS
|
||||
sta GAIT
|
||||
|
||||
stx WHICH_SLUG
|
||||
jsr slug_cutscene
|
||||
|
19
ootw/zp.inc
19
ootw/zp.inc
@ -154,15 +154,14 @@ MESSAGE_COUNT = $E7
|
||||
BOULDER_X = $E8
|
||||
BOULDER_Y = $E9
|
||||
PHYSICIST_STATE = $EA
|
||||
P_STANDING = $00
|
||||
P_WALKING = $01
|
||||
P_RUNNING = $02
|
||||
P_CROUCHING = $03
|
||||
P_KICKING = $04
|
||||
P_JUMPING = $05
|
||||
P_STANDING = $00
|
||||
P_WALKING = $01
|
||||
P_RUNNING = $02
|
||||
P_CROUCHING = $03
|
||||
P_KICKING = $04
|
||||
P_JUMPING = $05
|
||||
P_COLLAPSING = $06
|
||||
|
||||
; CROUCHING = $EA
|
||||
; KICKING = $EB
|
||||
CUTFRAME = $EC
|
||||
DISP_PAGE = $ED
|
||||
DRAW_PAGE = $EE
|
||||
@ -183,11 +182,11 @@ GAIT = $F6
|
||||
TENTACLE_X = $F7
|
||||
|
||||
TENTACLE_PROGRESS = $F8
|
||||
SLUGDEATH_PROGRESS = $F8
|
||||
;SLUGDEATH_PROGRESS = $F8
|
||||
ELEVATOR_CYCLE = $F8
|
||||
|
||||
TENTACLE_GRAB = $F9
|
||||
SLUGDEATH = $F9
|
||||
;SLUGDEATH = $F9
|
||||
ELEVATOR_COUNT = $F9
|
||||
|
||||
TEMP = $FA
|
||||
|
Loading…
x
Reference in New Issue
Block a user