From 3db7732cc1d7b8a1b8eefc9cb69d62eee1a82ad7 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 18 Mar 2025 10:26:43 +0100 Subject: [PATCH] New method of handling DLI Prepare for clouds --- lumber.asm | 71 ++++++++++++++++++++++++++++------------------------- lumber.xex | Bin 24697 -> 24737 bytes 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/lumber.asm b/lumber.asm index 8b48fb5..cec1497 100644 --- a/lumber.asm +++ b/lumber.asm @@ -37,7 +37,6 @@ display = $a000 .zpvar LowCharsetBase .byte .zpvar displayposition .word .zpvar LastKey .byte ; $ff if no key pressed or last key released - .zpvar DLI_A DLI_X dliCount .byte .zpvar RMT_blocked noSfx SFX_EFFECT .byte .zpvar AutoPlay .byte ; Auto Play flag ($80 - auto) .zpvar birdsHpos .byte ; 0 - no birds on screen @@ -102,18 +101,22 @@ dl_level .by $10 .by $44 .wo power_bar ; power indicator - .by $84 ; DLI1 + .by $04 .by $44 .wo gamescreen_middle ; branches - :16 .by $04 - .by $84 ; DLI2 + :2 .by $04 + .by $84 ; DLI1 - color change (power bar - letters) and second clouds + :5 .by $04 + .by $84 ; DLI2 - last clouds + :7 .by $04 + .by $84 ; DLI3 .by $44 animation_addr .wo gamescreen_r_ph1p1 - .by $84 ; DLI3 - :3 .by $04 .by $84 ; DLI4 + :3 .by $04 .by $84 ; DLI5 + .by $84 ; DLI6 .by $04 .by $44 lastline_addr @@ -144,7 +147,7 @@ screen_level = gamescreen_middle+9*32+13 .proc vint ;-------------------------------------------------- - mva #0 dliCount + vdli IngameDLI1 ; over horizon ; PMG horizontal coordinates and sizes @@ -253,21 +256,23 @@ key_released .proc IngameDLI1 ;-------------------------------------------------- pha - lda dliCount - bne DLI2 - inc dliCount mva #$0c COLPF2 ; white (numbers and letters) + mwa #IngameDLI1.DLI2 VDSLST pla rti DLI2 - cmp #1 - bne DLI3 - inc dliCount + pha + mwa #IngameDLI1.DLI3 VDSLST + pla + rti +DLI3 + pha + sta WSYNC mva LowCharsetBase CHBASE mva #$f6 COLPF3 ; light brown - nop - nop - nop + ;nop + ;nop + ;nop mva #$B4 COLBAK ; thin line sta WSYNC mva #$DA COLBAK ; additional lines @@ -286,33 +291,32 @@ DLI2 pla tax inc SyncByte - pla - rti -DLI3 - cmp #2 - bne DLI4 - mva #$82 COLPF2 ; hat - :5 STA WSYNC - mva #$0c COLPF2 - inc dliCount + mwa #IngameDLI1.DLI4 VDSLST pla rti DLI4 - cmp #3 - bne DLI5 + pha sta WSYNC - mva #>font_game_upper CHBASE - mva #$ea COLPF2 ; button and buckle - inc dliCount + mva #$82 COLPF2 ; hat + :4 STA WSYNC + mva #$0c COLPF2 + mwa #IngameDLI1.DLI5 VDSLST pla rti DLI5 + pha + sta WSYNC + mva #$ea COLPF2 ; button and buckle + mva #>font_game_upper CHBASE + mwa #IngameDLI1.DLI6 VDSLST + pla + rti +DLI6 + pha sta WSYNC sta WSYNC sta WSYNC - ;sta WSYNC mva #$94 COLPF2 ; blue pants - inc dliCount pla rti .endp @@ -707,8 +711,7 @@ no_branch_l mva #>PMmemory PMBASE jsr HidePM mva #%00100100 GPRIOR - mva #0 dliCount - sta RMT_blocked + mva #0 RMT_blocked lda #$ff sta sfx_effect diff --git a/lumber.xex b/lumber.xex index d665c70f02f68fe8cebb684e07deeebe221e61a0..c45f210ec568839d0589037d86b9a7e3ae395839 100644 GIT binary patch delta 3309 zcmbVPYitx%6yDixS!iup3j%hjy={?DqkvL;Pz1zR#Z`GnvC+8ZEDp)>-(cH9j`7FvTLL8)J=Z^O(vZY)h;WfZ=fUSVPF4 z;lP8d$=PsBwbEPHTi)0Pww^F0)?i*pq?0`LKtsaAFR+HdvQs7e3T=$VspfL?)mpCP zu9#KAH#(MWXldQCdTm%Y|4qBv(r3)e2{rfibDHr^F_MRY3^MvphyC}YsIypd9Fk_C zC#dyRa`O0_;IEiP)~aN0kd&|EF49KH@*wx({bs*{a7B=G1o2_cy1?`xoMdOv$h8Wk z#6iPnCB6(S404I7GKP!|6HEVVUXE0(`{&ONS@b}il@f@pu?NI$jf5dFha^^--oywq z(@JFxWU&&fwnG9PK`_6eCYq9Um0{6Dn(2nI&VMb?wT7gvh3fz~KZM}4 z*9GvGR}lPq4f^^yuj%D<_i;+Vxy$Bk9NYjXY*>^Xnu(UEbe0p{ul#Wem#sj*YrOYWaznzQj?UICbh5vZBco};1>Ri^4yRp`tGEP^UxMW&mUaz9)v`q zdmW;r*%d_FKQ;Zrf{Y~9k2|UT1HTGwQS~zji37h3A#uK!J4BZ`-z83Tf7u0Si_#Y& zB$oYu(*I$;pGa!qS+qsv&kb(jzbH?h?>mwzK7h6;`oX~!XCoxe_ni)rGuG44z_%);{1@SH6$hQUY?QqR&^Zf{PyV!1C#`f@h_6Z-y_D4POPr{M1{5Ib? zXk{nAj_r#Mji1QNiH9R6AmvvGIFpyt8jhSnYXk&*3{X4Rc8yB$vg?pMc_OM&bi5%=zO==8AYd%8R{*%7*Zd-R4Nn& z*Jg0ZlFRLqT#^rtZ2wq)cJq}z$Eb0Pn%UMA?$eIZo^EP%Q}Ze-g_J9R<^bAF;Tbke zJzdo3!qA}rcF~?rDsx{nB^2qTZN5L`XiB`3M$Q$%9LTZSF_k{8bZRs;ew;=YPem*$ zskLotO}s^A8^}$He7ZJPYo=KqK8)4ccFi`&Df5|HtNV0ytlGR0+>>!jqsXn*J`YTX z{S2PT8*R__!W8|6r3Im*G%;ldPrdc0qcjbV?KSqTas#X4Qz~6--L7^T|5Rn+cwA+4 zZ@8iAU`vyA&gc!VEQGisjN5sL?#HSS?Uj3uQeZVxVRDW$c*F2D2B?F={?9lL q)@kaWm1U-PtJVZVaVPS~3cb5*lC)O$$df!Ds$1LjTjW{pg5ci=B9ux1 delta 3178 zcmbVOe^3-v9OsS$gP?}MmKjMcKinm#rXPW-ej7L@n`|j<@ zkF{uF6z$9o7VaG^XlkR`&8VfrG1Iiu_*Z{8)Z{rs6LU=tO5q;kel{&AlquY8v^SoM|~~G@Lv6RjOfyi^h@0+9Kc7(}%rrYOm$i z_JG{1CMo70b8oAU$un}}RTOTPo5|r>jzn@qZU$gF+)ZjCy29I5?nM`QSx{3h?^l!L z8nPc%xaEe>ok$8AB9|H>CVGc7*tY&!BsZ$b;YK=DoTY9r3>nmA;YRs@n0&=W2gTWH ze}6wcC1$9i`3n6>d$M5<3?aAl)9oX@iaz7Zj^?Vb{ts*O-fh%IAVr+6Va^?Y_t;f?SuO$IN!xU z%SSq}=Y0kquVlKI&p}@EX&mus0H5v;8FMG|todZ%si@D-Mtw4{l*L8)QO|`{)JO!> zPeR%15Ht%+q0R&vC;BluSA`yN(^+(76Vkwow74w8^$L^nbUt6z*s(O;V)70hWgCO^ zVPBi*s9bZTg)L*kAP<>BYw9^VpB$hyqI9TanyY}R^cfdwrm-B>Fj-%^jY0YxCSAG! zuO;NL5OScRlwX$W(zjsqxbSZ?S>J-~6T{zM3+7tsQc?1jOdB`*&yUODWhU!eP&_e* z)eO@2@&(P&BxnD1jUDU!E+*?sf0se}&TnOqzK3sUj_zmni!{?%4kb+1mtM*seGZc@ z{a&;G=D6^?nXGTYo{8b_uLb`$`_GQcVJ(yOEm$`(hvyiipZ%4ZBW)U%GvU9!{R)j8 z>%4=>`qFnWNZm}nYs+DS%T)Z*y7CNzUviXNGl?MA zhYXQL(9YrIYuE-@XUZQ=O~b=0>nI#9f6scY8g}~KMs|=PO>o{g2wOJnLa0(ehoXBC zEQtG&!_C&k=vK|6G^u_QGHjESO%J=;o3xY9Am^JN5^a@IE`cr`n#iT7RwlN&&|o}G1+_g-fb z=)VS}1;nU{fgI<`$^wDtUn<&Mn0Ju}KR(hzP2zc@c!AXdCoXb?^CbntymwBHw>ihF zfbky;8Q`Ten~{r>03@Z5E@~s~w3Kwfvy=7_KSw_&OxYb(c7w7Nl$|5W^--l}*$2up zQ1*dx!+1-kY#CPim{Mn%I~;T)m~Oh8DFg-8LE@LHD$;EVRumk{P?u1PsNjK4taRc~ zx*CsGxB<-qv=hS^jzj|;Sm|KYDFAlhfdJ;H#TV}l;9kpLoG(5YkbbU6EAGPHjZeW0 za6W@j*DKTp4+*3OncZBtPOb}?RTE7nby2ytO;d8TK)h@Wdt^`O2~g*;Q;M6r?6H`j z-!PU|Z+X&1ab!t=CM^A(Vl(^sYoiZG4XL6_9C4(&s|5!?6$l?}5(qxQH&peUKc?PP zhUt!6;8_{3vlX9Zyt9mVEN&t*6l2Px%o$^;=x+=KC{#+ZXU=XLC5>>tbF;uwfqmYZ z_PcAj0g55DPy#f%i@^85!KwvNJBHJm(uT!$tjJhw!%8a_WvsMdu~q7}&rEK?96KKm p5$OkePD-bs&R5*VNH!{vZrc|dN~ML|VpF})+#=bzLgUche*pcJM@9eu