diff --git a/games/peasant/ending.s b/games/peasant/ending.s index 08831013..08a13f10 100644 --- a/games/peasant/ending.s +++ b/games/peasant/ending.s @@ -146,6 +146,14 @@ waterfall: ldx #0 stx BABY_COUNT + lda #14 + sta h1414_smc_len+1 + + ; initial bg save + lda #0 + sta CURSOR_X + sta CURSOR_Y + jsr save_bg_14x14 baby_loop: ldx BABY_COUNT @@ -159,10 +167,17 @@ baby_loop: adc #4 ; point to next sta BABY_COUNT -; jsr wait_until_keypress + ; make sprite length smaller after fall + lda FRAME + cmp #41 + bcs same_baby + lda #8 + sta h1414_smc_len+1 same_baby: + jsr restore_bg_14x14 + ldx BABY_COUNT lda baby_progress+2,X @@ -170,6 +185,8 @@ same_baby: lda baby_progress+3,X sta CURSOR_Y + ; save background so we can restore when move + jsr save_bg_14x14 ldx BABY_COUNT @@ -187,13 +204,9 @@ same_baby: no_draw_baby: - lda #200 + lda #150 jsr WAIT -; jsr wait_until_keypress - - jsr restore_bg_14x14 - inc FRAME jmp baby_loop @@ -202,7 +215,7 @@ done_baby: ; ;=========================== - jsr wait_until_keypress +; jsr wait_until_keypress ;========================= @@ -455,33 +468,38 @@ baby_pointers_h: baby_progress: - .byte 33, $FF, 0, 0 ; nothing at first? - .byte 36, 1, 38, 53 ; frame 33, head down 266,53 - .byte 38, 2, 38, 56 ; frame 36, head right, 266,56 - .byte 40, 3, 38, 73 ; frame 38, head up, 266,73 - .byte 42, 0, 37, 79 ; frame 40, head left, 259,79 - .byte 44, 1, 37, 85 ; frame 42, head down, 259,85 - .byte 46, 2, 37, 97 ; frame 44, head right, 259,97 - .byte 48, 3, 37, 98 ; frame 46, head up, 259, 98 - .byte 51, 4, 37, 113 ; frame 48, baby in water, 259, 113 - .byte 52, 5, 37, 113 ; frame 51, splash - .byte 66, $FF, 37, 113 ; frame 52, nothing - .byte 68, 5, 34, 120 ; frame 66, splash, 238,120 - .byte 70, 6, 34, 120 ; frame 68, head coming out 238,120 - .byte 75, 7, 34, 120 ; frame 70, head more out 238,120 - .byte 77, 8, 34, 121 ; frame 75, head down, 238,120 - .byte 81, 9, 33, 122 ; frame 77, frame 79, moving left same - .byte 85, 10,32, 122 ; frame 81, frame 83, moving left up - .byte 89, 9, 31, 123 ; 12 frames up - .byte 93, 10,30, 123 - .byte 97, 9, 29, 124 - .byte 101,10,28, 124 - .byte 105,9, 27, 125 - .byte 109,10,26, 125 - .byte 113,9, 25, 126 - .byte 117,10,24, 126 - .byte 121,9, 23, 127 - .byte 125,10,22, 127 ; 154,127 end + .byte 18, $FF, 0, 0 ; nothing at first? + .byte 20, 2, 37, 44 ; frame 28, head right 266,53 + .byte 22, 3, 37, 50 ; frame 30, head up 266,53 + .byte 24, 0, 37, 56 ; frame 32, head left 266,53 + .byte 26, 1, 37, 61 ; frame 34, head down 266,53 + .byte 28, 2, 37, 67 ; frame 36, head right, 266,56 + .byte 30, 3, 37, 73 ; frame 38, head up, 266,73 + .byte 32, 0, 37, 79 ; frame 40, head left, 259,79 + .byte 34, 1, 37, 85 ; frame 42, head down, 259,85 + .byte 36, 2, 37, 97 ; frame 44, head right, 259,97 + .byte 38, 3, 37, 98 ; frame 46, head up, 259, 98 + .byte 41, 4, 37, 113 ; frame 48, baby in water, 259, 113 + .byte 42, 5, 37, 113 ; frame 51, splash + .byte 56, $FF, 37, 113 ; frame 52, nothing + .byte 58, 5, 34, 120 ; frame 66, splash, 238,120 + .byte 60, 6, 34, 120 ; frame 68, head coming out 238,120 + .byte 65, 7, 34, 120 ; frame 70, head more out 238,120 + .byte 67, 8, 34, 121 ; frame 75, head down, 238,120 + .byte 71, 9, 33, 122 ; frame 77, frame 79, moving left same + .byte 75, 10,32, 122 ; frame 81, frame 83, moving left up + .byte 79, 9, 31, 123 ; 12 frames up + .byte 83, 10,30, 123 + .byte 87, 9, 29, 124 + .byte 91,10,28, 124 + .byte 95,9, 27, 125 + .byte 99,10,26, 125 + .byte 103,9, 25, 126 + .byte 107,10,24, 126 + .byte 111,9, 23, 127 + .byte 115,10,22, 127 ; 154,127 end + .byte 119,9, 21, 128 ; 154,127 end + .byte 123,10,20, 128 ; 154,127 end .byte $FF,$FF,0,0 diff --git a/games/peasant/hgr_14x14_sprite_mask.s b/games/peasant/hgr_14x14_sprite_mask.s index 7f668f87..0b7e7904 100644 --- a/games/peasant/hgr_14x14_sprite_mask.s +++ b/games/peasant/hgr_14x14_sprite_mask.s @@ -88,6 +88,7 @@ h1414_smc2: inc MASK lda MASK +h1414_smc_len: cmp #14 bne hgr_14x14_sprite_yloop diff --git a/games/peasant/sprites/end_sprites.png b/games/peasant/sprites/end_sprites.png index fe33989e..f55c0d0f 100644 Binary files a/games/peasant/sprites/end_sprites.png and b/games/peasant/sprites/end_sprites.png differ