From 1932d97d83d65dd2d7cbaa1799b8f8df4fac6ba3 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 13 Aug 2024 11:50:40 +0200 Subject: [PATCH] Clouds added --- artwork/dino1.fnt | Bin 1024 -> 1024 bytes artwork/shapes.asm | 1 + dino.asm | 140 ++++++++++++++++++++++++++++++++++++++++----- dino.xex | Bin 6932 -> 7193 bytes 4 files changed, 126 insertions(+), 15 deletions(-) diff --git a/artwork/dino1.fnt b/artwork/dino1.fnt index 9e7038ae78ce8c860e47137037e2b5f877526499..077bf8319f4621014cef6243e6e0f1fca4227438 100644 GIT binary patch delta 51 zcmZqRXyDlJl1VJBtgbFEje#Kn1nL+VYSPkba?&RMXZk3>kd{`LmIjoolK_G`1_0Ax B5YGSr delta 51 zcmZqRXyDlJl1WTLLZZ$_f`LK8pw0kDF-Y*#@klUC{?GJLfJ4Hf!a{font4 chbas waitRTC ; or waitRTC ? mva #1 hscrol @@ -152,6 +181,7 @@ EndLoopL waitRTC ; or waitRTC ? mva #3 hscrol jsr WorldShift ; better place (flickering) + jsr CloudsL mva #>font4l chbas waitRTC ; or waitRTC ? mva #4 hscrol @@ -262,6 +292,35 @@ SwapLoop rts .endp ;----------------------------------------------- +.proc GenerateClouds + ; first clear PMgraphics memory + ldy #$00 + tya + ;hide PM + sta CloudHpos + sta CloudHpos+1 + sta CloudHpos+2 + sta CloudHpos+3 +@ sta PMgraph+$300,y + sta PMgraph+$400,y + sta PMgraph+$500,y + sta PMgraph+$600,y + sta PMgraph+$700,y + iny + bne @- + ; now make 4 clouds + ldy #7 +@ lda font1+$2e0,y ; cloud symbol ($5c) + sta PMgraph+$400+$78,y + sta PMgraph+$500+$80,y + sta PMgraph+$600+$78,y + sta PMgraph+$700+$80,y + dey + bpl @- + ;hide PM + rts +.endp +;----------------------------------------------- .proc ClearWorld ldy #WORLD_LENGTH ; world size lda #0 ; ground @@ -389,6 +448,26 @@ noInsert rts .endp ;----------------------------------------------- +.proc CloudsL + inc CloudHpos + inc CloudHpos+1 + inc CloudHpos+2 + inc CloudHpos+3 + inc CloudHpos+2 + inc CloudHpos+3 + rts +.endp +;----------------------------------------------- +.proc CloudsR + dec CloudHpos + dec CloudHpos+1 + dec CloudHpos+2 + dec CloudHpos+3 + dec CloudHpos+2 + dec CloudHpos+3 + rts +.endp +;----------------------------------------------- .proc ScoreUp inc score+4 lda score+4 @@ -456,13 +535,20 @@ NoBird cmp #JumpLen ; max jump phase beq EndJump inc JumpPhase +NoJump + ; clouds +Clouds + ldy #3 +@ lda CloudHpos,y + sta HPOSP0,y + dey + bpl @- rts EndJump lda #0 sta JumpPhase sta DinoState -NoJump - rts + beq NoJump .endp ;--------------------------------------------------- .proc SetStatusToL @@ -950,6 +1036,13 @@ Down sta scorel,x dex bpl @- + ;randomize clouds + ldy #3 +@ lda RANDOM + sta CloudHpos,y + dey + bpl @- + jsr Animate.Clouds rts .endp ;----------------------------------------------- @@ -1060,8 +1153,8 @@ FadeColor cpy #$10 bne FadeColor lda #$0f - sta COLOR2 sta COLOR4 + sta COLOR2 rts .endp ;----------------------------------------------- @@ -1082,8 +1175,25 @@ FadeColor .proc SetGameScreen mwa #GameDL dlptrs lda #@dmactl(standard|dma|players|missiles|lineX1) ; normal screen width, DL on, P/M on + lda #%00111110 sta dmactls mva #>font1 chbas + mva #>PMgraph PMBASE + lda #%00011111 ; P/M on + sta GRACTL + lda #$0a + sta COLPM0 + sta COLPM1 + sta COLPM2 + sta COLPM3 + lda #90 + sta HPOSP0 + lda #70 + sta HPOSP1 + lda #60 + sta HPOSP2 + lda #80 + sta HPOSP3 rts .endp ;----------------------------------------------- diff --git a/dino.xex b/dino.xex index 02a379aae0f9a7e3ee5261967663b23322c6a64d..4302433b132274009852d753cf9f5040c50ae64d 100644 GIT binary patch delta 2585 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