ootw: c2: cage end sequence mostly done

This commit is contained in:
Vince Weaver 2019-07-20 00:36:05 -04:00
parent 269719ef44
commit 13cfac1859
4 changed files with 160 additions and 48 deletions

View File

@ -57,6 +57,10 @@ General:
Level/Checkpoint #2:
* general
+ If aliens catch you, they punch you
+ Shields disappear if you leave the room
* cage room:
+ Swing in the cage (take into account keyboard input)
+ Ability to pick up gun, with all that entails

View File

@ -776,9 +776,8 @@ done_debris:
; frame 40 getting up one step?
; frame 60 all stood up
; frame 70 jump -- 90
; frame 90 standing left (taps)
; frame 100 turn right
; frame 120 turn left
; frame 90 standing right (taps)
; frame 100 turn left
lda #20
sta XPOS
@ -789,14 +788,11 @@ done_debris:
cmp #18
bcc ce_done_physicist ; blt
cmp #120
bcs ce_stand_left ; bge
cmp #100
bcs ce_stand_right ; bge
bcs ce_stand_left ; bge
cmp #90
bcs ce_stand_left ; bge
bcs ce_stand_right ; bge
cmp #70
bcs ce_jump ; bge
@ -904,7 +900,21 @@ ce_done_physicist:
lda FRAMEL
cmp #18
bcc ce_done_friend ; blt
bcs ce_friend_keep ; bge
jmp ce_done_friend ; too far to branch
ce_friend_keep:
cmp #120
bcs ce_friend_stand_right ; bge
cmp #110
bcs ce_friend_point ; bge
cmp #100
bcs ce_friend_stand_right ; bge
cmp #90
bcs ce_friend_tap ; bge
cmp #76
bcs ce_friend_stand_right ; bge
@ -940,16 +950,55 @@ ce_friend_half_stand_cage:
ldy #>friend_crouch1
jmp ce_draw_friend_right
ce_friend_tap:
sec
sbc #90
and #$fe
tay
lda tap_sequence,Y
tax
lda tap_sequence+1,Y
tay
lda #25 ; one off
sta XPOS
jmp ce_draw_friend_right
ce_friend_point:
sec
sbc #110
and #$fe
tay
lda point_sequence,Y
tax
lda point_sequence+1,Y
tay
lda #25 ; one off
sta XPOS
jmp ce_draw_friend_right
ce_friend_stand_cage:
ldx #<friend_turning_sprite
ldy #>friend_turning_sprite
ldx #<friend_stand
ldy #>friend_stand
jmp ce_draw_friend_right
ce_friend_turn:
ldx #<friend_stand
ldy #>friend_stand
ldx #<friend_turning_sprite
ldy #>friend_turning_sprite
jmp ce_draw_friend_right
ce_friend_stand_right:
@ -1198,13 +1247,13 @@ ce_done_gun:
;================
; delay
; lda #150
; jsr WAIT
lda #150
jsr WAIT
wuk:
lda KEYPRESS
bpl wuk
bit KEYRESET
; lda KEYPRESS
; bpl wuk
; bit KEYRESET
@ -1339,4 +1388,63 @@ ce_phys_jump:
.byte 29,30 ; 88
.word crouch1
tap_sequence:
.word friend_tap1 ; 90
.word friend_tap2 ; 92
.word friend_tap3 ; 94
.word friend_tap2 ; 96
.word friend_tap3 ; 98
point_sequence:
.word friend_tap1 ; 110
.word friend_mouth ; 112
.word friend_tap3 ; 114
.word friend_tap2 ; 116
.word friend_tap3 ; 118
friend_tap1:
.byte 5,8
.byte $AA,$AA,$fa,$ff,$f7
.byte $AA,$AA,$ff,$0f,$0f
.byte $AA,$fA,$fA,$f0,$0f
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$ff,$77
.byte $AA,$AA,$AA,$0f,$07
.byte $AA,$AA,$0A,$00,$00
friend_tap2:
.byte 5,8
.byte $AA,$AA,$fa,$ff,$f7
.byte $AA,$AA,$ff,$0f,$0f
.byte $Af,$Af,$Af,$0f,$0f
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$ff,$77
.byte $AA,$AA,$AA,$0f,$07
.byte $AA,$AA,$0A,$00,$00
friend_tap3:
.byte 5,8
.byte $AA,$AA,$fa,$ff,$f7
.byte $AA,$AA,$ff,$0f,$0f
.byte $AA,$fA,$fA,$0f,$0f
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$ff,$77
.byte $AA,$AA,$AA,$0f,$07
.byte $AA,$AA,$0A,$00,$00
friend_mouth:
.byte 5,8
.byte $AA,$AA,$fa,$ff,$f7
.byte $AA,$AA,$ff,$0f,$0f
.byte $AA,$AA,$Af,$ff,$ff
.byte $AA,$AA,$AA,$00,$0f
.byte $AA,$AA,$AA,$00,$00
.byte $AA,$AA,$AA,$ff,$77
.byte $AA,$AA,$AA,$0f,$07
.byte $AA,$AA,$0A,$00,$00

View File

@ -9,6 +9,7 @@ ootw_jail_init:
sta DUDE_OUT
sta PHYSICIST_STATE
sta WHICH_JAIL
sta DIRECTION ; left
lda #1
sta JAIL_POWER_ON
@ -30,13 +31,12 @@ ootw_jail_init:
sta friend_y
lda #29
lda #28
sta PHYSICIST_X
lda #30
sta PHYSICIST_Y
lda #1
sta DIRECTION
rts
@ -342,7 +342,7 @@ bg_jail0:
lda GUN_OUT
beq c2_no_bg_action
lda #34
lda #35
sta XPOS
lda #44
sta YPOS

View File

@ -11,7 +11,7 @@
friend_stand:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$00,$ff,$aa
@ -41,7 +41,7 @@ friend_walk_progression:
friend_walk_left1:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$7a,$00,$ff,$aa
.byte $aa,$77,$00,$ff,$aa
@ -52,7 +52,7 @@ friend_walk_left1:
friend_walk_left2:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$7a,$ff,$0f,$aa
@ -63,7 +63,7 @@ friend_walk_left2:
friend_walk_left3:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -74,7 +74,7 @@ friend_walk_left3:
friend_walk_left4:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -85,7 +85,7 @@ friend_walk_left4:
friend_walk_left5:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -96,7 +96,7 @@ friend_walk_left5:
friend_walk_left6:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$0f,$7a
@ -107,7 +107,7 @@ friend_walk_left6:
friend_walk_left7:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$00,$ff,$aa
@ -118,7 +118,7 @@ friend_walk_left7:
friend_walk_left8:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$7a,$00,$ff,$fa
@ -147,7 +147,7 @@ friend_run_progression:
friend_run_left1:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$7a,$00,$ff,$aa
.byte $aa,$77,$00,$ff,$aa
@ -158,7 +158,7 @@ friend_run_left1:
friend_run_left2:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$7a,$ff,$0f,$aa
@ -169,7 +169,7 @@ friend_run_left2:
friend_run_left3:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -180,7 +180,7 @@ friend_run_left3:
friend_run_left4:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -191,7 +191,7 @@ friend_run_left4:
friend_run_left5:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$00,$aa
@ -202,7 +202,7 @@ friend_run_left5:
friend_run_left6:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$ff,$0f,$7a
@ -213,7 +213,7 @@ friend_run_left6:
friend_run_left7:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$aa,$00,$ff,$aa
@ -224,7 +224,7 @@ friend_run_left7:
friend_run_left8:
.byte $5,$8
.byte $aa,$fa,$7f,$f7,$aa
.byte $aa,$fa,$ff,$f7,$aa
.byte $aa,$ff,$0f,$0f,$aa
.byte $aa,$aa,$00,$ff,$aa
.byte $aa,$7a,$00,$ff,$fa
@ -253,7 +253,7 @@ friend_crouch_progression:
friend_crouch1:
.byte 5,8
.byte $AA,$AA,$AA,$AA,$AA
.byte $AA,$fA,$7f,$f7,$aa
.byte $AA,$fA,$ff,$f7,$aa
.byte $AA,$ff,$0f,$0f,$aa
.byte $AA,$AA,$00,$ff,$aa
.byte $AA,$Af,$0f,$0f,$aa
@ -265,7 +265,7 @@ friend_crouch2:
.byte 5,8
.byte $AA,$AA,$AA,$AA,$AA
.byte $AA,$AA,$fA,$7A,$aa
.byte $AA,$ff,$f7,$0f,$aa
.byte $AA,$ff,$ff,$0f,$aa
.byte $AA,$Af,$00,$ff,$aa
.byte $AA,$fA,$f0,$0f,$aa
.byte $AA,$AA,$f0,$f0,$aa
@ -280,13 +280,13 @@ friend_crouch2:
;=====================
friend_turning_sprite:
.byte $5,$8
.byte $aa,$57,$77,$aa,$aa
.byte $0a,$05,$00,$0a,$aa
.byte $77,$00,$00,$55,$aa
.byte $77,$00,$00,$55,$aa
.byte $aa,$00,$00,$a5,$aa
.byte $aa,$77,$55,$aa,$aa
.byte $07,$aa,$05,$aa,$aa
.byte $aa,$7f,$ff,$aa,$aa
.byte $0a,$07,$0f,$0a,$aa
.byte $ff,$00,$00,$77,$aa
.byte $ff,$00,$00,$77,$aa
.byte $af,$00,$00,$a7,$aa
.byte $aa,$ff,$77,$aa,$aa
.byte $0f,$aa,$07,$aa,$aa
.byte $00,$aa,$00,$aa,$aa