mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-12 15:30:55 +00:00
ootw: c15: guard shooting
This commit is contained in:
parent
26593ef8ec
commit
b9bd74e5a8
@ -131,6 +131,12 @@ BEHAVIOR DIFFERENCES:
|
|||||||
+ Level/Checkpoint #5
|
+ Level/Checkpoint #5
|
||||||
* Allow falling into first pit
|
* 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:
|
FUTURE WORK:
|
||||||
============
|
============
|
||||||
|
163
ootw/ootw_c15.s
163
ootw/ootw_c15.s
@ -393,12 +393,12 @@ room_loop:
|
|||||||
;==================================
|
;==================================
|
||||||
; draw background action
|
; draw background action
|
||||||
|
|
||||||
lda WHICH_CAVE
|
; lda WHICH_ROOM
|
||||||
|
|
||||||
bg_room0:
|
bg_room0:
|
||||||
|
|
||||||
; cmp #0
|
; cmp #0
|
||||||
; bne c4_no_bg_action
|
; bne c15_no_bg_action
|
||||||
|
|
||||||
; lda FRAMEL
|
; lda FRAMEL
|
||||||
; and #$c
|
; and #$c
|
||||||
@ -418,7 +418,7 @@ bg_room0:
|
|||||||
|
|
||||||
; jsr put_sprite
|
; jsr put_sprite
|
||||||
|
|
||||||
c5_no_bg_action:
|
c15_no_bg_action:
|
||||||
|
|
||||||
;===============================
|
;===============================
|
||||||
; check keyboard
|
; check keyboard
|
||||||
@ -439,38 +439,9 @@ c5_no_bg_action:
|
|||||||
jsr check_screen_limit
|
jsr check_screen_limit
|
||||||
|
|
||||||
;===============================
|
;===============================
|
||||||
; adjust floor
|
; adjust floor if necessary
|
||||||
;===============================
|
;===============================
|
||||||
|
; no sloped floors in c15
|
||||||
; 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:
|
|
||||||
|
|
||||||
|
|
||||||
;=====================================
|
;=====================================
|
||||||
; draw physicist
|
; draw physicist
|
||||||
@ -489,42 +460,66 @@ check_floor1:
|
|||||||
; draw foreground action
|
; draw foreground action
|
||||||
;=====================================
|
;=====================================
|
||||||
|
|
||||||
; lda WHICH_CAVE
|
lda WHICH_ROOM
|
||||||
; cmp #0
|
cmp #0
|
||||||
; bne c5_no_fg_action
|
bne c15_no_fg_action
|
||||||
|
|
||||||
c5_draw_rocks:
|
; Room 0 draw guard
|
||||||
; lda #1
|
c15_draw_fg_guard:
|
||||||
; sta XPOS
|
|
||||||
; lda #26
|
|
||||||
; sta YPOS
|
|
||||||
; lda #<small_rock
|
|
||||||
; sta INL
|
|
||||||
; lda #>small_rock
|
|
||||||
; sta INH
|
|
||||||
; jsr put_sprite
|
|
||||||
|
|
||||||
; lda #10
|
; real game it's not quite so regular, double shot eventually
|
||||||
; sta XPOS
|
|
||||||
; lda #18
|
|
||||||
; sta YPOS
|
|
||||||
; lda #<medium_rock
|
|
||||||
; sta INL
|
|
||||||
; lda #>medium_rock
|
|
||||||
; sta INH
|
|
||||||
; jsr put_sprite
|
|
||||||
|
|
||||||
; lda #31
|
; every so often, shoots
|
||||||
; sta XPOS
|
; for frames 0 and 1 every 32 ($1F)
|
||||||
; lda #14
|
|
||||||
; sta YPOS
|
|
||||||
; lda #<large_rock
|
|
||||||
; sta INL
|
|
||||||
; lda #>large_rock
|
|
||||||
; sta INH
|
|
||||||
; jsr put_sprite
|
|
||||||
|
|
||||||
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
|
; activate fg objects
|
||||||
@ -543,7 +538,7 @@ c5_no_fg_action:
|
|||||||
;================
|
;================
|
||||||
; move fg objects
|
; move fg objects
|
||||||
;================
|
;================
|
||||||
c4_move_fg_objects:
|
c15_move_fg_objects:
|
||||||
|
|
||||||
; lda CART_OUT
|
; lda CART_OUT
|
||||||
; cmp #1
|
; cmp #1
|
||||||
@ -777,3 +772,37 @@ bath_arrival_sequence:
|
|||||||
.byte 0
|
.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
|
; cycles=1337
|
||||||
bath_33_rle: .byte $28 ; ysize=48
|
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,$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,$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, $A5,$77, $A5,$AA
|
.byte $A0,$02,$A1, $A4,$AA, $99, $BB, $A0,$10,$AA, $A4,$77, $A5,$AA
|
||||||
.byte $1A, $11, $A0,$02,$A1, $A8,$AA, $0B, $A0,$11,$AA, $A5,$77
|
.byte $1A,$1A, $11, $A0,$02,$A1, $A8,$AA, $0B, $A0,$11,$AA, $A4,$77
|
||||||
.byte $A3,$AA, $0A, $00, $77, $A6,$AA, $0A, $6A
|
.byte $A3,$AA, $0A, $00, $77,$77, $A6,$AA, $0A, $6A
|
||||||
.byte $A3,$AA, $BB, $BA, $A6,$AA, $77,$77, $A8,$AA, $A3,$00
|
.byte $A3,$AA, $BB, $BA, $A6,$AA, $77,$77, $A8,$AA, $00,$00
|
||||||
.byte $77, $A0,$01,$A7, $A0,$02,$AA, $7A, $70, $15, $10
|
.byte $77, $A0,$01,$A7, $A0,$02,$AA, $7A, $70, $A0,$01,$AA, $15
|
||||||
.byte $7A, $A4,$AA, $00,$00, $66, $A3,$AA, $40, $A7,$AA
|
.byte $10, $7A, $A4,$AA, $00,$00, $66, $A3,$AA, $40
|
||||||
.byte $70, $00, $A8,$AA, $A4,$00, $A0,$01,$AA, $7A, $A3,$77
|
.byte $A7,$AA, $70, $00, $A8,$AA, $A3,$00, $A0,$01,$AA, $7A
|
||||||
.byte $70, $50, $A5,$AA, $00,$00, $06, $6A,$6A, $A0,$01,$AA
|
.byte $A3,$77, $A0,$01,$AA, $70, $50, $A5,$AA, $00,$00, $06
|
||||||
.byte $C4, $4A, $A6,$AA, $01,$01, $A0,$01,$A5, $A7,$AA, $A3,$00
|
.byte $6A,$6A, $A0,$01,$AA, $C4, $4A, $A6,$AA, $01,$01, $A0,$01,$A5
|
||||||
.byte $70, $A6,$77, $55, $A5,$AA, $A5,$00, $A0,$01,$AA, $CC
|
.byte $A7,$AA, $00,$00, $70, $A5,$77, $A0,$01,$AA, $77, $55
|
||||||
.byte $44, $A6,$AA, $77, $55, $A8,$AA, $00,$00, $70
|
.byte $A5,$AA, $A5,$00, $A0,$01,$AA, $CC, $44, $A6,$AA, $77
|
||||||
.byte $A5,$77, $A9,$AA, $A3,$00, $A0,$01,$A0, $A0,$01,$AA, $A0,$01,$AF, $F4
|
.byte $55, $A8,$AA, $00, $70, $A5,$77, $AA,$AA, $A3,$00
|
||||||
.byte $FA, $A3,$AA, $8A,$8A, $87, $A0,$01,$A5, $A8,$AA, $00,$00
|
.byte $A0,$01,$A0, $A0,$01,$AA, $A0,$01,$AF, $F4, $FA, $A3,$AA, $8A,$8A
|
||||||
.byte $07, $A3,$77, $27, $A0,$11,$AA, $00, $A0,$01,$AA, $00
|
.byte $87, $A0,$01,$A5, $A8,$AA, $00, $07, $A4,$77, $22
|
||||||
.byte $A0,$01,$AA, $00, $A5,$AA, $00,$00, $A4,$AA, $A3,$00, $07
|
.byte $A0,$11,$AA, $00, $A0,$01,$AA, $00, $A0,$01,$AA, $00, $A5,$AA
|
||||||
.byte $27,$27, $A0,$01,$A2, $A0,$11,$AA, $00, $0A, $00, $A0,$01,$AA
|
.byte $00,$00, $A4,$AA, $00,$00, $07, $27,$27, $22, $A0,$01,$A2
|
||||||
.byte $00, $0A,$0A, $A0,$02,$AA, $00,$00, $0A, $A4,$AA, $A4,$00
|
.byte $A0,$11,$AA, $00, $0A, $00, $A0,$01,$AA, $00, $0A,$0A
|
||||||
.byte $22,$22, $A0,$12,$AA, $A3,$22, $A0,$01,$AA, $22,$22, $A0,$01,$A2, $A0,$02,$AA
|
.byte $A0,$02,$AA, $00,$00, $0A, $A4,$AA, $A3,$00, $A3,$22, $A0,$12,$AA
|
||||||
.byte $22,$22, $A0,$01,$A2, $2A, $A3,$AA, $A4,$00, $22,$22, $A0,$12,$AA
|
.byte $A3,$22, $A0,$01,$AA, $22,$22, $A0,$01,$A2, $A0,$02,$AA, $22,$22, $A0,$01,$A2
|
||||||
.byte $A3,$22, $A0,$01,$AA, $A3,$22, $A0,$02,$AA, $A4,$22, $A3,$AA, $A4,$00
|
.byte $2A, $A3,$AA, $A3,$00, $A3,$22, $A0,$12,$AA, $A3,$22, $A0,$01,$AA
|
||||||
.byte $22,$22, $A0,$11,$AA, $A4,$82, $A0,$01,$AA, $A3,$82, $A0,$01,$AA, $8A
|
.byte $A3,$22, $A0,$02,$AA, $A4,$22, $A3,$AA, $A3,$00, $A3,$22, $A0,$11,$AA
|
||||||
.byte $A3,$82, $A0,$01,$A2, $A3,$AA, $A4,$00, $88,$88, $A0,$11,$AA, $A4,$A8
|
.byte $A4,$82, $A0,$01,$AA, $A3,$82, $A0,$01,$AA, $8A, $A3,$82, $A0,$01,$A2
|
||||||
.byte $A5,$AA, $A4,$A8, $A4,$AA
|
.byte $A3,$AA, $A3,$00, $A3,$88, $A0,$11,$AA, $A4,$A8, $A5,$AA, $A4,$A8
|
||||||
|
.byte $A4,$AA
|
||||||
.byte $A1
|
.byte $A1
|
||||||
; cycles=1337
|
; cycles=1337
|
||||||
bath_34_rle: .byte $28 ; ysize=48
|
bath_34_rle: .byte $28 ; ysize=48
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
walkway1_rle: .byte $28 ; ysize=48
|
walkway1_rle: .byte $28 ; ysize=48
|
||||||
.byte $22, $55, $05, $22, $55, $A8,$66, $A3,$22
|
.byte $22, $55, $05, $22, $55, $A8,$66, $A4,$22
|
||||||
.byte $A0,$12,$66, $A3,$22, $A3,$66, $22, $55, $00, $02
|
.byte $A0,$10,$66, $A4,$22, $A3,$66, $22, $55, $00, $02
|
||||||
.byte $55, $22, $26, $A4,$66, $26, $A5,$22, $26
|
.byte $55, $22, $26, $A4,$66, $26, $A6,$22, $26
|
||||||
.byte $A5,$66, $26, $22,$22, $26, $A5,$66, $26, $22
|
.byte $A4,$66, $26, $22,$22, $26, $A4,$66, $26, $22,$22
|
||||||
.byte $02,$02, $22,$22, $26, $66, $22, $55, $00,$00
|
.byte $02,$02, $22,$22, $26, $66, $22, $55, $00,$00
|
||||||
.byte $55, $22,$22, $A4,$26, $22,$22, $02, $40,$40, $10
|
.byte $55, $22,$22, $A4,$26, $22,$22, $02, $40,$40, $12
|
||||||
.byte $22,$22, $A3,$26, $A6,$22, $A4,$26, $22, $10, $04,$04
|
.byte $22,$22, $A3,$26, $A6,$22, $A3,$26, $22,$22, $10, $04,$04
|
||||||
.byte $10, $02, $22, $26, $22, $55, $00,$00
|
.byte $10, $02, $22, $26, $22, $55, $00,$00
|
||||||
.byte $55, $A7,$22, $00, $01, $90, $00, $01
|
.byte $55, $A7,$22, $00, $01, $90, $00, $01
|
||||||
.byte $10, $AE,$22, $11, $00, $01, $00, $91
|
.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…
x
Reference in New Issue
Block a user