diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 7cb85a0d..6aa69697 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -213,6 +213,7 @@ intro.o: intro.s zp.inc qload.inc music.inc \ sprites/peasant_sprites.inc \ sprites/bubble_sprites_e.inc \ sprites/bubble_sprites_w.inc \ + sprites/river_bubble_sprites.inc \ text/intro.inc \ draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \ diff --git a/games/peasant/intro.s b/games/peasant/intro.s index 28a2dade..b5cf191b 100644 --- a/games/peasant/intro.s +++ b/games/peasant/intro.s @@ -46,7 +46,7 @@ mockingboard_notfound: ; Cottage ;======================== - jsr cottage + jsr intro_cottage lda ESC_PRESSED bne escape_handler @@ -55,7 +55,7 @@ mockingboard_notfound: ; Lake West ;======================== - jsr lake_west + jsr intro_lake_west lda ESC_PRESSED bne escape_handler @@ -64,7 +64,7 @@ mockingboard_notfound: ; Lake East ;======================== - jsr lake_east + jsr intro_lake_east lda ESC_PRESSED bne escape_handler @@ -73,7 +73,7 @@ mockingboard_notfound: ; River ;======================== - jsr river + jsr intro_river lda ESC_PRESSED bne escape_handler @@ -82,7 +82,7 @@ mockingboard_notfound: ; Knight ;======================== - jsr knight + jsr intro_knight ;======================== ; Start actual game diff --git a/games/peasant/intro_cottage.s b/games/peasant/intro_cottage.s index 11c3adb6..c6f8bf09 100644 --- a/games/peasant/intro_cottage.s +++ b/games/peasant/intro_cottage.s @@ -2,7 +2,7 @@ ; More specifically, the Dashing Residence -cottage: +intro_cottage: ;======================== ; Cottage diff --git a/games/peasant/intro_knight.s b/games/peasant/intro_knight.s index b90d0cb4..5fcdc3e9 100644 --- a/games/peasant/intro_knight.s +++ b/games/peasant/intro_knight.s @@ -3,7 +3,7 @@ ;************************ ; Knight ;************************ -knight: +intro_knight: lda #0 sta FRAME @@ -20,23 +20,7 @@ knight: sta PEASANT_DIR - ;===================== - ; load bg - - lda #<(knight_lzsa) - sta getsrc_smc+1 - lda #>(knight_lzsa) - sta getsrc_smc+2 - - lda #$40 - - jsr decompress_lzsa2_fast - - ;================== - ; print title line - - jsr intro_print_title - + ;========================= ; load priority to $400 ; indirectly as we can't trash screen holes @@ -54,13 +38,33 @@ knight: jsr gr_copy_to_page1 + ;===================== + ; load bg + + lda #<(knight_lzsa) + sta getsrc_smc+1 + lda #>(knight_lzsa) + sta getsrc_smc+2 + + lda #$20 + + jsr decompress_lzsa2_fast + + jsr hgr_copy + + ;================== + ; print title line + + jsr intro_print_title + + ;==================== ; save background - lda PEASANT_X - sta CURSOR_X - lda PEASANT_Y - sta CURSOR_Y +; lda PEASANT_X +; sta CURSOR_X +; lda PEASANT_Y +; sta CURSOR_Y ;======================= ; walking diff --git a/games/peasant/intro_lake_e.s b/games/peasant/intro_lake_e.s index 77122d5f..a58f2f83 100644 --- a/games/peasant/intro_lake_e.s +++ b/games/peasant/intro_lake_e.s @@ -3,7 +3,7 @@ ;======================== ; Lake East ;======================== -lake_east: +intro_lake_east: lda #0 sta FRAME diff --git a/games/peasant/intro_lake_w.s b/games/peasant/intro_lake_w.s index 7ab03a44..aa9e250c 100644 --- a/games/peasant/intro_lake_w.s +++ b/games/peasant/intro_lake_w.s @@ -6,7 +6,7 @@ ;======================== ; Lake West ;======================== -lake_west: +intro_lake_west: lda #0 sta FRAME diff --git a/games/peasant/intro_river.s b/games/peasant/intro_river.s index 6f521bff..849c7f80 100644 --- a/games/peasant/intro_river.s +++ b/games/peasant/intro_river.s @@ -3,7 +3,7 @@ ;************************ ; River ;************************ -river: +intro_river: lda #0 sta FRAME @@ -19,25 +19,7 @@ river: lda #PEASANT_DIR_UP sta PEASANT_DIR - ;==================== - ; load bg - - - lda #<(river_lzsa) - sta getsrc_smc+1 - lda #>(river_lzsa) - sta getsrc_smc+2 - - lda #$40 - - jsr decompress_lzsa2_fast - - ;================ - ; print title - - jsr intro_print_title - - + ;======================== ; load priority to $400 ; indirectly as we can't trash screen holes @@ -54,13 +36,34 @@ river: jsr gr_copy_to_page1 + + ;==================== + ; load bg + + + lda #<(river_lzsa) + sta getsrc_smc+1 + lda #>(river_lzsa) + sta getsrc_smc+2 + + lda #$20 + + jsr decompress_lzsa2_fast + + jsr hgr_copy + + ;================ + ; print title + + jsr intro_print_title + ;==================== ; save background - lda PEASANT_X - sta CURSOR_X - lda PEASANT_Y - sta CURSOR_Y +; lda PEASANT_X +; sta CURSOR_X +; lda PEASANT_Y +; sta CURSOR_Y ;======================= ; walking @@ -209,7 +212,7 @@ update_bubbles_r: lda #166 sta CURSOR_Y - jsr hgr_draw_sprite_1x5 + jsr hgr_draw_sprite ;_1x5 ; bubble 2 @@ -231,7 +234,7 @@ update_bubbles_r: lda #154 sta CURSOR_Y - jsr hgr_draw_sprite_1x5 + jsr hgr_draw_sprite ;_1x5 ; bubble 3 @@ -252,7 +255,7 @@ update_bubbles_r: lda #160 sta CURSOR_Y - jsr hgr_draw_sprite_1x5 + jsr hgr_draw_sprite ;_1x5 rts @@ -264,24 +267,23 @@ bubble_progress_r: .word bubble_r_sprite1 + .include "sprites/river_bubble_sprites.inc" + +.if 0 bubble_r_sprite0: - .byte $AA - .byte $FF - .byte $AA - .byte $FF - .byte $AA + .byte 1,5 + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB + .byte $FF ; 1111 1111 1 11 11 11 WWWWWWW + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB + .byte $FF ; 1111 1111 1 11 11 11 WWWWWWW + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB bubble_r_sprite1: - .byte $FF - .byte $AA - .byte $AA - .byte $AA - .byte $FF - - - - - - - + .byte 1,5 + .byte $FF ; 1111 1111 1 11 11 11 WWWWWWW + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB + .byte $AA ; 1010 1010 0 10 10 10 BBBBBBB + .byte $FF ; 1111 1111 1 11 11 11 WWWWWWW +.endif diff --git a/games/peasant/sprites/Makefile b/games/peasant/sprites/Makefile index b7f3f10c..4929a4b1 100644 --- a/games/peasant/sprites/Makefile +++ b/games/peasant/sprites/Makefile @@ -3,7 +3,8 @@ HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite all: inventory_sprites.inc ending_sprites.inc trogdor_sprites.inc \ boat_sprites.inc peasant_sprites.inc ned_sprites.inc \ peasant_robe_sprites.inc kerrek_sprites.inc \ - waterfall_sprites.inc bubble_sprites_w.inc bubble_sprites_e.inc + waterfall_sprites.inc bubble_sprites_w.inc bubble_sprites_e.inc \ + river_bubble_sprites.inc peasant_sprites.inc: peasant_sprites.png $(HGR_SPRITE) -l peasant_right1_sprite peasant_sprites.png 35 1 35 29 > peasant_sprites.inc @@ -172,9 +173,13 @@ bubble_sprites_e.inc: bubble_sprites_e.png $(HGR_SPRITE) -s -l bubble_e_sprite4 bubble_sprites_e.png 7 29 13 34 >> bubble_sprites_e.inc $(HGR_SPRITE) -s -l bubble_e_sprite5 bubble_sprites_e.png 7 36 13 41 >> bubble_sprites_e.inc +river_bubble_sprites.inc: river_bubble_sprites.png + $(HGR_SPRITE) -s -l bubble_r_sprite0 river_bubble_sprites.png 7 1 13 6 > river_bubble_sprites.inc + $(HGR_SPRITE) -s -l bubble_r_sprite1 river_bubble_sprites.png 7 8 13 13 >> river_bubble_sprites.inc + clean: rm -f *~ peasant_sprites.inc inventory_sprites.inc \ ending_sprites.inc trogdor_sprites.inc ned_sprites.inc \ peasant_robe_sprites.inc kerrek_sprites.inc \ waterfall_sprites.inc bubble_sprites_w.inc \ - bubble_sprites_e.inc + bubble_sprites_e.inc river_bubble_sprites.inc diff --git a/games/peasant/sprites/river_bubble_sprites.png b/games/peasant/sprites/river_bubble_sprites.png new file mode 100644 index 00000000..0a613268 Binary files /dev/null and b/games/peasant/sprites/river_bubble_sprites.png differ