mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-12 05:24:02 +00:00
ootw: c2: can now disintegrate friend (from left)
This commit is contained in:
parent
12c5b1921c
commit
c95f92cdea
@ -1,6 +1,13 @@
|
|||||||
; Include on levels where there is no friend
|
; Include on levels where there is no friend
|
||||||
|
|
||||||
|
|
||||||
|
FAI_FOLLOWING = 0
|
||||||
|
FAI_RUNTO_PANEL = 1
|
||||||
|
FAI_OPENING_PANEL = 2
|
||||||
|
FAI_DISINTEGRATING = 3
|
||||||
|
FAI_END_L2 = 4
|
||||||
|
|
||||||
|
|
||||||
F_STANDING = 0
|
F_STANDING = 0
|
||||||
F_WALKING = 1
|
F_WALKING = 1
|
||||||
F_RUNNING = 2
|
F_RUNNING = 2
|
||||||
@ -10,7 +17,10 @@ F_KEYPAD = 5
|
|||||||
F_OPEN_VENT = 6
|
F_OPEN_VENT = 6
|
||||||
F_DISINTEGRATING= 7
|
F_DISINTEGRATING= 7
|
||||||
|
|
||||||
|
friend_ai_state:
|
||||||
friend_state:
|
friend_state:
|
||||||
friend_x:
|
friend_x:
|
||||||
|
friend_gait:
|
||||||
|
.byte $00
|
||||||
friend_room:
|
friend_room:
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
@ -11,7 +11,9 @@ friend_ai_state: .byte 0
|
|||||||
FAI_FOLLOWING = 0
|
FAI_FOLLOWING = 0
|
||||||
FAI_RUNTO_PANEL = 1
|
FAI_RUNTO_PANEL = 1
|
||||||
FAI_OPENING_PANEL = 2
|
FAI_OPENING_PANEL = 2
|
||||||
FAI_END_L2 = 3
|
FAI_DISINTEGRATING = 3
|
||||||
|
FAI_END_L2 = 4
|
||||||
|
|
||||||
|
|
||||||
F_STANDING = 0
|
F_STANDING = 0
|
||||||
F_WALKING = 1
|
F_WALKING = 1
|
||||||
@ -26,11 +28,13 @@ fai_table_lo:
|
|||||||
.byte <friend_ai_following ; 00
|
.byte <friend_ai_following ; 00
|
||||||
.byte <friend_ai_runto_panel ; 01
|
.byte <friend_ai_runto_panel ; 01
|
||||||
.byte <friend_ai_opening_panel ; 02
|
.byte <friend_ai_opening_panel ; 02
|
||||||
|
.byte <friend_ai_disintegrating ; 03
|
||||||
|
|
||||||
fai_table_hi:
|
fai_table_hi:
|
||||||
.byte >friend_ai_following ; 00
|
.byte >friend_ai_following ; 00
|
||||||
.byte >friend_ai_runto_panel ; 01
|
.byte >friend_ai_runto_panel ; 01
|
||||||
.byte >friend_ai_opening_panel ; 02
|
.byte >friend_ai_opening_panel ; 02
|
||||||
|
.byte >friend_ai_disintegrating ; 03
|
||||||
|
|
||||||
|
|
||||||
;=======================================
|
;=======================================
|
||||||
@ -98,6 +102,7 @@ friend_ai_opening_panel:
|
|||||||
lda #F_KEYPAD
|
lda #F_KEYPAD
|
||||||
sta friend_state
|
sta friend_state
|
||||||
|
|
||||||
|
friend_ai_disintegrating:
|
||||||
friend_ai_done:
|
friend_ai_done:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
83
ootw/laser.s
83
ootw/laser.s
@ -225,61 +225,44 @@ done_move_laser:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; hit somthing, left
|
; hit something, left
|
||||||
;===================
|
;===================
|
||||||
disable_laser_left:
|
disable_laser_left:
|
||||||
lda #0
|
|
||||||
sta laser0_out
|
|
||||||
|
|
||||||
lda LEFT_SHOOT_TARGET
|
lda LEFT_SHOOT_TARGET
|
||||||
beq done_disable_laser_left
|
jmp hit_something_common
|
||||||
|
|
||||||
tax
|
|
||||||
and #$f0
|
|
||||||
|
|
||||||
cmp #TARGET_ALIEN
|
|
||||||
beq laser_alien_left
|
|
||||||
|
|
||||||
jmp done_disable_laser_left
|
|
||||||
|
|
||||||
laser_alien_left:
|
|
||||||
txa
|
|
||||||
and #$f
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda #A_DISINTEGRATING
|
|
||||||
sta alien_state,X
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
sta alien_gait,X
|
|
||||||
|
|
||||||
jmp done_lasering_left
|
|
||||||
|
|
||||||
done_lasering_left:
|
|
||||||
done_disable_laser_left:
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
;====================
|
;====================
|
||||||
; hit somthing, right
|
; hit something, right
|
||||||
;====================
|
;====================
|
||||||
disable_laser_right:
|
disable_laser_right:
|
||||||
lda #0
|
|
||||||
sta laser0_out
|
|
||||||
|
|
||||||
lda RIGHT_SHOOT_TARGET
|
lda RIGHT_SHOOT_TARGET
|
||||||
beq done_disable_laser_right
|
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; hit something, common
|
||||||
|
;======================
|
||||||
|
hit_something_common:
|
||||||
|
|
||||||
|
; disable laser
|
||||||
|
ldx #0
|
||||||
|
stx laser0_out
|
||||||
|
|
||||||
tax
|
tax
|
||||||
and #$f0
|
and #$f0
|
||||||
|
|
||||||
cmp #TARGET_ALIEN
|
cmp #TARGET_ALIEN
|
||||||
beq laser_alien_right
|
beq laser_hit_alien
|
||||||
|
|
||||||
jmp done_disable_laser_right
|
cmp #TARGET_FRIEND
|
||||||
|
beq laser_hit_friend
|
||||||
|
|
||||||
|
; FIXME: reduce shields if hit them?
|
||||||
|
|
||||||
|
jmp done_hit_something
|
||||||
|
|
||||||
|
laser_hit_alien:
|
||||||
|
|
||||||
laser_alien_right:
|
|
||||||
txa
|
txa
|
||||||
and #$f
|
and #$f
|
||||||
tax
|
tax
|
||||||
@ -290,11 +273,27 @@ laser_alien_right:
|
|||||||
lda #0
|
lda #0
|
||||||
sta alien_gait,X
|
sta alien_gait,X
|
||||||
|
|
||||||
jmp done_lasering_right
|
jmp done_hit_something
|
||||||
|
|
||||||
done_lasering_right:
|
laser_hit_friend:
|
||||||
done_disable_laser_right:
|
|
||||||
|
lda #F_DISINTEGRATING
|
||||||
|
sta friend_state
|
||||||
|
|
||||||
|
lda #FAI_DISINTEGRATING
|
||||||
|
sta friend_ai_state
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta friend_gait
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; jmp done_hit_something
|
||||||
|
|
||||||
|
done_hit_something:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user