From ad76d099b6f0829d5909dd4affd9df39589e3b86 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 13 Sep 2021 15:41:23 -0400 Subject: [PATCH] peasant: more work on baby urgh hgr is the worst --- games/peasant/ending.s | 86 ++++++++++++++++---------- games/peasant/hgr_14x14_sprite_mask.s | 1 + games/peasant/sprites/end_sprites.png | Bin 12014 -> 12212 bytes 3 files changed, 53 insertions(+), 34 deletions(-) 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 fe33989e2abaa9b16e85aa472596c535a25574c9..f55c0d0ffaf5e1469fe145bb2e8834e4268f452d 100644 GIT binary patch delta 8438 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 Y3l~k7SB&YdjsO4v07*qoM6N<$f`P`=rvLx| delta 8427 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 N002ovPDHLkV1fXj@JIjv