ootw: c15: guard shooting

This commit is contained in:
Vince Weaver 2020-02-07 16:01:43 -05:00
parent 26593ef8ec
commit b9bd74e5a8
6 changed files with 133 additions and 97 deletions

View File

@ -131,6 +131,12 @@ BEHAVIOR DIFFERENCES:
+ Level/Checkpoint #5
* Allow falling into first pit
+ Level/Checkpoint #15
* Bath: shooting guard isn't quite so regular, every other shot is
a double one?
* Bath: one guard repeatedly re-arrives but that seems to be a bug
in the original
* Bath: guards shooting eventually wear away the column
FUTURE WORK:
============

View File

@ -393,12 +393,12 @@ room_loop:
;==================================
; draw background action
lda WHICH_CAVE
; lda WHICH_ROOM
bg_room0:
; cmp #0
; bne c4_no_bg_action
; bne c15_no_bg_action
; lda FRAMEL
; and #$c
@ -418,7 +418,7 @@ bg_room0:
; jsr put_sprite
c5_no_bg_action:
c15_no_bg_action:
;===============================
; check keyboard
@ -439,38 +439,9 @@ c5_no_bg_action:
jsr check_screen_limit
;===============================
; adjust floor
; adjust floor if necessary
;===============================
; lda PHYSICIST_STATE
; cmp #P_FALLING_DOWN
; beq check_floor0_done
; lda WHICH_CAVE
; cmp #0
; bne check_floor1
; lda #14
; sta PHYSICIST_Y
; lda PHYSICIST_X
; cmp #19
; bcc check_floor0_done
; lda #12
; sta PHYSICIST_Y
; lda PHYSICIST_X
; cmp #28
; bcc check_floor0_done
; lda #10
; sta PHYSICIST_Y
check_floor0_done:
check_floor1:
; no sloped floors in c15
;=====================================
; draw physicist
@ -489,42 +460,66 @@ check_floor1:
; draw foreground action
;=====================================
; lda WHICH_CAVE
; cmp #0
; bne c5_no_fg_action
lda WHICH_ROOM
cmp #0
bne c15_no_fg_action
c5_draw_rocks:
; lda #1
; sta XPOS
; lda #26
; sta YPOS
; lda #<small_rock
; sta INL
; lda #>small_rock
; sta INH
; jsr put_sprite
; Room 0 draw guard
c15_draw_fg_guard:
; lda #10
; sta XPOS
; lda #18
; sta YPOS
; lda #<medium_rock
; sta INL
; lda #>medium_rock
; sta INH
; jsr put_sprite
; real game it's not quite so regular, double shot eventually
; lda #31
; sta XPOS
; lda #14
; sta YPOS
; lda #<large_rock
; sta INL
; lda #>large_rock
; sta INH
; jsr put_sprite
; every so often, shoots
; for frames 0 and 1 every 32 ($1F)
c5_no_fg_action:
lda FRAMEL
and #$1f
cmp #3
bcs fg_guard_noshoot ; bgt
fg_guard_shoot:
lda #$ff
bne fg_guard_draw
fg_guard_noshoot:
lda #$00
fg_guard_draw:
sta XPOS
lda #22
sta YPOS
lda #<guard_sprite
sta INL
lda #>guard_sprite
sta INH
jsr put_sprite_crop
; draw laser
lda FRAMEL
and #$1f
cmp #3
bcs fg_guard_no_laser ; bge
lda #9
sta XPOS
lda #20
sta YPOS
lda #<guard_laser
sta INL
lda #>guard_laser
sta INH
jsr put_sprite
fg_guard_no_laser:
jmp c15_no_fg_action
; Room 5 friend slowly working to left
c15_draw_friend_cliff:
c15_no_fg_action:
;====================
; activate fg objects
@ -543,7 +538,7 @@ c5_no_fg_action:
;================
; move fg objects
;================
c4_move_fg_objects:
c15_move_fg_objects:
; lda CART_OUT
; cmp #1
@ -777,3 +772,37 @@ bath_arrival_sequence:
.byte 0
;=======================
; guard sprite
guard_sprite:
.byte 10,13
.byte $7A,$7A,$7A,$7A,$AA,$AA,$AA,$AA,$AA,$AA
.byte $77,$77,$77,$77,$77,$AA,$AA,$AA,$AA,$AA
.byte $77,$77,$77,$77,$77,$AA,$AA,$AA,$0A,$00
.byte $00,$00,$00,$77,$A7,$AA,$AA,$7A,$70,$AA
.byte $00,$00,$00,$00,$AA,$7A,$77,$77,$77,$7A
.byte $00,$00,$00,$70,$77,$77,$77,$77,$77,$77
.byte $00,$00,$70,$77,$77,$77,$77,$77,$AA,$AA
.byte $00,$00,$07,$77,$77,$77,$A7,$AA,$AA,$AA
.byte $00,$00,$00,$07,$A7,$A7,$AA,$AA,$AA,$AA
.byte $00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA
.byte $00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA
.byte $00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA
.byte $00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA
;=======================
; guard laser
guard_laser:
; .byte 15,4
; .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$1A,$1A,$A1
; .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$1A,$1A,$A1,$A1,$AA,$AA,$AA
; .byte $AA,$AA,$AA,$AA,$1A,$1A,$11,$A1,$A1,$AA,$AA,$AA,$AA,$AA,$AA
; .byte $1A,$1A,$11,$A1,$A1,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.byte 15,3
.byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$1A,$1A,$1A
.byte $AA,$AA,$AA,$AA,$AA,$AA,$1A,$1A,$1A,$11,$A1,$A1,$A1,$AA,$AA
.byte $1A,$1A,$1A,$11,$A1,$A1,$A1,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -598,30 +598,31 @@ bath_32_rle: .byte $28 ; ysize=48
; cycles=1337
bath_33_rle: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$7E,$AA, $1A,$1A, $A0,$01,$A1, $A0,$21,$AA, $1A,$1A, $A0,$02,$A1
.byte $A0,$01,$AA, $9A,$9A, $A0,$10,$AA, $A4,$7A, $A9,$AA, $1A,$1A, $11
.byte $A0,$02,$A1, $A4,$AA, $99, $BB, $A0,$10,$AA, $A5,$77, $A5,$AA
.byte $1A, $11, $A0,$02,$A1, $A8,$AA, $0B, $A0,$11,$AA, $A5,$77
.byte $A3,$AA, $0A, $00, $77, $A6,$AA, $0A, $6A
.byte $A3,$AA, $BB, $BA, $A6,$AA, $77,$77, $A8,$AA, $A3,$00
.byte $77, $A0,$01,$A7, $A0,$02,$AA, $7A, $70, $15, $10
.byte $7A, $A4,$AA, $00,$00, $66, $A3,$AA, $40, $A7,$AA
.byte $70, $00, $A8,$AA, $A4,$00, $A0,$01,$AA, $7A, $A3,$77
.byte $70, $50, $A5,$AA, $00,$00, $06, $6A,$6A, $A0,$01,$AA
.byte $C4, $4A, $A6,$AA, $01,$01, $A0,$01,$A5, $A7,$AA, $A3,$00
.byte $70, $A6,$77, $55, $A5,$AA, $A5,$00, $A0,$01,$AA, $CC
.byte $44, $A6,$AA, $77, $55, $A8,$AA, $00,$00, $70
.byte $A5,$77, $A9,$AA, $A3,$00, $A0,$01,$A0, $A0,$01,$AA, $A0,$01,$AF, $F4
.byte $FA, $A3,$AA, $8A,$8A, $87, $A0,$01,$A5, $A8,$AA, $00,$00
.byte $07, $A3,$77, $27, $A0,$11,$AA, $00, $A0,$01,$AA, $00
.byte $A0,$01,$AA, $00, $A5,$AA, $00,$00, $A4,$AA, $A3,$00, $07
.byte $27,$27, $A0,$01,$A2, $A0,$11,$AA, $00, $0A, $00, $A0,$01,$AA
.byte $00, $0A,$0A, $A0,$02,$AA, $00,$00, $0A, $A4,$AA, $A4,$00
.byte $22,$22, $A0,$12,$AA, $A3,$22, $A0,$01,$AA, $22,$22, $A0,$01,$A2, $A0,$02,$AA
.byte $22,$22, $A0,$01,$A2, $2A, $A3,$AA, $A4,$00, $22,$22, $A0,$12,$AA
.byte $A3,$22, $A0,$01,$AA, $A3,$22, $A0,$02,$AA, $A4,$22, $A3,$AA, $A4,$00
.byte $22,$22, $A0,$11,$AA, $A4,$82, $A0,$01,$AA, $A3,$82, $A0,$01,$AA, $8A
.byte $A3,$82, $A0,$01,$A2, $A3,$AA, $A4,$00, $88,$88, $A0,$11,$AA, $A4,$A8
.byte $A5,$AA, $A4,$A8, $A4,$AA
.byte $A0,$01,$AA, $9A,$9A, $A0,$10,$AA, $A3,$7A, $AA,$AA, $1A,$1A, $11
.byte $A0,$02,$A1, $A4,$AA, $99, $BB, $A0,$10,$AA, $A4,$77, $A5,$AA
.byte $1A,$1A, $11, $A0,$02,$A1, $A8,$AA, $0B, $A0,$11,$AA, $A4,$77
.byte $A3,$AA, $0A, $00, $77,$77, $A6,$AA, $0A, $6A
.byte $A3,$AA, $BB, $BA, $A6,$AA, $77,$77, $A8,$AA, $00,$00
.byte $77, $A0,$01,$A7, $A0,$02,$AA, $7A, $70, $A0,$01,$AA, $15
.byte $10, $7A, $A4,$AA, $00,$00, $66, $A3,$AA, $40
.byte $A7,$AA, $70, $00, $A8,$AA, $A3,$00, $A0,$01,$AA, $7A
.byte $A3,$77, $A0,$01,$AA, $70, $50, $A5,$AA, $00,$00, $06
.byte $6A,$6A, $A0,$01,$AA, $C4, $4A, $A6,$AA, $01,$01, $A0,$01,$A5
.byte $A7,$AA, $00,$00, $70, $A5,$77, $A0,$01,$AA, $77, $55
.byte $A5,$AA, $A5,$00, $A0,$01,$AA, $CC, $44, $A6,$AA, $77
.byte $55, $A8,$AA, $00, $70, $A5,$77, $AA,$AA, $A3,$00
.byte $A0,$01,$A0, $A0,$01,$AA, $A0,$01,$AF, $F4, $FA, $A3,$AA, $8A,$8A
.byte $87, $A0,$01,$A5, $A8,$AA, $00, $07, $A4,$77, $22
.byte $A0,$11,$AA, $00, $A0,$01,$AA, $00, $A0,$01,$AA, $00, $A5,$AA
.byte $00,$00, $A4,$AA, $00,$00, $07, $27,$27, $22, $A0,$01,$A2
.byte $A0,$11,$AA, $00, $0A, $00, $A0,$01,$AA, $00, $0A,$0A
.byte $A0,$02,$AA, $00,$00, $0A, $A4,$AA, $A3,$00, $A3,$22, $A0,$12,$AA
.byte $A3,$22, $A0,$01,$AA, $22,$22, $A0,$01,$A2, $A0,$02,$AA, $22,$22, $A0,$01,$A2
.byte $2A, $A3,$AA, $A3,$00, $A3,$22, $A0,$12,$AA, $A3,$22, $A0,$01,$AA
.byte $A3,$22, $A0,$02,$AA, $A4,$22, $A3,$AA, $A3,$00, $A3,$22, $A0,$11,$AA
.byte $A4,$82, $A0,$01,$AA, $A3,$82, $A0,$01,$AA, $8A, $A3,$82, $A0,$01,$A2
.byte $A3,$AA, $A3,$00, $A3,$88, $A0,$11,$AA, $A4,$A8, $A5,$AA, $A4,$A8
.byte $A4,$AA
.byte $A1
; cycles=1337
bath_34_rle: .byte $28 ; ysize=48

View File

@ -1,11 +1,11 @@
walkway1_rle: .byte $28 ; ysize=48
.byte $22, $55, $05, $22, $55, $A8,$66, $A3,$22
.byte $A0,$12,$66, $A3,$22, $A3,$66, $22, $55, $00, $02
.byte $55, $22, $26, $A4,$66, $26, $A5,$22, $26
.byte $A5,$66, $26, $22,$22, $26, $A5,$66, $26, $22
.byte $22, $55, $05, $22, $55, $A8,$66, $A4,$22
.byte $A0,$10,$66, $A4,$22, $A3,$66, $22, $55, $00, $02
.byte $55, $22, $26, $A4,$66, $26, $A6,$22, $26
.byte $A4,$66, $26, $22,$22, $26, $A4,$66, $26, $22,$22
.byte $02,$02, $22,$22, $26, $66, $22, $55, $00,$00
.byte $55, $22,$22, $A4,$26, $22,$22, $02, $40,$40, $10
.byte $22,$22, $A3,$26, $A6,$22, $A4,$26, $22, $10, $04,$04
.byte $55, $22,$22, $A4,$26, $22,$22, $02, $40,$40, $12
.byte $22,$22, $A3,$26, $A6,$22, $A3,$26, $22,$22, $10, $04,$04
.byte $10, $02, $22, $26, $22, $55, $00,$00
.byte $55, $A7,$22, $00, $01, $90, $00, $01
.byte $10, $AE,$22, $11, $00, $01, $00, $91

Binary file not shown.

Before

Width:  |  Height:  |  Size: 981 B

After

Width:  |  Height:  |  Size: 9.0 KiB