From 1de9a8af66432f0f5641bbad9e02b1fc3f4f8ae6 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Aug 2021 14:07:19 -0400 Subject: [PATCH] peasant: bubbles in lake --- games/peasant/cottage.s | 3 + games/peasant/graphics/lake_w.png | Bin 14263 -> 14387 bytes games/peasant/hgr_1x5_sprite.s | 45 ++++ games/peasant/lake_w.s | 328 +++++++++++++++++++++++++++++- games/peasant/peasant.s | 3 +- games/peasant/zp.inc | 11 +- 6 files changed, 384 insertions(+), 6 deletions(-) create mode 100644 games/peasant/hgr_1x5_sprite.s diff --git a/games/peasant/cottage.s b/games/peasant/cottage.s index ad49df0e..11048fd7 100644 --- a/games/peasant/cottage.s +++ b/games/peasant/cottage.s @@ -18,6 +18,9 @@ cottage: lda #117 sta PEASANT_Y + lda #PEASANT_DIR_RIGHT + sta PEASANT_DIR + ;================== ; draw background diff --git a/games/peasant/graphics/lake_w.png b/games/peasant/graphics/lake_w.png index fb3a07fd0ea695ff922c72d19c47c618fd540e9c..b4aa8d63828f02718f1e26a80c353e54a5288504 100644 GIT binary patch delta 10209 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 @@ -20,17 +38,323 @@ lake_west: jsr hgr_put_string +; jsr display_cottage_text3 + + ;==================== + ; save background + + lda PEASANT_X + sta CURSOR_X + lda PEASANT_Y + sta CURSOR_Y + + ;======================= + ; walking + + jsr save_bg_7x30 + +lake_w_walk_loop: + jsr restore_bg_7x30 + + lda FRAME +check_lake_w_action1: + cmp #0 + bne check_lake_w_action2 + jsr display_cottage_text3 + jmp done_lake_w_action + +check_lake_w_action2: + cmp #20 + bne done_lake_w_action + jsr display_lake_w_text1 + +done_lake_w_action: + + + jsr update_bubbles + + + lda FRAME + asl + tax + + lda lake_w_path,X + bmi done_lake_w + sta PEASANT_X + sta CURSOR_X + + inx + lda lake_w_path,X + sta PEASANT_Y + sta CURSOR_Y + + jsr save_bg_7x30 + + jsr draw_peasant jsr wait_until_keypress + inc FRAME + + jmp lake_w_walk_loop + + + ;=================== + ; done + +done_lake_w: + rts + ; same message as end of cottage ; walk halfway across the screen lake_w_message1: - .byte 0,0,"You head east toward the",0 - .byte 0,0,"mountain atop which TROGDOR lives.",0 + .byte 8,41,"You head east toward the",0 + .byte 8,49,"mountain atop which",0 + .byte 8,57,"TROGDOR lives.",0 ; walk to edge + + + ;============================ + ; display cottage text 1 + ;============================ +display_lake_w_text1: + + ;==================== + ; draw text box + + lda #0 + sta BOX_X1H + lda #43 + sta BOX_X1L + lda #24 + sta BOX_Y1 + + lda #0 + sta BOX_X2H + lda #253 + sta BOX_X2L + lda #82 + sta BOX_Y2 + + jsr draw_box + + lda #lake_w_message1 + sta OUTH + + jsr hgr_put_string + jsr hgr_put_string + jsr hgr_put_string + + rts + + +lake_w_path: + .byte 1,155 + .byte 2,155 + .byte 3,155 + .byte 4,155 + .byte 5,155 + .byte 6,155 + .byte 7,155 + .byte 8,155 + .byte 9,155 + .byte 10,155 + .byte 11,155 + .byte 12,155 + .byte 13,155 + .byte 14,155 + .byte 15,155 + .byte 16,155 + .byte 17,155 + .byte 18,155 + .byte 19,155 + .byte 20,155 + .byte 21,155 + .byte 22,155 + .byte 23,155 + .byte 24,155 + .byte 25,155 + .byte 26,155 + .byte 27,155 + .byte 28,155 + .byte 29,155 + .byte 30,155 + .byte 31,155 + .byte 32,155 + .byte 33,155 + .byte 34,155 + .byte 35,155 + .byte 36,155 + .byte 37,155 + .byte 38,155 + .byte 39,155 + .byte $FF,$FF + + + ;================ + ; update bubbles +update_bubbles: + + ; 33,91 + ; 27,125 + ; 33,141 + ; 35,115 + + ; bubble 1 + + lda FRAME + and #7 + asl + tax + + lda bubble_progress,X + sta INL + inx + lda bubble_progress,X + sta INH + + lda #33 + sta CURSOR_X + lda #91 + sta CURSOR_Y + + jsr hgr_draw_sprite_1x5 + + + ; bubble 2 + + lda FRAME + adc #3 + and #7 + asl + tax + + lda bubble_progress,X + sta INL + inx + lda bubble_progress,X + sta INH + + lda #27 + sta CURSOR_X + lda #125 + sta CURSOR_Y + + jsr hgr_draw_sprite_1x5 + + ; bubble 3 + + lda FRAME + adc #5 + and #7 + asl + tax + + lda bubble_progress,X + sta INL + inx + lda bubble_progress,X + sta INH + + lda #33 + sta CURSOR_X + lda #141 + sta CURSOR_Y + + jsr hgr_draw_sprite_1x5 + + ; bubble 4 + + lda FRAME + adc #2 + and #7 + asl + tax + + lda bubble_progress,X + sta INL + inx + lda bubble_progress,X + sta INH + + lda #35 + sta CURSOR_X + lda #115 + sta CURSOR_Y + + jsr hgr_draw_sprite_1x5 + + + + + + + rts + + +bubble_progress: + .word bubble_sprite0 + .word bubble_sprite0 + .word bubble_sprite1 + .word bubble_sprite0 + .word bubble_sprite2 + .word bubble_sprite3 + .word bubble_sprite4 + .word bubble_sprite5 + + +bubble_sprite0: + .byte $2A + .byte $AA + .byte $2A + .byte $80 ; 1 000 0000 + .byte $2A + +bubble_sprite1: + .byte $2A + .byte $AA + .byte $2A + .byte $88 ; 1 XXX 10XX + .byte $22 ; 0 010 XX10 + +bubble_sprite2: + .byte $2A + .byte $AA + .byte $22 ; 0 010 XX10 + .byte $88 ; 1 XXX 10XX + .byte $2A + +bubble_sprite3: + .byte $2A + .byte $A2 ; 101X XX10 + .byte $08 ; 00XX 1XX0 + .byte $88 ; 1XX0 10XX + .byte $2A + +bubble_sprite4: + .byte $08 ; 0xx0 10xx + .byte $A2 ; 101x xx10 + .byte $08 ; 00xx 1xx0 + .byte $88 ; 1xx0 10XX + .byte $2A ; 0010 1010 + +bubble_sprite5: + .byte $2A ; 0010 1010 + .byte $88 ; 1XX0 10XX + .byte $22 ; 001X XX10 + .byte $88 ; 1XX0 10XX + .byte $2A ; 0010 1010 + + + + + + + diff --git a/games/peasant/peasant.s b/games/peasant/peasant.s index d54ec40a..0fa8b53f 100644 --- a/games/peasant/peasant.s +++ b/games/peasant/peasant.s @@ -22,7 +22,7 @@ peasant_quest: ; Cottage ;************************ - jsr cottage +; jsr cottage ;************************ ; Lake West @@ -71,5 +71,6 @@ peasant_quest: .include "draw_box.s" .include "hgr_rectangle.s" .include "hgr_7x30_sprite.s" +.include "hgr_1x5_sprite.s" .include "graphics/graphics.inc" diff --git a/games/peasant/zp.inc b/games/peasant/zp.inc index f7eac7d3..24200b4a 100644 --- a/games/peasant/zp.inc +++ b/games/peasant/zp.inc @@ -14,9 +14,14 @@ GBASH = $27 PEASANT_X = $60 PEASANT_Y = $61 -CURSOR_X = $62 -CURSOR_Y = $63 -FRAME = $64 +PEASANT_DIR = $62 + PEASANT_DIR_UP = 0 + PEASANT_DIR_RIGHT = 1 + PEASANT_DIR_LEFT = 2 + PEASANT_DIR_DOWN = 3 +CURSOR_X = $63 +CURSOR_Y = $64 +FRAME = $65 WHICH_LOAD=$80