diff --git a/ootw/TODO b/ootw/TODO index c2106ab0..b0c61398 100644 --- a/ootw/TODO +++ b/ootw/TODO @@ -8,6 +8,9 @@ sprites_to_draw: + getting out of pool + beast +pool: ++ only have beast on rock if it's not out + cavern: + spread slugs out a bit more + slugs on ceiling diff --git a/ootw/cutscene_beast.s b/ootw/cutscene_beast.s index c2189782..402a5c71 100644 --- a/ootw/cutscene_beast.s +++ b/ootw/cutscene_beast.s @@ -36,15 +36,15 @@ beast_loop: ldx CUTFRAME - lda slug_frames,X + lda beast_frames,X sta INL - lda slug_frames+1,X + lda beast_frames+1,X sta INH lda #15 sta XPOS - lda #18 + lda #10 sta YPOS jsr put_sprite @@ -64,7 +64,7 @@ beast_long_delay: inx stx CUTFRAME - cpx #12 + cpx #28 beq beast_end jmp beast_loop @@ -102,20 +102,20 @@ beast_background: beast_frames: - .word beast_frame1 - .word beast_frame2 - .word beast_frame3 - .word beast_frame4 - .word beast_frame5 - .word beast_frame6 - .word beast_frame7 - .word beast_frame8 - .word beast_frame9 - .word beast_frame10 - .word beast_frame11 - .word beast_frame12 - .word beast_frame9 - .word beast_frame9 + .word beast_frame1 ; 0 + .word beast_frame2 ; 1 + .word beast_frame3 ; 2 + .word beast_frame4 ; 3 + .word beast_frame5 ; 4 + .word beast_frame6 ; 5 + .word beast_frame7 ; 6 + .word beast_frame8 ; 7 + .word beast_frame9 ; 8 + .word beast_frame10 ; 9 + .word beast_frame11 ; 10 + .word beast_frame12 ; 11 + .word beast_frame8 ; 12 + .word beast_frame8 ; 13 beast_frame1: ; piskel2 @@ -133,7 +133,7 @@ beast_frame2: ; piskel3 beast_frame3: ; piskel4 - .byte 9,6 + .byte 9,5 .byte $AA,$00,$01,$10,$00,$00,$10,$01,$00 .byte $AA,$00,$00,$00,$00,$00,$00,$00,$00 .byte $AA,$00,$00,$AA,$00,$00,$AA,$00,$00 @@ -142,8 +142,8 @@ beast_frame3: ; piskel4 beast_frame4: ; piskel5 - .byte 9,8 - .byte $AA,$AA,$00,$00,$00,$00,$10,$01,$AA + .byte 9,7 + .byte $AA,$AA,$00,$00,$00,$00,$00,$00,$AA .byte $AA,$0A,$00,$00,$00,$00,$00,$00,$0A .byte $AA,$00,$01,$10,$00,$00,$10,$01,$00 .byte $AA,$00,$00,$00,$00,$00,$00,$00,$00 diff --git a/ootw/ootw.s b/ootw/ootw.s index 2af6f6dd..a7b714a1 100644 --- a/ootw/ootw.s +++ b/ootw/ootw.s @@ -17,6 +17,7 @@ ootw: sta KICKING sta CROUCHING sta WHICH_CAVE + sta BEAST_OUT lda #22 sta PHYSICIST_Y diff --git a/ootw/ootw_mesa.s b/ootw/ootw_mesa.s index 521f48c1..0ea3241d 100644 --- a/ootw/ootw_mesa.s +++ b/ootw/ootw_mesa.s @@ -100,9 +100,23 @@ mesa_frame_no_oflo: ;==================== ; check if leaving room +mesa_check_right: + cmp #$2 + bne mesa_check_left - cmp #$2 - beq not_done_mesa ; we can't, dead end + lda BEAST_OUT ; trigger beast + bne not_done_mesa + + lda #1 + sta BEAST_OUT + + jsr beast_cutscene + + jmp not_done_mesa + +mesa_check_left: + cmp #$1 + bne not_done_mesa ; off screen to left mesa_off_left: diff --git a/ootw/zp.inc b/ootw/zp.inc index 84f8ace5..b22173bc 100644 --- a/ootw/zp.inc +++ b/ootw/zp.inc @@ -133,8 +133,7 @@ LEFT_LIMIT = $E0 RIGHT_LIMIT = $E1 WHICH_SLUG = $E2 WHICH_CAVE = $E3 -YY = $E4 -HGR_COLOR = $E4 +BEAST_OUT = $E4 GAME_OVER = $E5 EQUAKE_PROGRESS = $E6 EARTH_OFFSET = $E7 @@ -143,19 +142,9 @@ BOULDER_Y = $E9 CROUCHING = $EA KICKING = $EB CUTFRAME = $EC - ;SHIPY = $E4 - ;YADD = $E5 - ;LOOP = $E6 - ;MEMPTRL = $E7 - ;MEMPTRH = $E8 - ;NAMEL = $E9 - ;NAMEH = $EA - ;NAMEX = $EB - ;CHAR = $EC -STATE = $ED DISP_PAGE = $ED DRAW_PAGE = $EE -OFFSET = $EF +OFFSET = $EF PHYSICIST_X = $F0 PHYSICIST_Y = $F1 @@ -166,7 +155,7 @@ DIRECTION = $F5 GAIT = $F6 TENTACLE_X = $F7 TENTACLE_PROGRESS = $F8 -SLUGDEATH_PROGRESS = $F8 +SLUGDEATH_PROGRESS = $F8 TENTACLE_GRAB = $F9 SLUGDEATH = $F9 TEMP = $FA