mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-25 05:29:34 +00:00
ootw: c15: guard shooting
This commit is contained in:
parent
26593ef8ec
commit
b9bd74e5a8
@ -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:
|
||||
============
|
||||
|
163
ootw/ootw_c15.s
163
ootw/ootw_c15.s
@ -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 |
@ -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
|
||||
|
@ -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 |
Loading…
Reference in New Issue
Block a user