mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-13 22:30:49 +00:00
ootw: centralize gun handling, level5 now works properly
This commit is contained in:
parent
324d8c6526
commit
4419a7e0d8
65
ootw/gun.s
65
ootw/gun.s
@ -5,9 +5,59 @@
|
|||||||
; we handle that here
|
; we handle that here
|
||||||
|
|
||||||
|
|
||||||
|
;===================================
|
||||||
|
; handle/draw all gun related stuff
|
||||||
|
;===================================
|
||||||
handle_gun:
|
handle_gun:
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; ???
|
||||||
|
;===================
|
||||||
|
jsr handle_gun2
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; draw gun charge effect
|
||||||
|
;=======================
|
||||||
|
|
||||||
|
jsr draw_gun_charging
|
||||||
|
|
||||||
|
;================
|
||||||
|
; move laser
|
||||||
|
;================
|
||||||
|
|
||||||
|
jsr move_laser
|
||||||
|
|
||||||
|
;================
|
||||||
|
; draw laser
|
||||||
|
;================
|
||||||
|
|
||||||
|
jsr draw_laser
|
||||||
|
|
||||||
|
;================
|
||||||
|
; move blast
|
||||||
|
;================
|
||||||
|
|
||||||
|
jsr move_blast
|
||||||
|
|
||||||
|
;================
|
||||||
|
; draw blast
|
||||||
|
;================
|
||||||
|
|
||||||
|
jsr draw_blast
|
||||||
|
|
||||||
|
;================
|
||||||
|
; draw shields
|
||||||
|
;================
|
||||||
|
|
||||||
|
jmp draw_shields
|
||||||
|
|
||||||
|
; rts
|
||||||
|
|
||||||
|
|
||||||
|
handle_gun2:
|
||||||
|
|
||||||
lda HAVE_GUN ; no gun, do nothing
|
lda HAVE_GUN ; no gun, do nothing
|
||||||
beq done_gun
|
beq no_have_gun
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; fire laser
|
; fire laser
|
||||||
@ -70,20 +120,23 @@ done_firing:
|
|||||||
lda #0
|
lda #0
|
||||||
sta GUN_STATE
|
sta GUN_STATE
|
||||||
done_gun:
|
done_gun:
|
||||||
|
no_have_gun:
|
||||||
lda #0
|
lda #0
|
||||||
sta GUN_FIRE
|
sta GUN_FIRE
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
draw_gun:
|
; draw gun charging effect
|
||||||
|
;============================
|
||||||
|
draw_gun_charging:
|
||||||
|
|
||||||
lda HAVE_GUN ; no gun, do nothing
|
lda HAVE_GUN ; no gun, do nothing
|
||||||
beq done_draw_gun
|
beq done_draw_gun_charging
|
||||||
|
|
||||||
lda GUN_STATE ; gun not charging, do nothing
|
lda GUN_STATE ; gun not charging, do nothing
|
||||||
beq done_draw_gun
|
beq done_draw_gun_charging
|
||||||
|
|
||||||
|
|
||||||
; set direction
|
; set direction
|
||||||
@ -125,7 +178,7 @@ done_zap:
|
|||||||
|
|
||||||
jsr put_sprite
|
jsr put_sprite
|
||||||
|
|
||||||
done_draw_gun:
|
done_draw_gun_charging:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
; progression
|
; progression
|
||||||
|
@ -22,6 +22,7 @@ ootw_elevator:
|
|||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; setup per-room variables
|
; setup per-room variables
|
||||||
|
|
||||||
check_elevator7:
|
check_elevator7:
|
||||||
lda WHICH_JAIL
|
lda WHICH_JAIL
|
||||||
cmp #7
|
cmp #7
|
||||||
@ -222,42 +223,6 @@ draw_elevator:
|
|||||||
|
|
||||||
jsr handle_gun
|
jsr handle_gun
|
||||||
|
|
||||||
;================
|
|
||||||
; draw gun effect
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_gun
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw shields
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_shields
|
|
||||||
|
|
||||||
;===============
|
;===============
|
||||||
; page flip
|
; page flip
|
||||||
|
|
||||||
|
@ -487,49 +487,12 @@ c2_done_draw_friend:
|
|||||||
jsr draw_alien
|
jsr draw_alien
|
||||||
no_draw_alien:
|
no_draw_alien:
|
||||||
|
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; handle gun
|
; handle gun
|
||||||
;================
|
;================
|
||||||
|
|
||||||
jsr handle_gun
|
jsr handle_gun
|
||||||
|
|
||||||
;================
|
|
||||||
; draw gun effect
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_gun
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw shields
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_shields
|
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; handle doors
|
; handle doors
|
||||||
;================
|
;================
|
||||||
|
@ -643,43 +643,7 @@ no_draw_alien:
|
|||||||
; handle gun
|
; handle gun
|
||||||
;================
|
;================
|
||||||
|
|
||||||
jsr handle_gun
|
jsr handle_gun
|
||||||
|
|
||||||
;================
|
|
||||||
; draw gun effect
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_gun
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw laser
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_laser
|
|
||||||
|
|
||||||
;================
|
|
||||||
; move blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr move_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw blast
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_blast
|
|
||||||
|
|
||||||
;================
|
|
||||||
; draw shields
|
|
||||||
;================
|
|
||||||
|
|
||||||
jsr draw_shields
|
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; handle doors
|
; handle doors
|
||||||
|
@ -7,6 +7,7 @@ ootw_cave_init:
|
|||||||
sta WHICH_CAVE
|
sta WHICH_CAVE
|
||||||
; yes you fall in facing left for some reason
|
; yes you fall in facing left for some reason
|
||||||
sta DIRECTION ; left
|
sta DIRECTION ; left
|
||||||
|
sta NUM_DOORS
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta HAVE_GUN
|
sta HAVE_GUN
|
||||||
@ -42,6 +43,8 @@ ootw_cave:
|
|||||||
lda WHICH_CAVE
|
lda WHICH_CAVE
|
||||||
bne cave1
|
bne cave1
|
||||||
|
|
||||||
|
jsr init_shields
|
||||||
|
|
||||||
; Room0 entrance
|
; Room0 entrance
|
||||||
cave0:
|
cave0:
|
||||||
lda #(0+128)
|
lda #(0+128)
|
||||||
@ -232,6 +235,11 @@ check_floor1:
|
|||||||
jsr draw_physicist
|
jsr draw_physicist
|
||||||
|
|
||||||
|
|
||||||
|
;===============
|
||||||
|
; handle gun
|
||||||
|
|
||||||
|
jsr handle_gun
|
||||||
|
|
||||||
;========================
|
;========================
|
||||||
; draw foreground action
|
; draw foreground action
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user