From 699be9a03430bfd0aa7a83a1010fb2f14cbae0f7 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 28 Jun 2025 17:03:52 +0200 Subject: [PATCH] Prepare for 4 cloud --- lumber.asm | 53 +++++++++++++++++++++++++++++++++++++---------------- lumber.xex | Bin 38262 -> 38359 bytes 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/lumber.asm b/lumber.asm index aeb6e33..ed8ca7e 100644 --- a/lumber.asm +++ b/lumber.asm @@ -54,7 +54,7 @@ display = $a000 .zpvar birdsHpos .byte ; 0 - no birds on screen (from $13 to $de) .zpvar birdsOffset .byte .zpvar birds_order .byte ; $00 - standard , $80 - reverse - .zpvar clouds1Hpos,clouds2Hpos,clouds3Hpos .byte ; 0 - no cloud on screen (from $0e to $de) + .zpvar clouds1Hpos,clouds2Hpos,clouds3Hpos,clouds4Hpos .byte ; 0 - no cloud on screen (from $0e to $de) ; PMG registers for sprites over horizon .zpvar HPOSP0_u .byte .zpvar HPOSP1_u .byte @@ -1507,10 +1507,10 @@ no_foot_delay jsr MenuAnimationsReset jsr ClearPM jsr HidePM - jsr PrepareCloudsPM jsr PrepareTitlePM jsr CreditsClear mva #0 StateFlag + jsr PrepareCloudsPM mva #>font_logo CHBAS mwa #dl_title dlptrs mva GameColors+c_sky COLBAKS @@ -2575,22 +2575,30 @@ datalines_bird=8 ; 3 clouds ; 1 - vertical offset in PM from 5 (first byte) to 19 (last byte) ; 2 - vertical offset in PM from 20 (first byte) to 35 (last byte) - ; 3 - vertical offset in PM from 36 (first byte) to 84 (last byte) + ; 3 - vertical offset in PM from 36 (first byte) to 51 (last byte) + ; 4 - vertical offset in PM from 52 (first byte) to 74 (last byte) ; cloud jsr make_cloud1 jsr make_cloud2 jsr make_cloud3 + lda StateFlag + beq no_cloud4 ; only 3 clouds on Start (Menu) screen + jsr make_cloud4 +no_cloud4 mva #0 SIZEP2_u sta SIZEP3_u lda #%01010101 sta SIZEM_u mva GameColors+c_clouds PCOLR2 sta PCOLR3 - lda #36 + randomize 10 230 + sta clouds4Hpos + randomize 10 230 + sta clouds3Hpos + randomize 10 230 sta clouds2Hpos - lda #98 - sta clouds1Hpos - + randomize 10 230 + sta clouds1Hpos clc sta HPOSM2_u adc #4 @@ -2612,10 +2620,9 @@ make_cloud1 randomize 0 (19-5-datalines_clouds) adc #(datalines_clouds-1+5) tay - lda RANDOM - and #%00000011 + randomize 0 2 clc - adc #6 ; (6 to 9 = shapes 7 to 10) + adc #7 ; (7 to 9 = shapes 8 to 10) bne fill_cloud make_cloud2 ; clear cloud 2 PMG memory @@ -2629,14 +2636,13 @@ make_cloud2 randomize 0 (35-20-datalines_clouds) adc #(datalines_clouds-1+20) tay - lda RANDOM - and #%00000011 + randomize 0 2 clc - adc #3 ; (3 to 6 = shapes 4 to 7) + adc #5 ; (5 to 7 = shapes 6 to 8) bne fill_cloud make_cloud3 ; clear cloud 3 PMG memory - ldx #(60-36) ; ldx #(84-36) + ldx #(51-36) ; ldx #(84-36) lda #0 @ sta PMmemory+$300+36,x sta PMmemory+$380+36,x @@ -2646,8 +2652,23 @@ make_cloud3 randomize 0 (51-36-datalines_clouds) adc #(datalines_clouds-1+36) tay - lda RANDOM - and #%00000011 ; (0 to 3 = shapes 1 to 4) + randomize 0 3 + clc + adc #2 ; (2 to 5 = shapes 3 to 6) + bne fill_cloud +make_cloud4 + ; clear cloud 4 PMG memory + ldx #(74-52) + lda #0 +@ sta PMmemory+$300+52,x + sta PMmemory+$380+52,x + sta PMmemory+$180+52,x + dex + bpl @- + randomize 0 (74-52-datalines_clouds) + adc #(datalines_clouds-1+52) + tay + randomize 0 2 ; (0 to 2 = shapes 1 to 3) ; fill cloud PMG memory fill_cloud ldx #datalines_clouds-1 diff --git a/lumber.xex b/lumber.xex index 0d0f710cf4d06bdb13962ac322d9727b438070d2..128533c437fb264263523727a0052dcd58f985af 100644 GIT binary patch delta 5049 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 RF_#hxq{f;KpK6e@{t3lHbZ7to delta 4907 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