From d9f8521606ca9de5b3d252749ed75d9253d1e87b Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 18 Apr 2025 18:37:08 +0200 Subject: [PATCH] Game Over screen replacement --- lumber.asm | 71 ++++++++++++++++++++++------------------------------- lumber.xex | Bin 27675 -> 27728 bytes 2 files changed, 29 insertions(+), 42 deletions(-) diff --git a/lumber.asm b/lumber.asm index b1a18d9..10fe51d 100644 --- a/lumber.asm +++ b/lumber.asm @@ -502,6 +502,7 @@ main jsr MakeDarkScreen jsr PAL_NTSC jsr initialize +GameStart RMTsong song_main_menu jsr StartScreen RMTSong song_ingame @@ -510,34 +511,28 @@ gameloop jsr MakeDarkScreen jsr LevelScreen jsr PlayLevel - jsr MakeDarkScreen ;jsr NextLevel ; RMTSong song_ingame jsr AudioInit ; after I/O - jmp gameloop + jmp gameOver EndOfLife ;dec Lives ; decrease Lives ;lda Lives ;cmp #"0" ;beq gameOver ; if no lives - game over ;jsr NextLife - jmp gameloop + jmp gameOver gameOver ;game over ;RMTSong song_game_over ;jsr HiScoreCheckWrite jsr GameOverScreen -@ lda CONSOL - and #@consol(start) ; START - beq main - lda TRIG0 ; fire - jeq main - jmp @- - + jmp GameStart ;-------------------------------------------------- .proc StartScreen ;-------------------------------------------------- jsr MakeDarkScreen + jsr HidePM mva #0 StateFlag mva #>font_titles CHBAS mwa #dl_title dlptrs @@ -576,16 +571,16 @@ EndOfStartScreen mva #1 PowerTimer ; reset timer ( 1, not 0! ) jsr draw_PowerBar mva #1 LumberjackDir ; right side - + mwa #gamescreen_r_ph1p1 animation_addr + mwa #last_line_r lastline_addr + jsr PrepareLevelPM jsr PrepareBirdsPM jsr PrepareCloudsPM - ldx #2 mwa #dl_level dlptrs lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) sta dmactls mva #%00000011 GRACTL - mva #>font_game_upper CHBAS jsr SetPMr1 mva #1 StateFlag pause 5 @@ -594,14 +589,24 @@ EndOfStartScreen ;-------------------------------------------------- .proc GameOverScreen ;-------------------------------------------------- -/* jsr MakeDarkScreen - ldx #5 - mwa #dl_over dlptrs - lda #%00110010 ; normal screen width, DL on, P/M off + jsr MakeDarkScreen + jsr HidePM + mva #3 StateFlag + mva #>font_titles CHBAS + mwa #dl_title dlptrs + mva GameColors+c_sky COLBAKS + mva GameColors+c_black COLOR0 + mva GameColors+c_font1 COLOR1 + mva GameColors+c_font2 COLOR2 + mva GameColors+c_font3 COLOR3 + lda #@dmactl(standard|dma) ; normal screen width, DL on, P/M off sta dmactls - pause 20 */ - mva #2 StateFlag - + pause 1 +OverLoop + jsr GetKey + cmp #@kbcode._space + bne OverLoop +EndOfOverScreen rts .endp ;-------------------------------------------------- @@ -615,6 +620,7 @@ EndOfStartScreen ;-------------------------------------------------- .proc PlayLevel ;-------------------------------------------------- + jsr PrepareLevelPM loop ; PUT GAME HERE lda branches_list+5 @@ -754,34 +760,14 @@ no_2branch_l jmp go_loop LevelDeath jsr SetRIPscreen - mva #2 StateFlag @ - ;mva RANDOM COLBAK jsr GetKey cmp #@kbcode._space bne @- ; restart game - jsr ScoreClear - ;jsr InitBranches - ;jsr draw_branches - lda branches_list+5 - cmp LumberjackDir - bne branch_ok - mva #0 branches_list+5 ; branches at Lumberjack level and position - remove it -branch_ok - jsr PrepareLevelPM - jsr SetLumberjackPosition - jsr LevelReset - mva #24 PowerValue ; half power - jsr draw_PowerBar - mva #1 StateFlag -go_loop - ;jsr WaitForKeyRelease - jmp loop -LevelOver - ; level over - jsr WaitForKeyRelease rts +go_loop + jmp loop .endp ;-------------------------------------------------- @@ -790,6 +776,7 @@ LevelOver ;-------------------------------------------------- .proc SetRIPscreen ;-------------------------------------------------- + mva #2 StateFlag :5 WaitForSync mva #>font_game_rip LowCharsetBase jsr HidePM diff --git a/lumber.xex b/lumber.xex index b7d2118f307d692df1e1ace296063eb20effbe25..6fda4457156cb9fd5765701eefd1a0649f52dfdb 100644 GIT binary patch delta 3205 zcmbVO4Qvx-7+%}`16zaJfQ`9t8$_0{4Fp3sKu{4Gbn@fo00-QD0J}NoZz2iOZtS*h zz2ocpDRDr4G~eye80P``LJn#3s zf7koI{TB`LMZ?kFB*T{DeMvi(8dEt^S(1}d!+LPeZEAuCEQ^zW17#Mld2f62+H zgNP+Fk`zw3!tOu2-+y3)i9ty`=_$#HJ?Qp(0z=9Kw2-8&AIjV7L7&&5?>(rhMF>N` zVYJ;LMA7SfHzmGupdaf{VT-lQ0bf*FXI=J-!y{S@B(ocd1pgDq&b(lIj5sYGw~>8b>q@pxLTw?qGwEEb1)sr7d$pJTV628_;m&@ZhT_7wE|Zu@y^f2ng> zO`(dGyS<*KkY4B+O(--;XcsJ@(`AI&kj!N|STeCRzGk~lev`H^m{AqAKh(KYQ%Ik| zW(w(rwrE0H1{ZEhrfqeieoELRL-a0kdDklep4J zqo%)2TN)h08`Rdf;7tnY$FQA3`d+@Q35|35g_?IT?0RbJOW!~teb|R9{eIK8jmqII zYU@jXdu$HlF8x8%Up^}QI%?}%@WR;e&rwJ}{S}&!*7+sWxYs}bp3^VamIlZ0Dz)`3 zsHKp83>6g8Prp(V(sFo-8vpm-FVMV$VT-7(FTI#T`mhgI`u(QAbyNtk~m zcj?2^H?mFe5?)T<-6LON4vS%PMmJr49=0;GFrB`b7tDStOF(Iw2_Yhi>z52psWz3-_YcmhBxiML|iu&Jec@7fdTPJR+f6O8A)l21xi}HUk)fRn7+CyeWT{t5W}J)Cw9b0=NQ|6I3n+ z2lI#os#v8yQ>nxtC6%f0X%$Y#$4_qi!(bo8;vfzr%ku;?KZpkhusDDNiLwdV-GHV7 zI)LFG4nu?2v3Q-jMgw>q4_?EJVD_23*KmjVZ^mbmu3>L%UWfS>%;(pW}p%ID7-yPbY#V6GevkE#<+ zh|F21IUF7oxF?%!kK6mPGVibuVHxPhvGjAOMZMS#unu8?EsU-Eq!UYNgsqn{2)p}O zeXHZ!uiNEY;;_4I5%^iC-;pkSg8H4He(hmnJue46yF;EU?si2>+)x2X``QEHveD;g zY|xU~2}|?TAU&a_BP+jYpy`m3s+soQd$Y`7KL%Bpwh1Y%aAIcQ-3CxE=KHYNgZW-8 zc4NK=i(Q!S#$qStyRZUXQsU`3-=IXRm&3g+d?#iQoZ;b&JEYuh4{Io7#P|zY;c}E1 zb0I+fsfwGhhRCzT2BVUW>PSL$u3;}(R-OCUG}6|Ioph$`8CJQ&hzW95oHEguCYgwL PXFi=a+z*g_)ph>?(NBf2 delta 3152 zcmbVOeQXnD7;n4ogCe8iHWtR%yMf9Gj0uWm0r3MAusA?)8w|L?_$UKGMUaTJ8@qk9 zcYC`#iBxQu4OI_0_r+j?UBpBPol(w(ME(E+37JS>UJS{=kj(eFV;$E50h*?F&+qrV zzvruW?<=1-?musAx|(8~(E4}E&R0!WJ$z|FPMVFeH|<6lOfV@sUS1IVQce^t-PyO~ zQD`qO7K}?d!3clS`%mu=el@@hL6;f+uYw%QMsJV{^(#YB9G_9xKc|F4R5|i-=q0yc zKtEu#-6h1swI2iViwo^8hnrNlJ>NyXXnDDqA!i$vQ=(N?PTJSI2+J1~<;V8bQ;6cf zFPb`Yf)`bBDCiYZ=^DXE*P`uSa$%9#gRXi|2@^00No=l3u(2TqsW27>ZY(2_?$0G>7uM!5Y=Y zzPp^5KVh`Qi;}U}ij|y@QBEcriX~){SDrK-xKYoSEcS0BohZDjMr&R*sSTBIlrWygLMQvOO_;&jY{Y$%O?Z{fv7vm7I1U}E*Pzz`y2pM8 z>{^{mK0rC{d%a$d5*jJIp($yyuYi$EWcW$N8Jnl*^j2t&;S@H4y-DX%29Q4FN`Ul2 zt27}k;xaI9)scw5uNdW=4VJ#rIhuDk>_V{hl`aBEA2zzu2NcS|AD0p)lCEE1`Mly` z{HhhP5tWxjq_7EWedU{@Q+S-pGo1RO=SM_*4{UwW1VzTun&p^(-*pX?~=6uhy1^8~;Ao`l`18 zq;LEhfb{b&)r7PhmV@!I=X;*!9S*w$Y<=lV0n&$kveF0U?bIi{HX?~+U*Xw6_4--R==3WaiFN=khb4_uif2E2;aMU^oV4v-((0pdd+9k zFS*GEy~QLLXkO^2_mTqvx%H7<>fw7m+0eV!EFN*g9T+a{@c2u{O4T0!<+0Ki{It?B z)4uiiS7vot`-oJFSeZw61`?!;ndyf;{)?Gi)|&yd)RURs=JEG{1r8E{j`Qx)rSU}3 zD*fT%drBvnpJq@7KXPsEs6~v=lI3${`99C8>9Q(RAU?P+)sgU>RK%C8MG1Qubb^6{ zQ0>|S&hxC#FjlhF`CMbAedITjthh#z9*&f*sMKtgIygv~2&JghLX~P7q+$qlN2Q8Y zs&kMs6Dpw&Vr@{VGa5A)g2fUpN#(Yw+_}MJafCuD~)!i)-EuWS8h-M>a> z2NpYUXp}rvu(BPvw;hY^IFu~Mp!r^crW3RslY4Sl>OF?VW8j)Vz+<@gD5eB!AjW?b zcUk|V0x{B2?6*uOL!p99s>8}|nI4Fhj$^+=#RA4ErmM;$DID!aDPF3F2{IvzY&8o* zXhsD*-vG;Rb)*d2?xjxG5Xu0@7@l`bv9w`j>LDT4cB73y>qvDrV(A)3S4cNFdQWpj zz3a@$2Dwjc!xs2BX3#Fd<}lFZhnsK*_;r9^gCW}ULfEtU{+`IwqUju zi_MsA!D16;o3Yr4*(R)zmMFvF$Zk{;)XSl(ZnhCqxCZ7$pQ4pJl$a!ECn`?`GNj)) Q|E@fkB)M