mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 02:31:00 +00:00
ootw: add last sprites and fix some keyboard handling
This commit is contained in:
parent
98c083f232
commit
f5437230e7
BIN
ootw/empty.dsk
BIN
ootw/empty.dsk
Binary file not shown.
@ -164,6 +164,13 @@ done_zap:
|
|||||||
lda PHYSICIST_Y
|
lda PHYSICIST_Y
|
||||||
clc
|
clc
|
||||||
adc #4
|
adc #4
|
||||||
|
|
||||||
|
ldy PHYSICIST_STATE
|
||||||
|
cpy #P_CROUCH_SHOOTING
|
||||||
|
bne done_zap_ypos
|
||||||
|
adc #2
|
||||||
|
|
||||||
|
done_zap_ypos:
|
||||||
sta YPOS
|
sta YPOS
|
||||||
|
|
||||||
ldy GUN_STATE
|
ldy GUN_STATE
|
||||||
|
@ -219,7 +219,12 @@ up:
|
|||||||
;=============================
|
;=============================
|
||||||
;=============================
|
;=============================
|
||||||
|
|
||||||
|
lda PHYSICIST_STATE ; shoot if charging
|
||||||
|
cmp #P_CROUCH_SHOOTING
|
||||||
|
beq up_no_fire
|
||||||
|
|
||||||
inc GUN_FIRE
|
inc GUN_FIRE
|
||||||
|
up_no_fire:
|
||||||
|
|
||||||
lda ON_ELEVATOR
|
lda ON_ELEVATOR
|
||||||
beq up_not_elevator
|
beq up_not_elevator
|
||||||
@ -263,6 +268,13 @@ check_down:
|
|||||||
;==========================
|
;==========================
|
||||||
down:
|
down:
|
||||||
|
|
||||||
|
lda PHYSICIST_STATE ; shoot if charging
|
||||||
|
cmp #P_SHOOTING
|
||||||
|
beq down_no_fire
|
||||||
|
|
||||||
|
inc GUN_FIRE
|
||||||
|
down_no_fire:
|
||||||
|
|
||||||
lda ON_ELEVATOR
|
lda ON_ELEVATOR
|
||||||
beq down_not_elevator
|
beq down_not_elevator
|
||||||
|
|
||||||
@ -297,7 +309,7 @@ charge_gun:
|
|||||||
lda GUN_STATE
|
lda GUN_STATE
|
||||||
beq not_already_firing
|
beq not_already_firing
|
||||||
|
|
||||||
inc GUN_FIRE
|
inc GUN_FIRE ; if charging, fire
|
||||||
|
|
||||||
jmp done_keypress
|
jmp done_keypress
|
||||||
|
|
||||||
@ -305,8 +317,15 @@ not_already_firing:
|
|||||||
|
|
||||||
inc GUN_STATE
|
inc GUN_STATE
|
||||||
|
|
||||||
lda #P_SHOOTING
|
lda PHYSICIST_STATE
|
||||||
sta PHYSICIST_STATE
|
and #STATE_CROUCHING
|
||||||
|
bne crouch_charge
|
||||||
|
ldy #P_CROUCH_SHOOTING
|
||||||
|
bne crouch_charge_go ; bra
|
||||||
|
crouch_charge:
|
||||||
|
ldy #P_SHOOTING
|
||||||
|
crouch_charge_go:
|
||||||
|
sty PHYSICIST_STATE
|
||||||
|
|
||||||
jmp shoot
|
jmp shoot
|
||||||
|
|
||||||
@ -314,8 +333,8 @@ not_already_firing:
|
|||||||
check_space:
|
check_space:
|
||||||
cmp #' '
|
cmp #' '
|
||||||
beq space
|
beq space
|
||||||
cmp #$15 ; ascii 21=??
|
; cmp #$15 ; ascii 21=??
|
||||||
bne unknown
|
jmp unknown
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
; Kick or shoot
|
; Kick or shoot
|
||||||
@ -324,16 +343,30 @@ space:
|
|||||||
lda HAVE_GUN
|
lda HAVE_GUN
|
||||||
beq kick
|
beq kick
|
||||||
|
|
||||||
inc GUN_FIRE
|
; shoot pressed
|
||||||
|
|
||||||
|
inc GUN_FIRE ; if charging, shoot
|
||||||
shoot:
|
shoot:
|
||||||
lda PHYSICIST_STATE
|
lda PHYSICIST_STATE ; if in stance, then shoot
|
||||||
cmp #P_SHOOTING
|
cmp #P_SHOOTING
|
||||||
|
beq in_position
|
||||||
|
cmp #P_CROUCH_SHOOTING
|
||||||
bne no_stance
|
bne no_stance
|
||||||
|
|
||||||
|
in_position:
|
||||||
lda #1
|
lda #1
|
||||||
sta LASER_OUT
|
sta LASER_OUT
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
no_stance:
|
no_stance:
|
||||||
|
and #STATE_CROUCHING
|
||||||
|
beq stand_stance
|
||||||
|
|
||||||
|
crouch_stance:
|
||||||
|
lda #P_CROUCH_SHOOTING
|
||||||
|
jmp change_state_clear_gait
|
||||||
|
|
||||||
|
stand_stance:
|
||||||
lda #P_SHOOTING
|
lda #P_SHOOTING
|
||||||
jmp change_state_clear_gait
|
jmp change_state_clear_gait
|
||||||
|
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
; rather than cheating and just mirror-flipping it
|
; rather than cheating and just mirror-flipping it
|
||||||
|
|
||||||
; TODO:
|
; TODO:
|
||||||
; crouch-kick
|
|
||||||
; crouch-shoot
|
|
||||||
; zapped by laser
|
; zapped by laser
|
||||||
|
|
||||||
|
|
||||||
@ -596,15 +594,15 @@ physicist_spike_sprite:
|
|||||||
;=====================
|
;=====================
|
||||||
|
|
||||||
crouch_shooting:
|
crouch_shooting:
|
||||||
.byte 3,8
|
.byte 5,8
|
||||||
.byte $aa,$aa,$aa
|
.byte $AA,$AA,$aa,$aa,$aa
|
||||||
.byte $aa,$aa,$aa
|
.byte $AA,$AA,$aa,$aa,$aa
|
||||||
.byte $9a,$9a,$aa
|
.byte $AA,$AA,$9a,$9a,$aa
|
||||||
.byte $bb,$99,$aa
|
.byte $AA,$AA,$bb,$99,$aa
|
||||||
.byte $aa,$0b,$0a
|
.byte $0A,$0A,$aa,$0b,$0a
|
||||||
.byte $aa,$bb,$00
|
.byte $AA,$A0,$ba,$bb,$00
|
||||||
.byte $ba,$4b,$aa
|
.byte $AA,$AA,$4a,$4b,$aa
|
||||||
.byte $54,$f4,$f4
|
.byte $AA,$AA,$54,$f4,$f4
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
;=====================
|
;=====================
|
||||||
@ -613,15 +611,15 @@ crouch_shooting:
|
|||||||
;=====================
|
;=====================
|
||||||
|
|
||||||
crouch_kicking:
|
crouch_kicking:
|
||||||
.byte 3,8
|
.byte 5,8
|
||||||
.byte $aa,$aa,$aa
|
.byte $AA,$AA,$aa,$aa,$aa
|
||||||
.byte $aa,$aa,$aa
|
.byte $AA,$AA,$aa,$aa,$aa
|
||||||
.byte $9a,$9a,$aa
|
.byte $AA,$AA,$9a,$9a,$aa
|
||||||
.byte $bb,$99,$aa
|
.byte $AA,$AA,$bb,$99,$aa
|
||||||
.byte $aa,$0b,$0a
|
.byte $AA,$AA,$aa,$0b,$0a
|
||||||
.byte $aa,$bb,$00
|
.byte $AA,$AA,$aa,$bb,$00
|
||||||
.byte $ba,$4b,$aa
|
.byte $AA,$AA,$4a,$bb,$a0
|
||||||
.byte $54,$f4,$f4
|
.byte $5A,$5C,$A4,$f4,$f4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -633,72 +631,119 @@ crouch_kicking:
|
|||||||
;=====================
|
;=====================
|
||||||
|
|
||||||
disintegrate_progression:
|
disintegrate_progression:
|
||||||
.word disintegrate1 ; 00
|
.word disintegrating_2 ; 0
|
||||||
.word disintegrate2 ; 02
|
.word disintegrating_3 ; 1
|
||||||
.word disintegrate3 ; 04
|
.word disintegrating_4 ; 2
|
||||||
.word disintegrate4 ; 06
|
.word disintegrating_4 ; 3
|
||||||
.word disintegrate5 ; 08
|
.word disintegrating_4 ; 4
|
||||||
.word disintegrate5 ; 10
|
.word disintegrating_4 ; 5
|
||||||
.word disintegrate5 ; 12
|
.word disintegrating_3 ; 6
|
||||||
.word disintegrate5 ; 14
|
.word disintegrating_9 ; 7
|
||||||
.word disintegrate5 ; 16
|
.word disintegrating_10 ; 8
|
||||||
|
.word disintegrating_11 ; 9
|
||||||
|
.word disintegrating_12 ; 10
|
||||||
|
.word disintegrating_13 ; 11
|
||||||
|
.word disintegrating_14 ; 12
|
||||||
|
.word disintegrating_14 ; 13
|
||||||
|
|
||||||
disintegrate1:
|
disintegrating_2:
|
||||||
.byte 4,8
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
||||||
disintegrate2:
|
|
||||||
.byte 5,8
|
.byte 5,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
.byte $b9,$99,$aa,$aa,$aa
|
.byte $ee,$fe,$fe,$ee,$aa
|
||||||
.byte $ab,$b9,$aa,$aa,$aa
|
.byte $ee,$ff,$ff,$ee,$aa
|
||||||
.byte $aa,$b0,$aa,$aa,$aa
|
.byte $aa,$ee,$ff,$ee,$aa
|
||||||
.byte $aa,$bb,$00,$aa,$aa
|
.byte $ae,$ef,$ff,$ee,$aa
|
||||||
.byte $aa,$bb,$44,$4a,$aa
|
.byte $aa,$ee,$ff,$ee,$aa
|
||||||
.byte $aa,$ab,$aa,$a4,$4a
|
.byte $aa,$ee,$ff,$ee,$aa
|
||||||
.byte $aa,$aa,$aa,$fa,$f4
|
.byte $ff,$fe,$ff,$ee,$aa
|
||||||
|
|
||||||
|
disintegrating_3:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$fa,$fa,$aa,$aa
|
||||||
|
.byte $aa,$ff,$ff,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
.byte $aa,$af,$fa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$ff,$aa,$aa
|
||||||
|
.byte $aa,$fa,$ff,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_4:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$0a,$0a,$aa,$aa
|
||||||
|
.byte $aa,$00,$00,$aa,$aa
|
||||||
|
.byte $aa,$aa,$0a,$aa,$aa
|
||||||
|
.byte $aa,$a0,$0a,$aa,$aa
|
||||||
|
.byte $aa,$aa,$0a,$aa,$aa
|
||||||
|
.byte $aa,$aa,$00,$aa,$aa
|
||||||
|
.byte $aa,$0a,$00,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_9:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $fa,$aa,$af,$aa,$aa
|
||||||
|
.byte $aa,$5a,$aa,$af,$aa
|
||||||
|
.byte $aa,$aa,$aa,$0a,$aa
|
||||||
|
.byte $af,$aa,$0a,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$fa,$aa
|
||||||
|
.byte $af,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_10:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $fa,$aa,$af,$aa,$aa
|
||||||
|
.byte $aa,$5a,$aa,$aa,$fa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $fa,$aa,$aa,$aa,$a0
|
||||||
|
.byte $aa,$aa,$aa,$0a,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$5a
|
||||||
|
.byte $fa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_11:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
.byte $af,$aa,$aa,$aa,$af
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $fa,$aa,$aa,$aa,$a0
|
||||||
|
.byte $aa,$aa,$aa,$0a,$fa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $af,$aa,$fa,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_12:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$fa,$aa,$aa
|
||||||
|
.byte $aa,$af,$aa,$aa,$fa
|
||||||
|
.byte $fa,$a5,$aa,$0a,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$a0
|
||||||
|
.byte $fa,$aa,$fa,$aa,$aa
|
||||||
|
|
||||||
|
disintegrating_13:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$af,$aa,$aa
|
||||||
|
.byte $aa,$4a,$aa,$0a,$a0
|
||||||
|
.byte $fa,$aa,$5a,$aa,$af
|
||||||
|
|
||||||
|
disintegrating_14:
|
||||||
|
.byte 5,8
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
|
.byte $fa,$5a,$5a,$0a,$fa
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
disintegrate3:
|
|
||||||
.byte 6,8
|
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$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
|
|
||||||
|
|
||||||
disintegrate4:
|
|
||||||
.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 $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
|
|
||||||
|
|
||||||
|
|
||||||
disintegrate5:
|
|
||||||
.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 $99,$b9,$00,$b0,$00,$bb,$4a,$aa
|
|
||||||
.byte $a9,$ab,$aa,$aa,$bb,$b4,$44,$ff
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user