mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-06 14:30:18 +00:00
ootw: mess with slug sprites
This commit is contained in:
parent
0d4ada4bcd
commit
d0fd308971
@ -390,19 +390,33 @@ no_keypress_c:
|
||||
; draw slugs
|
||||
;==================================
|
||||
|
||||
; outstate 0=dead 1=normal 2=dieing 3=falling
|
||||
|
||||
slugg0_out: .byte 1
|
||||
slugg0_attack: .byte 0
|
||||
slugg0_x: .byte 30
|
||||
slugg0_dir: .byte $ff
|
||||
slugg0_gait: .byte 0
|
||||
|
||||
; ___ _-_
|
||||
slugg1_out: .byte 1
|
||||
slugg1_x: .byte 30
|
||||
slugg1_dir: .byte $ff
|
||||
slugg1_gait: .byte 0
|
||||
|
||||
slugg2_out: .byte 1
|
||||
slugg2_x: .byte 30
|
||||
slugg2_dir: .byte $ff
|
||||
slugg2_gait: .byte 0
|
||||
|
||||
|
||||
draw_slugs:
|
||||
|
||||
lda slugg0_out
|
||||
beq slug_done ; don't draw if not there
|
||||
|
||||
bne check_attack ; don't draw if not there
|
||||
jmp slug_done
|
||||
|
||||
check_attack:
|
||||
;==================
|
||||
; see if attack
|
||||
|
||||
lda PHYSICIST_X
|
||||
@ -413,7 +427,12 @@ draw_slugs:
|
||||
and #$fc
|
||||
bne no_attack
|
||||
attack:
|
||||
; FIXME: make slug stand up if in range
|
||||
|
||||
;=================
|
||||
; start an attack
|
||||
|
||||
lda #1
|
||||
sta slugg0_attack
|
||||
|
||||
lda SLUGDEATH ; don't re-attack if already dead
|
||||
bne no_attack
|
||||
@ -448,6 +467,39 @@ slug_move:
|
||||
|
||||
slug_no_move:
|
||||
|
||||
|
||||
;===============================
|
||||
;===============================
|
||||
; DRAW SLUG
|
||||
;===============================
|
||||
;===============================
|
||||
|
||||
; if exploding
|
||||
|
||||
;==============
|
||||
; if attacking
|
||||
;==============
|
||||
lda slugg0_attack
|
||||
beq slug_normal
|
||||
slug_attacking:
|
||||
|
||||
lda slugg0_gait
|
||||
and #$70
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
|
||||
lda slug_attack_progression,X
|
||||
sta INL
|
||||
lda slug_attack_progression+1,X
|
||||
sta INH
|
||||
jmp slug_selected
|
||||
|
||||
;==============
|
||||
; if normal
|
||||
;==============
|
||||
slug_normal:
|
||||
lda slugg0_gait
|
||||
and #$20
|
||||
beq slug_squinched
|
||||
@ -465,13 +517,17 @@ slug_squinched:
|
||||
lda #>slug2
|
||||
sta INH
|
||||
|
||||
;================
|
||||
; end slug normal
|
||||
;================
|
||||
|
||||
slug_selected:
|
||||
|
||||
|
||||
lda slugg0_x
|
||||
sta XPOS
|
||||
|
||||
lda #34
|
||||
lda #30
|
||||
sec
|
||||
sbc EARTH_OFFSET
|
||||
sta YPOS
|
||||
|
@ -288,19 +288,121 @@ ripple4:
|
||||
; going left
|
||||
|
||||
slug1:
|
||||
.byte $4,$2
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $0a,$0a,$0a,$0a
|
||||
|
||||
slug2:
|
||||
.byte $4,$2
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $0a,$a0,$0a,$aa
|
||||
|
||||
slug_attack:
|
||||
.byte $4,$2
|
||||
slug_die_progression:
|
||||
.word slug_die1
|
||||
.word slug_die2
|
||||
.word slug_die3
|
||||
.word slug_die4
|
||||
|
||||
slug_die1:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$0a,$aa
|
||||
.byte $aa,$aa,$0a,$aa
|
||||
|
||||
slug_die2:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$0a,$aa
|
||||
.byte $aa,$aa,$aa,$0a
|
||||
.byte $aa,$aa,$aa,$0a
|
||||
|
||||
slug_die3:
|
||||
.byte $5,$4
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$a0,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$a0
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
|
||||
slug_die4:
|
||||
.byte $5,$4
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$a0,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
|
||||
|
||||
|
||||
slug_attack_progression:
|
||||
.word slug_attack0
|
||||
.word slug_attack1
|
||||
.word slug_attack2
|
||||
.word slug_attack3
|
||||
.word slug_attack4
|
||||
.word slug_attack5
|
||||
.word slug_attack6
|
||||
.word slug_attack7
|
||||
|
||||
slug_attack0:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
|
||||
slug_attack1:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
.byte $aa,$00,$aa,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
|
||||
slug_attack2:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$00,$00,$aa
|
||||
|
||||
slug_attack3:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
.byte $aa,$00,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
|
||||
slug_attack4:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
|
||||
slug_attack5:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
.byte $aa,$00,$aa,$aa
|
||||
.byte $aa,$aa,$00,$aa
|
||||
|
||||
slug_attack6:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$00,$00,$aa
|
||||
|
||||
slug_attack7:
|
||||
.byte $4,$4
|
||||
.byte $aa,$aa,$aa,$aa
|
||||
.byte $00,$aa,$00,$aa
|
||||
.byte $aa,$00,$aa,$aa
|
||||
.byte $00,$aa,$aa,$aa
|
||||
|
||||
|
||||
|
||||
;=======================
|
||||
|
@ -51,7 +51,7 @@ sluggy_loop:
|
||||
|
||||
jsr page_flip
|
||||
|
||||
ldx #3
|
||||
ldx #2
|
||||
long_delay:
|
||||
lda #250
|
||||
jsr WAIT
|
||||
@ -122,7 +122,7 @@ leg_loop:
|
||||
|
||||
jsr page_flip
|
||||
|
||||
ldx #5
|
||||
ldx #4
|
||||
long_delay2:
|
||||
lda #250
|
||||
jsr WAIT
|
||||
|
Loading…
x
Reference in New Issue
Block a user