From b3b86335748590c645e68bfe50f3ffbcb0fec63c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 8 Nov 2022 18:45:06 +0100 Subject: [PATCH 01/23] New weapon! - "Lazy Boy" --- MANUAL_EN.md | 1 + MANUAL_PL.md | 27 ++++++++++++++------------- ai.asm | 8 ++++---- constants.asm | 9 ++++++++- definitions.asm | 4 +++- scorch.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48679 -> 48746 bytes textproc.asm | 20 ++++++++++++++++++++ 9 files changed, 51 insertions(+), 20 deletions(-) diff --git a/MANUAL_EN.md b/MANUAL_EN.md index f803d1a..c47e3a3 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -169,6 +169,7 @@ Only these points determine the order in the summary * **Mag Deflector** - the second passive-aggressive weapon :) . In case of a direct hit on a tank (and shield), it causes the hit point to move randomly to the left or right side of the protected tank, but not very far, so you can get "shrapnel" with stronger weapons. As in the case of **Bouncy Castle**, it is also a shield that corresponds to the action of **Heavy Shield** and has 99 units at the start (probably here we will have also to rethink this value and give a smaller one). * **Nuclear Winter** - adds nothing, takes nothing away :) - in fact, it is not so much a defensive weapon as a double-edged one. It floods the area with "radioactive" fallout, which is ordinary soil. If you do not have at hand any weapon that digs up the terrain, and for that a shield (preferably disposable), then after such "fallout" you will have to shoot yourself - because being underground is otherwise impossible. Alternatively, **White Flag** always remains. * **Long Schlong** - a special weapon :) - Costs a lot, doesn't really help with anything (except possibly digging yourself out but only when slightly buried but it has a cool name and looks cool :) - It can be activated independently of other defensive weapons and remains active until the end of the round (it cannot be deactivated). +* **Lazy Boy** - it is not actually a defensive weapon. It is an aiming aid. When it is activated, the tank tries to aim at the nearest enemy and automatically adjusts the power of the shot and angle. If it has too little energy, it can sometimes aim wrong (it uses a method like **Cyborg** to aim). Like **Battery**, it does not deactivate other defensive weapons when used. Due to the different operations of **MIRV**, defensive weapons **Bouncy Castle** and **Mag Deflector** only use the shielding function when hit by these weapons. In addition, **MIRV** heads do not bounce or fly through sidewalls during descent! diff --git a/MANUAL_PL.md b/MANUAL_PL.md index a2555da..156febc 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -3,7 +3,7 @@ Grać można przy użyciu klawiatury (wszystkie funkcjonalności) lub joysticka (wszystkie funkcjonalności niezbędne w rozgrywce). ## 1. Wybór opcji gry. -Na pierwszym ekranie możemy skonfigurować opcje rozgrywwki: +Na pierwszym ekranie możemy skonfigurować opcje rozgrywki: * ilość graczy (2 - 6) obejmuje tak ludzi jak graczy sterowanych przez komputer * początkową ilość gotówki każdego z graczy (8k to wybrana przez nas wartość optymalna, lecz przy krótkich rozgrywkach warto wybrać większą wartość) * grawitacja @@ -64,7 +64,7 @@ Tutaj klawiszologia jest prosta, klawisze kursora lub joystick: lewo/prawo - zmi | [A] lub [OPTION] | [7] | bezpośrednie przejście na ekran Inventory aktywacji broni defensywnych. | | [M] | [PAUSE] | wyłączenie/włączenie muzyki w tle | | [S] | [RESET] | wyłączenie/włączenie dźwięków efektów. | -| [START] | brak | przyspiesza/pomimja niektóre animacje w grze | +| [START] | brak | przyspiesza/pomija niektóre animacje w grze | | [O] | [3] | wymuszenie zakończenia gry (Game Over). W podsumowaniu wyników nie jest brana pod uwagę przerwana właśnie runda rozgrywki, a wyłącznie rundy zakończone wcześniej. Odpowiada to wciśnięciu klawisza [ESC] z tą różnicą, że wyświetlane jest podsumowanie oraz creditsy. | | [START] + [OPTION] | brak | natychmiastowe wymuszenie zakończenia gry (Game Over), tak jak [O] ale bez potwierdzenia. | | [ESC] | [*] | w czasie całej gry w dowolnym momencie (chyba że akurat gra komputer, wtedy czasem trzeba chwilę poczekać) można nacisnąć klawisz [ESC], który umożliwia przerwanie gry i powrót na początek (oczywiście jest zabezpieczenie przed przypadkowym naciśnięciem). | @@ -116,8 +116,8 @@ Po eksplozji każdy czołg w jej zasięgu traci energię. Działa to tak, że jeśli trafienie jest dokładnie w centralny punkt czołgu `EnergyDecrease` otrzymuje maksymalną wartość dla danej broni, a z każdym pikselem odległości od centrum czołgu wartość ta jest zmniejszana o 8. -Przykładowo jeśli strzał oddany za pomocą broni Baby Missile trafi idelanie w centum czołgu to straci on dokładnie 88 jednostek energii (plus to co straci spadając po eksplozji). -W przypadku tafienia tą samą bronią w odległości 10ciu pikseli od centrum czołgu strata ta będzie wynośiła już tyko 8 jednostek. +Przykładowo jeśli strzał oddany za pomocą broni Baby Missile trafi idealnie w centum czołgu to straci on dokładnie 88 jednostek energii (plus to co straci spadając po eksplozji). +W przypadku trafienia tą samą bronią w odległości 10ciu pikseli od centrum czołgu strata ta będzie wynosiła już tyko 8 jednostek. A oto wartości maksymalnego ubytku energii dla poszczególnych broni. Jeśli broń eksploduje kilka razy, każda z eksplozji jest obliczana niezależnie (dodatkowe wartości w tabeli): @@ -157,18 +157,19 @@ Duże punkty otrzymane przez gracza to ilość czołgów, które zginęły wcze Tylko te punkty decydują o kolejności w podsumowaniu ## 6. A teraz bronie defensywne: -* **White Flag** - powoduje poddanie gracza (może czasem przydać się w sytuacji beznadziejnej). Zaletą jest to, że poddając się nie dajemy dużego punktu przeciwnikom i nie powodujemy, że któryś zyska na tym, że nas zgładzi, ograniczamy też stratę swojej energii czyli także kasy. I tu także ważna uwaga - to jedyna broń defensywna, którą można deaktywować. Wystarczy ponownie wejść do inventory i jeszcze raz wybrać jej aktywację. -* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek) i jednocześnie jest to jedyna broń defensywna, która nie deaktywuje innych broni defensywnych w przypadku jej użycia. +* **White Flag** - powoduje poddanie gracza (może czasem przydać się w sytuacji beznadziejnej). Zaletą jest to, że poddając się nie dajemy dużego punktu przeciwnikom i nie powodujemy, że któryś zyska na tym, że nas zgładzi, ograniczamy też stratę swojej energii czyli także kasy. I tu także ważna uwaga - to jedyna broń defensywna, którą można dezaktywować. Wystarczy ponownie wejść do inventory i jeszcze raz wybrać jej aktywację. +* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek) i jednocześnie jest to jedyna broń defensywna, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. * **Hovercraft** - broń umożliwiająca przemieszczanie się czołgu. Posiada własny zasób paliwa a dodatkowo może być aktywowana wielokrotnie w czasie tej samej tury, a po jej użyciu możemy w tej samej turze aktywować inną broń defensywną i oddać strzał. Po jej użyciu czołg uniesie się ponad góry i za pomocą klawiszy kursora lub joysticka: lewo/prawo możemy przemieścić czołg na nową pozycję a [SPACJA] lub przycisk joysticka powodują wylądowanie czołgu w nowym miejscu. Latać można do chwili skończenia się "paliwa" (prezentowanego na pasku statusu tak jak energia broni defensywnej), jeśli paliwo się skończy czołg opadnie samodzielnie. Nie da się lądować na innych czołgach. -* **Parachute** - nie chroni przed ubytkiem energii z powodu sąsiedniej eksplozji, powoduje że nie ubywa energii w czasie JEDNEGO spadania. Po takim upadku deaktywuje się i trzeba aktywować nowy spadochron. -* **Strong Parachute** - spadochron z własną energią (na starcie 99 jednostek), działa tak samo jak Parachute (nie chroni przed eksplozjami) ma za to swój własny zasób energii przy spadaniu w pierwszej kolejności zmniejszana jest energia tego spadochronu (1 jednostka na jeden pixel opadania - inaczej niż czołg!) i jeśli dojdzie ona do 0 to spadochron deaktywuje się i dalej zmniejszana jest energia czołgu (tutaj już standardowo - 2 jednoski na jeden pikxel). -* **Shield** - najprostsza osłona działa dokładnie przeciwnie niż Parachute, nie chroni przed ubytkiem energii w czasie spadania, chroni za to przed ubytkiem energii spowodowanym JEDNĄ sąsiednią eksplozją. Chroni jednorazowo, bez znaczenia jak silna jest eksplozja (czy jest to tylko "draśnięcie", czy też bezpośrednie trafienie atomówką) i od razu po niej deaktywuje się. -* **Heavy Shield** - osłona z własną energią (na starcie 99 jednostek), działa tak samo jak Shield (nie chroni przed upadkiem) z tym wyjątkiem, że ma własny zasób energii. Przy eksplozji w pierwszej kolejności zmniejszana jest energia tej osłony i jeśli dojdzie ona do 0 to osłona deaktywuje się i dalej zmniejszana jest energia czołgu. W związku z takim działaniem, czołg z tym typem osłony można "zabić" podkopując go, bo spadanie zmniejsza energię czołgu a nie osłony. +* **Parachute** - nie chroni przed ubytkiem energii z powodu sąsiedniej eksplozji, powoduje że nie ubywa energii w czasie JEDNEGO spadania. Po takim upadku dezaktywuje się i trzeba aktywować nowy spadochron. +* **Strong Parachute** - spadochron z własną energią (na starcie 99 jednostek), działa tak samo jak Parachute (nie chroni przed eksplozjami) ma za to swój własny zasób energii przy spadaniu w pierwszej kolejności zmniejszana jest energia tego spadochronu (1 jednostka na jeden pixel opadania - inaczej niż czołg!) i jeśli dojdzie ona do 0 to spadochron dezaktywuje się i dalej zmniejszana jest energia czołgu (tutaj już standardowo - 2 jednostki na jeden pikxel). +* **Shield** - najprostsza osłona działa dokładnie przeciwnie niż Parachute, nie chroni przed ubytkiem energii w czasie spadania, chroni za to przed ubytkiem energii spowodowanym JEDNĄ sąsiednią eksplozją. Chroni jednorazowo, bez znaczenia jak silna jest eksplozja (czy jest to tylko "draśnięcie", czy też bezpośrednie trafienie atomówką) i od razu po niej dezaktywuje się. +* **Heavy Shield** - osłona z własną energią (na starcie 99 jednostek), działa tak samo jak Shield (nie chroni przed upadkiem) z tym wyjątkiem, że ma własny zasób energii. Przy eksplozji w pierwszej kolejności zmniejszana jest energia tej osłony i jeśli dojdzie ona do 0 to osłona dezaktywuje się i dalej zmniejszana jest energia czołgu. W związku z takim działaniem, czołg z tym typem osłony można "zabić" podkopując go, bo spadanie zmniejsza energię czołgu a nie osłony. * **Force Shield** - najmocniejsza osłona - działa tak jak Heavy Shield tyle że połączona z Parachute. Co ważne w jej przypadku upadek nie zabiera energii osłonie ani czołgowi. Zabierają ją tylko trafienia. -* **Bouncy Castle** - broń agresywna :) . Działa następująco. W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje "odbicie" pocisku w przeciwnym kierunku z tą samą siłą z jaką był wystrzelony. W przypadku braku wiatru i różnicy poziomów broń trafia wtedy w czołg, który ją wystrzelił. Po takim odbiciu deaktywuje się. W związku z tym, że broń ta reaguje w ten sposób tylko na precyzyjne trafienia, jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie trzeba będzie przemyśleć tę wartość i dać tu mniejszą). +* **Bouncy Castle** - broń agresywna :) . Działa następująco. W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje "odbicie" pocisku w przeciwnym kierunku z tą samą siłą z jaką był wystrzelony. W przypadku braku wiatru i różnicy poziomów broń trafia wtedy w czołg, który ją wystrzelił. Po takim odbiciu dezaktywuje się. W związku z tym, że broń ta reaguje w ten sposób tylko na precyzyjne trafienia, jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie trzeba będzie przemyśleć tę wartość i dać tu mniejszą). * **Mag Deflector** - druga broń agresywna :) . W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje przesunięcie punktu trafienia losowo w lewo lub prawą stronę chronionego czołgu, ale niezbyt daleko, więc można dostać "odłamkiem" przy silniejszej broni. Tak jak w przypadku Bouncy Castle jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie i tutaj trzeba będzie przemyśleć tę wartość i dać mniejszą). * **Nuclear Winter** - nic nie dodaje, nic nie zabiera :) - w zasadzie to broń nie tyle defensywna co obosieczna. Zasypuje teren opadem "radioaktywnym", który jest zwyczajną glebą. Jeśli nie mamy pod ręką żadnej broni odkopującej teren i do tego osłony (najlepiej jednorazowej), to po takim "opadzie" będzie trzeba strzelić do siebie - bo będąc pod ziemią inaczej się nie da. Ewentualnie pozostaje zawsze White Flag. -* **Long Schlong** - broń specjalna :) - kosztuje dużo, nie bardzo w czymkolwiek pomaga (poza ewentualnym odkopaniem się ale tylko przy niewielkim przysypaniu ale fajnie się nazywa i wygląda :) - Można ją aktywować niezależnie od innych broni defensywnych i pozostaje aktywna do końca rundy (nie da się jej deaktywować). +* **Long Schlong** - broń specjalna :) - kosztuje dużo, nie bardzo w czymkolwiek pomaga (poza ewentualnym odkopaniem się ale tylko przy niewielkim przysypaniu ale fajnie się nazywa i wygląda :) - Można ją aktywować niezależnie od innych broni defensywnych i pozostaje aktywna do końca rundy (nie da się jej dezaktywować). +* **Lazy Boy** - nie jest to właściwie broń defensywna. Jest to wspomaganie celowania. Po jej aktywacji czołg stara się wycelować w najbliższego wroga i automatycznie ustawia siłę strzału oraz kąt. W przypadku posiadania zbyt małej ilości energii może czasem wycelować źle (do celowania stosuje metodę taką jak **Cyborg**). Tak jak **Battery** nie dezaktywuje innych broni defensywnych w przypadku jej użycia. W związku z odmiennym działaniem broni **MIRV**, bronie defensywne **Bouncy Castle** i **Mag Deflector** wykorzystują tylko funkcję osłony przy trafieniu tą bronią. Dodatkowo głowice **MIRV** w czasie opadania nie odbijają się i nie przelatują przez ściany boczne! @@ -182,7 +183,7 @@ Oczywiście aktywacja broni w momencie kiedy mamy już aktywowaną jakąś inną ## 7. Bronie 'inne' :) : -* **Buy me!** - tej 'broni' nie można używać w rozgrywce. Jej zakup powoduje wylosowanie jesdnej z broni ofensywnych lub (żadziej) defensywnych i dodanie jej do arsenału gracza. Jest to loteria w której można stracić (jeśli wylosuje się broń tańsza niż cena **Buy Me!** ale też zyskać. Jeśli wylosuje się broń dużo droższa możemy otrzymać do dyspozycji broń, na którą nie było nas stać! +* **Buy me!** - tej 'broni' nie można używać w rozgrywce. Jej zakup powoduje wylosowanie jednej z broni ofensywnych lub (rzadziej) defensywnych i dodanie jej do arsenału gracza. Jest to loteria w której można stracić (jeśli wylosuje się broń tańsza niż cena **Buy Me!** ale też zyskać. Jeśli wylosuje się broń dużo droższa możemy otrzymać do dyspozycji broń, na którą nie było nas stać! ## 8. Poziomy trudności przeciwników sterowanych przez komputer: diff --git a/ai.asm b/ai.asm index 2006d6c..c49e467 100644 --- a/ai.asm +++ b/ai.asm @@ -22,9 +22,11 @@ pha lda AIRoutines,y pha - + jsr PrepareAIShoot + rts +.endp ;---------------------------------------------- -;.proc MakeLowResDistances +.proc PrepareAIShoot ; create low precision table of positions ; by dividing positions by 4 ldy #MaxPlayers-1 @@ -39,8 +41,6 @@ loop sta LowResDistances,y dey bpl loop -; rts -;.endp ; common values used in AI routines ; address of weapons table (for future use) diff --git a/constants.asm b/constants.asm index 68d4cba..1cd4bb0 100644 --- a/constants.asm +++ b/constants.asm @@ -274,7 +274,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Bouncy_Castle__ .by >price_Long_Barrel____ .by >price_Nuclear_Winter_ - + .by >price_Lazy_Boy_______ WeaponPriceL .by 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

3~Q2Hrh z0!O4Xtr}q(!9@+F9;D13ULoiRRVs3rFj>qP+s`qD@Qt3Sg!g+m!oTC0M))(7%^+`G z)rnx%n8>-wM5%!a|HPxC-r)9a7TEqn2$T1)xehwfA_q0;{X!?a}T7!XUtDg6$A99*T3cSKv=MySh`QLjj$8ChSrZIYe)=Eb7WGT~CF@;X{`Z zAFMG(c!`}?n zf^9Jzs&Qz%Df~b~w;K#Mc!T)lBYj7DiIgqWz_%6-6De0XLZm$5C_&=!7?BnWe4?Ft>G1=o}N3;Z*;>Zf17o`23-*5&cUX%1h;uLOn=kz=IZ8Zsk;7<^J{qcRV^E; zRhU$52IyP$BvZzMM*yx&+Fz5>c@ulDaih_u=e2C|u zYuzONJU*!hodTVJqH=3t6M1pygjgKji4zigUt|J0=YwY9BGU?&bA3<@${=>H_~L{~ zroF4A!}L7Uh>k{Xd@j{T+(PlngbWa19yQ_L)JKQo-=`i;*80V@kEX){9DH>Aqu=3p z3EwlG@34(M-(wqN+@RA_tU5ickAC4_|{{|Xh-F@$>-na&DUm|s9l-$LofjsEY|j})JF5-zF{j}4M9JIEPaLtnPw^+BWxAa7ax5lR=Ra$K}= z!bW78Q&FK;Yq)`rY2L*>J zB)gF@&9O$|;=*|r-MC?;o#?TYN~P@zuDCZc5MZ|}0@4=Pp#r`3M*m>D8Lh1<2|5ID zGXBNg5>HKv9sTulS7yb~i1=23Hpxd^vtra?v5)ttx8-OwL)ikwpfVUjp}ienKX)_O z`)IJY_P2UNCDPtruR1^oC3Hh6G5$mv6X8xLpuZ_G!K7K>C6 zxUM2NHpsW8jW7x$a7#^}=%~vJ&`6^&64$eIu`z!GznkqpTcXzndhVr-YT|E{_l7V% z25(2`!XS|*M!jy{)cQm<_vcMOy>6DDxL#T9yER7`Mx?#`2T}$9FTg)6 zkIWxNoIOp_2f1(ZZ%Y5lJ;9%lME8`5J${WR{xIc!ZK{|tH7*GZ(yQ44TTIevbU7_G z=Dx)@O8#6Q?@v!98NJ2x(|bSeNvBGEFjeY9sZ!5?QkNPLtoRYEyu&Y+&hSa{SxArDa;CZow*U}86tsQUKs1eG(}2B0fX=6#)WF)n*TG^~HT)@>(Myl|oWz?Y zv5o7kT_#3O8;aK9p8gR15j?ywrP<7vK0?F`d_Wak&u zC8k|LrV$eGn;`<~8$$@K8n~e_m)w#~>fZE)2lt`)*0h0+C7a3((rK3-JIob{9p>sr zq!X?lM0(4050QMXzBH6cLfrFDlXSwGBlJXzRU??thEF_P1iaxNQUD>hG4-5II$0Kq~z1VNQpK>0`!ETGrYKN z*w3uAiaWIBb{)GpM>^wxMGZP12U7^m?wWvs#DE=rkQt!QJ>EHQ_p*2QL&{ZJg)W%m zp)L4(Cj-GYw}ukqX`X?S<7uj)pvG=)rG`G2l}pe+^|w0W(jf`aI~8FV9`$9=F~pf% zLK-@N^xZB&$16BQT6F7L(vONy%;b9Nh-Kyw$*<;G8X>}dZ91`bW{N{+$Ht;A48}%I z60gwkU<>aS;n~o~K6q`Y1_W?K@fM@Ld{sp~`^wg)CUOIYl-BUHp#c!MykQN)>|5

nS${O`)8jb;bzQ{s@W;+dG#HD- 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 - right) + lda Force + sta ForceTableL,x + lda Force+1 + sta ForceTableH,x + lda NewAngle + sta AngleTable,x + ply + jmp DecreaseDefensive ; bypass activation +NoLazyBoy cmp #ind_Long_Barrel____ bne NotBarrel ; if activate long barrel, we do it differently too From a7493e1dcbf6f176af7424380db0e45ef3d879c2 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 8 Nov 2022 19:31:12 +0100 Subject: [PATCH 02/23] Another new weapon! - Lazy Darwin :) --- MANUAL_EN.md | 3 ++- MANUAL_PL.md | 3 ++- constants.asm | 13 ++++++++++--- definitions.asm | 4 +++- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48746 -> 48795 bytes textproc.asm | 38 ++++++++++++++++++++++++++++---------- 7 files changed, 45 insertions(+), 16 deletions(-) diff --git a/MANUAL_EN.md b/MANUAL_EN.md index c47e3a3..9ef510a 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -169,7 +169,8 @@ Only these points determine the order in the summary * **Mag Deflector** - the second passive-aggressive weapon :) . In case of a direct hit on a tank (and shield), it causes the hit point to move randomly to the left or right side of the protected tank, but not very far, so you can get "shrapnel" with stronger weapons. As in the case of **Bouncy Castle**, it is also a shield that corresponds to the action of **Heavy Shield** and has 99 units at the start (probably here we will have also to rethink this value and give a smaller one). * **Nuclear Winter** - adds nothing, takes nothing away :) - in fact, it is not so much a defensive weapon as a double-edged one. It floods the area with "radioactive" fallout, which is ordinary soil. If you do not have at hand any weapon that digs up the terrain, and for that a shield (preferably disposable), then after such "fallout" you will have to shoot yourself - because being underground is otherwise impossible. Alternatively, **White Flag** always remains. * **Long Schlong** - a special weapon :) - Costs a lot, doesn't really help with anything (except possibly digging yourself out but only when slightly buried but it has a cool name and looks cool :) - It can be activated independently of other defensive weapons and remains active until the end of the round (it cannot be deactivated). -* **Lazy Boy** - it is not actually a defensive weapon. It is an aiming aid. When it is activated, the tank tries to aim at the nearest enemy and automatically adjusts the power of the shot and angle. If it has too little energy, it can sometimes aim wrong (it uses a method like **Cyborg** to aim). Like **Battery**, it does not deactivate other defensive weapons when used. +* **Lazy Boy** - it is not actually a defensive weapon. It is an aiming aid. When it is activated, the tank tries to aim at the nearest enemy and automatically adjusts the power of the shot and angle. If it has too little energy, it can sometimes aim wrong (it uses a method like **Cyborg** to aim). Like **Battery**, it does not deactivate other defensive weapons when used. Note: There is no point in activating this weapon before the round, targeting will not take place because there is nothing to target yet. +* **Lazy Darwin** - works exactly like **Lazy Boy** but targets the weakest opponent. Due to the different operations of **MIRV**, defensive weapons **Bouncy Castle** and **Mag Deflector** only use the shielding function when hit by these weapons. In addition, **MIRV** heads do not bounce or fly through sidewalls during descent! diff --git a/MANUAL_PL.md b/MANUAL_PL.md index 156febc..2e478f1 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -169,7 +169,8 @@ Tylko te punkty decydują o kolejności w podsumowaniu * **Mag Deflector** - druga broń agresywna :) . W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje przesunięcie punktu trafienia losowo w lewo lub prawą stronę chronionego czołgu, ale niezbyt daleko, więc można dostać "odłamkiem" przy silniejszej broni. Tak jak w przypadku Bouncy Castle jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie i tutaj trzeba będzie przemyśleć tę wartość i dać mniejszą). * **Nuclear Winter** - nic nie dodaje, nic nie zabiera :) - w zasadzie to broń nie tyle defensywna co obosieczna. Zasypuje teren opadem "radioaktywnym", który jest zwyczajną glebą. Jeśli nie mamy pod ręką żadnej broni odkopującej teren i do tego osłony (najlepiej jednorazowej), to po takim "opadzie" będzie trzeba strzelić do siebie - bo będąc pod ziemią inaczej się nie da. Ewentualnie pozostaje zawsze White Flag. * **Long Schlong** - broń specjalna :) - kosztuje dużo, nie bardzo w czymkolwiek pomaga (poza ewentualnym odkopaniem się ale tylko przy niewielkim przysypaniu ale fajnie się nazywa i wygląda :) - Można ją aktywować niezależnie od innych broni defensywnych i pozostaje aktywna do końca rundy (nie da się jej dezaktywować). -* **Lazy Boy** - nie jest to właściwie broń defensywna. Jest to wspomaganie celowania. Po jej aktywacji czołg stara się wycelować w najbliższego wroga i automatycznie ustawia siłę strzału oraz kąt. W przypadku posiadania zbyt małej ilości energii może czasem wycelować źle (do celowania stosuje metodę taką jak **Cyborg**). Tak jak **Battery** nie dezaktywuje innych broni defensywnych w przypadku jej użycia. +* **Lazy Boy** - nie jest to właściwie broń defensywna. Jest to wspomaganie celowania. Po jej aktywacji czołg stara się wycelować w najbliższego przeciwnika i automatycznie ustawia siłę strzału oraz kąt. W przypadku posiadania zbyt małej ilości energii może czasem wycelować źle (do celowania stosuje metodę taką jak **Cyborg**). Tak jak **Battery** nie dezaktywuje innych broni defensywnych w przypadku jej użycia. Uwaga! Nie ma sensu aktywacja tej broni przed rundą, celowanie nie odbędzie się bo nie ma jeszcze do czego celować. +* **Lazy Darwin** - działa dokładnie jak **Lazy Boy** ale celuje w najsłabszego przeciwnika. W związku z odmiennym działaniem broni **MIRV**, bronie defensywne **Bouncy Castle** i **Mag Deflector** wykorzystują tylko funkcję osłony przy trafieniu tą bronią. Dodatkowo głowice **MIRV** w czasie opadania nie odbijają się i nie przelatują przez ściany boczne! diff --git a/constants.asm b/constants.asm index 1cd4bb0..cbe9515 100644 --- a/constants.asm +++ b/constants.asm @@ -275,6 +275,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Long_Barrel____ .by >price_Nuclear_Winter_ .by >price_Lazy_Boy_______ + .by >price_Lazy_Darwin____ WeaponPriceL .by W)=!%BK?$7!(h^?nEfi>ZSrDNr2#O$&P(U8aV|G7!aL-+T6mG;h@Ip@ro zGc)I$IWra%gcKBnc%s6z14R-xRGWHeY?v=ZyXz2bvqL*Xh~nl>lQpi#iU$}9>94Nm ziZz-#eJJTmjHBKro2t&_*{7xpC=pm<#ML@&&a&kH|Kyb;au`nZeV(#beXG| z%6<4WH**R%PRwcB!+vQQPvy4Uj%i%4h1|Glze z2IrfzCdy%KFbnc!4Ijm~t8`8=HeF0qeklzF6ATNoL&RZ3PIrzb&M9`{oJr&+=Vl`7 zoZE;z&sjiZt#bq6KAq~EYOJUA;L3Gf#yOUA!fb-|033qd2S+>f;l_kCJ zkLA|nbGMgE*}NS?+mOu$tK%Z_>giAA_6^zlD~S?To?YbJOg{3qyjYKNp}k*%q-7_DpBKRyeMlS5BhXRe%r85oJyuYw2eq#V-Z?PN6MOu zoDzcN`8IW4q|T`J&f)Eyi`qMj+SmJa^h=AJu3QGYa}}~t{FEflc2WK#wiMWwc2AZ^ z@m)*xGIb87GUpsX(f@EN-*yh8^|Vh&YYi4RHby!oqMrULYlR9b zhw)AeU}4T8aV~vIJ3uU>^I?_r?fY`CMOhPt*P1#W1z3QV6CgiB{HOf~wW9AUSn8qJSA{ki%V zh?Y{#CZ~xsT?|vMmukG&U1_B0vRk>vmS=9MX6lAKZyLFfPWX9$wbnNHYF zvw1rcP@~?NH0Cv3&Q(5^@|1c^qTnX(T!T;VZ!;msP1vu64YNjYi(ho;qg^D1cO0Y5 z5+`+>481u!)`q=(F>3gtqC-|=wpKhFJx~mZ87Mvw^RPDL(88G0Azk}Fw|bQ(;kg%9 zSaURipEON+I{u|=4vp?SIwYj)GO@60VgzO@1iO5a_)gb2`wD~GJY866z)ZQBacZ$l zFgzGui`}{oBealrL*^L5eKD8&@@ed1t;H9ibhsKr+%d%0M)_KfK&v@+E;dBFQ!#{| zQ_&efue3i9Lq1<(@GddXqqmkA7%)ufcp%13Py^H#s#Ktz!EeGWZJ3MF{w0RGy7lh; z*@jY0b(iTd{MB*OVf&fxzu%u@s7{#9f3bh5p*m^0u#fD2-cUVox{znszsyiQV!F_Y z?0>;f{ls)(xnaM}Q2o?&VTGYu9jc|(ziIfkdHnK<^1OdxSVP5&-JYJT@maue+O z7})iJ@Sx1D?}A;A;#Zns*SGvBKx1Sy8sN*f1s9c%2w@@e6d^oBt`VZnaQeada;kW= zdq4Y7L-Ek4rn;I4K=(Z6^H6jdoh7wkd_~Mfp9)>>4 zWs=F(ELW^dw`Q57ENcwELRw(e@GHTP-^aa?S#D$C&aL22WgTDs({uPbXnA%8i^y(#G6VY%i|>X!16y&kOY9Qg+dj~9t-_l=oiFxU zr}J-`s)|>I&fHq;%W&xB^sU9}3`WjlJlm-};k$MdEI5@hq7GlY(oyclmlTat<0v@s zg%#$=G+%$kh^-1RH)1>2yO@hj3&0254Zl*v*;^X=!V|~xC9=_3L=?`)DIG7A5hY6Q z4j2nP;4l4M@U0#&3&lGUR~4r;Yqu6dq|LR2TT(3Tf#Zlz!q{) ze|TL@JGO;RmQc@)^+(b82)38niVcQVb%UMU9cXRcmjhgyqQENS_$)_A)0ZgW10SDCZ88!iZc9SHiuUKoA;(SUY0Jy5$G}Dm(dF#wSZ8)9MMvjE}N`69!QRG>2gYQ8x{T_5Lpck z6kwAz00tC{c1c|ngS5-n+3{~~Uj|_1+0tcame@O?XX;RcY8HRAcvsDE1}i^XT;bJB zv>J^Pk~H#UDOEz+6clfcFQiQt*#yt;$k<;>OM9zGKF$&5vv@+6!)9 z&85`5Py8iebmx<^iuce$`jtxq7qo|7)F|z0;IA7_iqm`b?h|ai?A}8gPR>$rCJ^>e zmllXyS0FsGR3Cu*uRbik)$4EWR%u7Ofo8`EC*7J-qDgU(dhlNB$$m&`0%-a z@U|4m_T5AypC{#hXEyT75t6RwPGnlt2{T!TiWR-%wI{^--ifh2)|jM!AUgdA*3$W_ zD~;x`1r}M)S4ma;CtRLL`*bJ2Wl2>gpafuP;_yC0wZDnBJ_*`9v8YdX`+ed3iy9u3eKx6TajzGDWBJFQnp$+M>ab=$WOL(Y7KVhuAmKh27hmUA6EYg zoFLhP3tlGxq&8;&1BEV*0SLeZLdzl4S8Af-8kuR>(9WsOlD%C7>) z)d$uX)gw)i93kmOLs@q9TzE-HzhB-OlmSk%i?9vBgsRPos#QrNo17aBbr&O)pFp(T z07tyTAaA@Qr~UV%S9MWnJ+;P|92u0x{MkYVl{ek1H8V!F=J%lD-+|acDsU!Ty_m~c z%mRebe5gEu59ak2q6Qv;64d~RWK6!RO2 zybUWN*Q{T(aGXn9>1~*`)#lO#cD#3}VXF;$rY&OEYy`3a1u-fEd{V9zo{xnR8h!;-TV(&t5^>m*^uL~>cn3{CvZ>=?9{s>tEaqE*K;w>4W*$N+7aS=+|y1C&-E`r9+}sdXWu$Pm>F(!YxEIuEJNe46q$h~HwT`<%rrxb{UlZuq)*t~rm0xBJHTJ3zd7 z)2$lkVRpV?wm=mMX9f5O1n8AcO>)!4ACzA#@;Py0zs}k>#ms)@2R1EkJ)=ay`oFiE zRF9k~9EgG!P<_1Y2}Wgz9}szo7yB6>%I0mVH_vsEDqHcPD3}L?%OON=BXne=f&?3imbU}L-(31x!9;L0VeA-f<}D5e~kTB zD+_FI@cpT^jt&dhQrN&E(yxQy>1^y%jlS9b1Wy#u?ZO2X?S2~Nk4=#e|2EYK*h{Da zb|K0ii5e>~z(4O|jD$yU<+eu{yeAk2Tgu#p)wN>AfbH7H#G3;KYqQ0H1AA&q#is}M z)qW%951brgSSp?xn4o<~{Apk>?XzO%2YL)%vou9ogW;t~FJgG<{f&f1G+tCf8oyK~ zO&KSB)sCZxig&M)-dBc6naK}wr^W0C5_|qkHeVyyhwq!uE=6nOI#9eUy?kt=qL|X^_0lH4AvrST%KBzKzsZ~_#wK^t4}6|`QG7VLxBcHl z`X6kxOyN2KyA3^C5QtNMDSq2dgp`MPq``?7ma9<~Cqe*%@^HtUe`gG}V z<}yA*_&qy7?_sA>w6cr5!%u8VPP88&SpCi;II;hX8OWwW4i%Qta<_WmuK399`59hJ z`M&xvQNA&`vuXaK8Nez&fPCK79O}-Y#fQn&rS!m3ic?u#sfN+TnexGwq1-x5QjkPx zW;KuQ^TPy{q+6)4Gu#Y{|on_x2LgHH^&o#qvImvu4cT*=~qiK zrs=HMZSd>bGO=oKw?P)0Il;zRY~1OVLQF0o2p$)~rld4S@EIU;X+fwhTwlRi#an|r z*$2Jg(sIHy)+aazYjB1Cu%t+72w&1XA+_mpIB&zmNf}B=ZDwsotxfp>e)VopV;YuF zIvTzW;@Rl6O>>L;WIGOOf?A>(wYR5Lsi0YL*li& z#YIEn?7LUB5NHDgm{1j)XW?5#t3<3vNgl5qfCa)5Of8Z^4^2TtFv1$VL4;okzgG?s zej%zY^Y!#c_!9hjUm~=!SK2$^7dQbR{z7o1wwDCGgtRwFi~Tz)mralRSEBUC9L;+X zBQaT-WD$`2(kg#gO4g1PkKUBE!_<3wtA?+jBk19{LubxhE^SwaGj2+#D}+0r3Tx_1 zP)wNm=*czg;0(}sqJ*QLz0NW_k@mI;;r9mmaULP&AChI$@X^{T~I09bWF$Q|5()Id#601Oc}5Oofdx`Bd-&CFNHqZp#@ z>aPTQVY;-}r&Gc(ZZ3Tq8@A5eHxHChMn}28rDg1N70}W4^*hkQl%-M_*syxCnAKT^ zA>5@qFcoJH9XV_v<^H^?Dr-dAjKHxaF>q`-wU8>!jVmw}D+B72(lIK%l;#_y9IAC zi?J`l#uuzq-YG1iuzZo<4p?d6|H{5A4E%@8x@d(ZlzmBMQ&ZEH#guy=b~nvhivT3u z+MZu2WwB7p=#MzHm@2QCJFXO0r}Xd8pLz#VeyMi=<)8Nsrxo5|;yWol?9NqE8lNSl z^9!V`q;O#Y9lIbaD=YY0mUW;%EkYW#Jj1)oz-NIxvmL*HfBwJ%Dpe@$sCj|;0KAadcmtQO`v6k~oT;WxV$KNh~26?FB`J(ob7}Haj zgW}0J_xy10K*R?giLo=GRgodEKO^-inlqWEj-xqKXzF;HGnJ-JpgB*|)QL1_8cj9R zoar=m63v-GQ&VZqOq!DO49%HObDpI+7Me4Q<~&DpX49NBnlp#yq|=x06erUW^Tp2|$)Riz&iPdK zJJ}eVlf~JOcC!a2fK3AXEz6R&;H+7xYQJ?LL;l-9{;R*nRef{D%Bb3%)F9DsZmb zx9VLJFVc|-;X!)w(UIL-%kxJL>N4#O^moww znO$xJHAg`VK(q`ZR*ozP(XST!kLt-av3oCe>opz$pS43vzz3gz2np^(Tso?&y`_TS z$`{NxTe50)zgFQYRaNc?XLAqTV{ONJmP~%MwjMw>yZ*`DH$P(M)--y?SxZM zrO-gkW7i^;d^c2gKh&-whX=q18i*om8$?%vNlubc9j?gNz1av!Ap0=I|q3*A+ew=!Cg)xN46WBbni2V_{}?{lYLhb;(o zWnfKO0?WJ-&j04p#>&P@sq)xC$4`jnE1EV`sxYZC1)yu{PG*7yb^wAI^Lhj`ENPg9 z^>4Cj_ysVbED5v_y;w1UC&hP1cgaF9)7#(6m+0@{>*J5|CE@zH7j6*Fr-H$~aa&jP z!OjvJ*hxZW(GM;L^)HlX<21ou1bp;zVE;ryMOr>6vl@?cH^oPvjBn3|zy_eG(ptDF zV)m1rv?oRW$+*rZi9f_KJViK3nh|rZ4`@N@$DI+qPmVL4St-5Eb~8J?u|pc4$;^@2 zA$A{=3&cIdTfk>I8$ z6c8W6T=T*W>|k~OovM198n{`-1jy`d0GZRYo1K{h!N z6?V0T8#wkdgT2Q<$LCnbcp-ty+i#X3fo4vA#kUR}6c+jl@i|`TlwJG z)R}h{`tvNfGkitu z_~=IxY`DK>N8#Ik)+Qfv;yRo4i?vmvUWKDE1%?+WdR4*}6h>}Ou;CJ%ksl6_YyXHG z_K}f$JZcX?l;9oZZsLn$XC&P8_;t5-lR$FJ|7BpV)My415H807LD7BQif~0mu)iYT zo;1K948XlKdw`=(FhBzh!azf?hFRfvalNKV>~cV7KKzQB;2Y|>A*34dGK4*Aap77` zh{xR(dWSgep*40C+QXM2)f-O{C?j#Thb6Ac5cHH_ynMO)StDO3Mx;iINfTnUo5fKR zI6J7@D%!fu9F77mHAOQ=G?)Y}$|T@AB{Q@AGMVI-kL3hVAKHR$jhE zrWfZp4CwVr%BJSomFDJ6K)sS8&%RP#>AgK&=u4$N{6D2K{xiTYlt$$ArH+m!>7SWL z_#@J1neX!NO5zt2#&-BUo;YmcFm1fJbYjzBe=RiOj?&!Nf~-II8$?R5`&fluq(in07{>;vzsoz?{8CoD~D~kg`~0` z$$lsx61KmsKZ>1elYm_(zymNM^`NciYv4bu8vX;8%IhEbE$yBni328e);h(fCOu#e zx&qt^-th)4qO)+xefeKip z3?(#c5R}4sns;te*QPftunxtWllt0sZYtGF$DRKnQk_$a73K`1(!0*KRC>=zspNG= zvy)919D_bJN$*-S1Or;E8lgSf@QFdd{BCoG&<@aMjnDy5d^%BvTPH*Xa61NYO)74k zKmxc%6}OwvnR4geD80QUj$VzU?l_8ZBTXR0(F1W}O={m>bi20;Ql;ixhspaNlHZm> zRSUVxx2jw6?$T~&~OABJt+ns}*$0()G&NyHmddf6YeVO_C!23;dbi6>@wjfF>v2y@u$ z9y}#f4+jWJ@fhP+>B_QW+*)=6QdYy;hFU-n{)W~LvTe0Vwc~H|wLti$t|n1w zkTvSNGwcE`WQBztp>6C4je(E9z13#n?E6>xVjcQs1Kyle;OvBS;K#o2Ah}Br+S?rV;ADAl#8p%e0J$B<>o^?R>j#BoiW-F2+@2pu%*#`gOH2kVrqhd?Ou^@<_Dc7=MDKNNHCN3Uxrc;t_nr?NdWY08o)WZt#&rB~&`y zP)8h*?mEJs1_J-Fbf)110sQX`^~4hip8Vh4C&XWuB|y^h5d8hrkMc^I3UWn;gRt+)mkn2qe^jg7q( z%C&6TzIS`djvse)EwUE$nfbV>fZ#zcVmrLa<)-ekaIPKPM?3J0NNoSi0IfqD z`Aqj{fET^6dfldNZh>|Lic2-0}ZI#Fo2K6nJ?ANmHaf&7$tv zzHtk7`NALo3!#G???DvJ&pu%P1DuRjW-dK9ZP%T*OdOCSS{O3pT+iphfZB1J`cbyO zPc=4ik7_)7)WJZTR*fdd@;n{zGMd;G15l6f(yVJazh2_8K{uf2kC|5#GPY^tT4%Sza0@L%!+M^f^udJ zLdcB{iX=OHu=P#u!kb7YBqc|byh_m9)=&q>eVVXKPpZsoC@*quc?kM3;3e_eNV-PN?yQo-j= zm@t926(zwp&7M(ad-&m*{xtLCoxg8*aAvfBd|7Tao;%vA5fbFGC#QMdIC0RN=;&T} zZG9ydkN@uM;_6Uw&YZ6Hhj$_yx~gTb5YIL4;hnXsl&i=iFkn13P~RXBw}GvQv3Dcl zY2k!G)7|LwD&Ud7C!vgY3(2fIU2y0(K!a?f+K~pGbLc40VsUYIq%Xu4zRCW70t?ng za3Mzo7qUfNyoXZfeiUI}yJ^cV+4J}7IwRL-;Haq!p5MCL{mBx`7aq_di*#`D>k;qm<$siZ>FgCJF6kVu>~-$$ NQhnvn;w5i%{9mGq52#x$Mr;4_$&_b>+>Tr_Ztr3)zk<*xHry97uX%Skfj)x(~lnX82X? zky)(f1-4HyTTsZ>tib4batzd~w>P@&Fag4%{g@_nt&*CSL{42|Rmr`07~Z}g3!~^ceTICS|0nCom9>0TrQQGa zEZ)RUv9l+a`t8PGANIf7D`|xt{+JXOh*9)xS@;4}Rv7@LOAviMJn+fA%<;(Ye8V!B1>7=H0}ZZ6}B_+l7K_}=9PnYbS!GV2~eF#b3q-*%57jig033sG;&dLgcso{vPKcP%zI4n`IhqLKV4 zYlTBZj^y1|z#`pc;#1`J+7V&}SqQCU=sb|!VX~zNJ4`Np>rPYPFG^=GKBJTvIS8Pf zF6t(EX032c{IJUa z?HnjbS`oYr+ZLANiLXUB)geJ!*@!YsGiE4HhH14;F`aw;Wy8{emt=qsi1{ zW#M1e(Z_p^)9F5aR&@7HiN@0CaHRW)=XxhNUo?8T*@DxEW${u?)TV}@WiXdECG|Zt z&SKsR2IFuxpJG3H3`bUL4MZzlTH_dR924lE{9BGjE7##E?EX&Y;}~*9MW+CR()myv zbJbz=JB;MiEr*c;BbBa);+za>fCeIzDzsDhPtZXto+d^ZVJti^dvts@8U6rs0zc_`<5ng3mFn#09k-lyA(E!xqCkT)L)wk47r|z+q$) zMN`~3Cv;yVdto>C!~$%XPuN!%s1jhaLf?BlWPUj+pIxb zEYA_&jvM40Z7dyaYHp~FR=$yYK;zh975M|Omi$3^dWbCBFGpU-=gP7CqH@jF3bIuq zY{J5%Pe_7yA5prYiv)f0-bxZQHq<64-+44pr~1tGr`XY%p|#a>iLtA9m|h@FTTaL6k_fdQoaJ+nBmjz9@@ys)bQ|LE25|IhjgQ=^YZ) zVk#@?6D$au3Bo`*ML+GLSDW;AHEnSC^>e}S0&9gm>67&3a)03uCV7(JGRf7#JX(6( zROzUJ$05&AB5UApT$$qoy0|Q%w^KitKfq?^R65L3uB|7(Qd(rw@T>e+=0NJO)(0VN zPfyvfEtk8vP@d3E`1Dl%lGIb9m)A6>TXs{Q)H9hB}c!$^O zQcH_=TPc{qDLTLejW|a;NieFR)=1CMS&8^=u0Lf}kC@tsLxx86ke#gvHOldAhcnHi z*|jbAF8Mc-FVpskLf_<=XG~i%OqezN3fbn50G6^yN98Nm5hLP+sTx{Za1yZvxT5iO>j71pcdBIaCEr zaxF@U@^48@bt>A%tyR=9*pkQ5Q7}uR+p}uZF(L^t|;lc zrKN)k9}YxXLjwWWYzu(_1))7sFU2VB3G{S*$39OiO1bvC{f;(_)qL)!e+ySt>NFr61=C9Y)7ttMY&qPN!ey)7usp~Adhbw)D|Ajdx)HS z!5B>D56CZL+Zoku2VxEs?;>gdqi021N?hz&1Rz3x=5B81iMvzo=Wredu(as-YPc&~ zSI5eu`65t!{?O`JHK+-9hg0e@R@iH@U@F1=L3vl02UyBpLMc29Rhm`RMX6((-7aIp zwP@vQbaESEjsIwrU3d6&{&M!JEautHuZ~TR33J08SWKbvrhBEvVOFbu2`c>sh=x+3 zsBrR9cJxx}C5+=EsA70>XHrv~3C#WtG+HZt&w(6+TQiVH?K1L<_J6aMAa>HR;XQzEXa$%BRH_2KChP;*LSwkoim7qZAXg z|C$<|3AkTk=d@U-jd!SKJm14qJ4)X$K|R2S?!d?$gkE%3 zFmf7HQIT`7oRj!`Zo)DY?so_7r4z$|4&q9zHANGu`72cAXYH|DE9okM}+5^M14~q*Q=%-yF zzVyIAZH;*7f$6&U^TgW^Bxwy|(vbez0pgS)eTPk1Zjn}FcA3%(m|a#{Z-zuST~l;T zA1TvjOp-qCG=RWSwiih!l?SDq^x>>W{Ns?6em^l={>$K0p5!W)qqS)rdb}jPRQIxC zkk-|ez==90whZBVO?|d$g;`o}i{{r$n}Wvl7|V_IEe3uQH$t4A-oxH)9z{J1b??s%pY6THsEuanNX};3i2hm9 zv78lrw(v`GfZjt+?a@vy<_kQ6<`!pi>Z?FRSL?|FaA*uAL0eIEly}oZ? z)08i3PB6-+W^Xj#taDx`$OD=)p zv9v_<*`Vgpf}XZyeHCjFhYatrSo54m%L=n7D;O|bgS~v$YLPPG<7E1D^;vQh@4$LW z*@~_{r#`#hp?n47dpD>l6FVyl4WET^+X1ju6jMAjygTv(b;DWb9YP@_b?0QZbPA1y zS_s^P(VFPCQaM3pi*jO-vRgXx*(l~9FQ9UOk?XVSGbvM6qz~w11H=`h&UY{sV5Qw^ z2GFMCvoXz_Zfd4X*PbbpBUJv1MkIp2*G43OzqTIQP!FuKip^6Gud1Cv%77$K)(*z5 zp;@Rl#=%K*7!ic9F*QWc5`Leo6K*rAf(!HuMhB9DhCm9YxKG+Q_%`eW5N|UGy`5!Y zLn7@<)#6Yy`E+r-TB4+3g$BQXshDk)vuN;rq$n6^$=zx38O*sm&B;63#eM?=K@ewL zdTvCav_pBAQd1&4I`+K`sMtV~V#dOEn_f!;Y=CAkN)*P~=RV+MqaQR;?6r3>t6^)bu34 z;DiHF?=q{WDva1d&6)fNMbx)y2@c3?Xl zmSR;%d{P!>Wsouhk0@_g*(0L%!GR_Sx+C;?_BQ7>2iH@4=s{bbBSlIaMy~=7T^ z%j|D%Zr=JFVFf7TOj|vClq_3kewCE%(QI4kb&w!y@jgp#{1xQ9E69z%fg-+v6kmTN zQyheQdX*XNIpOvkwLJz19#=%UcB@0&YUv*J98vzjeY{dUU`gvTocJFi{Br*Y!awUD zN2>f|#1>0m=dvOxlh2j1_(f7~YLt*iCN9d&%?m| zbdooZWXvFWkCTj+c#PydK{95MyeCP4W`Rq#_*eA z&-h9>56?ebqt-bEqqBWb`BK{fcCsoj8}`!HVk&*OSr$8SdqKedzkQ*2++zb(pxPN z{9CXwXW1t=;gV+ze8(Dpd@l1PtIC{p1LNBhuLx zjWCVic7{?9QD%><5Ojp96*)qfEPBTDbxt9CgLf+71742sZ+WK?{w!rP#9K#oBA7KM za(*&Vs-eU`_UfoNxMRB&#{V!vx*tqtxYwXZoeYa!0!`uO<+yP=Xfek>k6e7Mqc8%^*k+|TIe(Z62IYzI>Cc_J~ zb!qbgVH4ms!F-6GM|wNkD)6XW9X%=1;h@el1E#5w9H#eIR&{BYuBX!C@S*F74;C3i zax>Q>Kh{=?1uGiiM@H@>T*j5A@HWGBTZ@$Q-BA7gP^XF<6#^f6n~^fzR~RYFeU*V* z*ThIU?pFAjE$qM7Qdz+rp|bK`hAq~`#Hd4~(1=A0xwwe|eZRAn8qHS5-^2tOToLja0J)=UQ{j490K4I!NUfA04r^ylJ&d_T@c~P#-6l>w)uV-|HkD_`Pnpe!l{x{n+{357OnkQO}QEXVi*Tm1q^~zO!{r>RvyTI2s z!Pk$0uOErALEv7$tvAM?0mcRzUdYt@!R_It6_s{`81&hI_)_Tn#6Uz^KFo8-xo#Af zjZf@Mr$8s5sN7oF1o4mKduT6-e;%LE^AZ!(xgNF%mzWm#oa;kUPzJGk#n$nY%zIZ! zN9bv$5gm=(_#CQ^xP@ZIgme&aPB7#5t_j2O`|N}yZ9x2LLK+M}{KRn+zQf@XzGuAO zVH115$0lYI_>k9Aq203u)l!u+2>TIhJh)ua^g}aU*!D(S(NiPne#s|-kVH7 zqeK7_fM?4+xPb;(_usXux2&NXSIAtZZwBy;0Jp4Jv!p&%sS&}!yHX9o(YsQ0Sg#o` zdzsGyw^90WW8i!BBgLhjf{$v%1B0Y1PI4Ak&sVH?aS*Kn$eY$cl+pp39CvV>un{@t z6jbP~8!qSQiw*it0|Q^71LNfcE_G{GAg#vT-Vj)a0p^tiO7PiH65#PEcsX?}(%Exx zrK#tZl;Fxz&uL#)Z@G??V6IL*cl>4bMr_8*fljpF%K;NU^2^-djZ)84Ccp$cR$(|p z&7Aq%UpFE{O?!ZyJrrRN65hyL2YUL_k+a$eLEaK@{`j(crRLIuyU_J?NN}h^vKtw* z(-wnk4A(hypMUSOaD(zQst-X?`6{x6mG zU6kUnZ_Csxaols$5czhH;>t(exb}8ZM%oe3YJu_vjzMKPghNq&l^$--DZOJMdRj{F zesa*6l$_6}4jD!X-)~AxAi+rkC)@%B^|vG@lvE3T6k1Ky#laFq$q7JE^jF&vZiEoz z+tWrEg%P;prZ0EY9RScsqc9SeyL3N5La^;3(fsAtM$~N|4Y_ zXP4(f<)z?W3!?`Tl+NfxJ5wh#Er`R{@b&Kp+wrtzb{qr{{sAj^60#w#MRX-y`S?2 z|AzFhoD=*BNhDJzcKIcqxOnP=+7!_5La;nh(FQ9)PG@r zK|&ARc#314ztoKfk)(?%fuOlB1<2#$q+LYMy&_;7`ccc3_U7v+gB==g70`pYoY~)q zs{sfg24?J{xIv?0#0 zRlsfG9mCMZI`w?5bOcg%0TKvUAOh+% zLkKMz_@}U=+>%Y|j`T-{cAuD*G0?eWQ@KGp3Xe+yoW3 zLFgXB?XBYW5m>@X+skinO(w0$#G6boZ)6OFWO683{3>H${|~qO6X85_<6LIHo)mW> z;ME^ZihB_7>+eL0`w(|0@sa6q&Qu}{#AzW>@H++)?3}k$zwHrJfQJl11o{OYfh)I0 zNF`pNbXB6#Qc1dz49AB&fCV4m!al%}lFx)8umBHsqBYN+vYzYX$~#1`hN=(ty4ZdFz71$KKx$$yjL>x?qlnx8mQu420S|8cK|( zDF{lAr&);nY6tF@;R58aaxwa+{8~p`MI<7wry`8N6TfsihFHtRr=kN$-|sB6zllQ# zMz^jt?U>j&gNxM>>x>7afSQGAfC&4x>WDaSW`C#7ft^L28w`$oB_5^W{T7}v!snq+ zgz)%KjTGRa;?+i7`KpRKcJsEzMsgE2me%knq8X$Os`G4;u}w>hk=bM>k~yvxvH#4EKfG)#-eY54(H4!94MGeftJ z76e}{MtWD63$ui)CwO<~bi_40%(=8O5aFV!wkmdjn%TR0nrT{zDX9%H)J>;3r2+Ze zg>7wEZ9`<=H-@ZX&tnudpQht4Knb*H_=~Deh~Y1Vbi&(^Ef`6FL7%|{VwLz$VY?i1 zB{*L7D;%?1#p=hpIjLhqKCuQ2K|8M1`@x3kxj7>D;wxc?BC3iy6MJ4!oe8ypW)LZk znpM1OmB5917LfWI;p=z{`FNUG=l=T&^1@|u7noM+c)=0Mn#Ij|1yq9LJX$9_-1}(2 zsiWz`2p74E3?oYL$dHrg#)~SU^7{z=uSteQhQ|cpD@=2jOIxx<4Z3A^D@`@>PWp_J z&w|f>-5$)Qk?TT$@dBU<@D>fCR^8t-eN%UtZLt($3qxEFsh&vN22InEbf#^_>Qt33 z_b@Mqx#s>LHWDO65I~2LzpBdSWsIp_ILJ7M2%Pe9wOLFr>81Q)ut%#1M8hw_svX#n zp}pp#X-UdNICqSz$54gJc=D@iV<@W(C*xN)kMrK$gS!qje4h&Xb=j`*Erz;m-x#{$ zqcQtX43DtgH%Q%j(f5d?NArf0jmWyyN?H7A1aVEOi7jVZlPZB z`JuBB2jmr`Vc;m=l z#!EX#EG$%htjr1p;veUZ><)+89@|3wXfC(|k_zo(v1RU~=8X&<_QKP{+g_I4V`Z1` zWW}9$a3ub2-eB!Q@!5HCPJov@_x!p|uk0@G(yQ;FVZZs^6x_)M;(dKQiPer^j2W+p z9O~;O3Xbqa;59Aomnn~0@M!RTi}RcSPekeE8C+7E80?B(->bcL0WtI}NgesEot$as z{fPa39TVsBSom2K%ZfuDACfR?PaqP5Q`b67?OvSX$A>t71t+_mj>o|E-E-%S6$|9( zHiA@nH}VBguuj~^{@orNP=iC>w+3%1^-$pEqA5&Wfv*c5TNhFs{~6}JGmKByG2CA`&v*-r zF;!-{;pfxh>iO|)ep1=|p>WDEz%I!ND{a}$9^8%0Luz_-#mSPh=a^vf!E+4mH0w?) zbi38n`ns8=%eIJs$2Xb3%pEMXNSEP@T}CLrGSqcQd)EQ?b#-;9zg)jENVtEa*IxA6 zi?nA&lk>7Q?L0$%Y&}o^hXDRxfF7HT?fw|IsPzA0#??(7KG4nO2Q!x4Dr^6L%=kJq zg_v8jg9^fcTe(P-95?r z#qLF~ZGG)H{(g$T$6vEn@%dAxOyM27QenHEm{Z|+Xw=+bCKvzOFB{V5jtx$($gjaW zN=FS`hJ5;twSc~3EtCrD@^Lj(Q0H(But){S%BA5w_lJz2#CF8^yAd(ylu*;%=%f|!m|u1wly+N}e@A}j07r!zlP0Cuc<3PhjUDw`^&RDW;*PFHV z|9Jn}C(W%fLmwP7Zuat(&h1r)|EvUWk)e-dF3EeYaCKRAT}xzK`lHj9tl0kM4Slb^ z8sJ3_woOce(1SHoVu)MRM|fFAA8jtJGyk)_OAaA(lktJ diff --git a/scorch.xex b/scorch.xex index 910fd1933d084e119ad9eb7b44bbd88ec38d41cc..113a4fbc9191755d7fef9867625023e78a4188fd 100644 GIT binary patch delta 13402 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 delta 13495 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 diff --git a/textproc.asm b/textproc.asm index 1134a4d..53a4661 100644 --- a/textproc.asm +++ b/textproc.asm @@ -854,20 +854,22 @@ NotBattery mva #sfx_smoke_cloud sfx_effect phy jsr PrepareAIShoot - ;jsr FindBestTarget3 ; find target with lowest energy jsr FindBestTarget2 ; find nearest tank neighbour - sty TargetTankNr - ; aiming - jsr TakeAim ; direction still in A (0 - left, >0 - right) - lda Force - sta ForceTableL,x - lda Force+1 - sta ForceTableH,x - lda NewAngle - sta AngleTable,x + jsr LazyAim ply jmp DecreaseDefensive ; bypass activation NoLazyBoy + cmp #ind_Lazy_Darwin____ + bne NoLazyDarwin + ; Lazy Darwin - do it like battery + mva #sfx_smoke_cloud sfx_effect + phy + jsr PrepareAIShoot + jsr FindBestTarget3 ; find target with lowest energy + jsr LazyAim + ply + jmp DecreaseDefensive ; bypass activation +NoLazyDarwin cmp #ind_Long_Barrel____ bne NotBarrel ; if activate long barrel, we do it differently too @@ -906,6 +908,22 @@ DefActivationEnd jmp WaitForKeyRelease ; rts .endp +.proc LazyAim + ; aiming proc for Lazy ... weapons + ; as proc for memory optimisation + ; Y - target tan nr + ; A - target direction + sty TargetTankNr + ; aiming + jsr TakeAim ; direction still in A (0 - left, >0 - right) + lda Force + sta ForceTableL,x + lda Force+1 + sta ForceTableH,x + lda NewAngle + sta AngleTable,x + rts +.endp ; ----------------------------------------------------- .proc calcPosDefensive ; calculate positionOnTheList from the activeWeapon (defensives) From 3f74494bed9466f43605a1675554e687c2244097 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 9 Nov 2022 10:32:50 +0100 Subject: [PATCH 03/23] New weapon - Auto Defense! And AI bugfixes --- ai.asm | 35 +++++++++++++++++++++-------------- constants.asm | 10 ++++++++-- definitions.asm | 5 ++++- scorch.asm | 20 ++++++++++++++++++-- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48795 -> 48876 bytes textproc.asm | 9 +++++++++ variables.asm | 4 +++- weapons.asm | 12 +++++++++++- 9 files changed, 74 insertions(+), 21 deletions(-) diff --git a/ai.asm b/ai.asm index c49e467..9c5be12 100644 --- a/ai.asm +++ b/ai.asm @@ -44,6 +44,7 @@ loop ; common values used in AI routines ; address of weapons table (for future use) +WepTableToTemp lda TanksWeaponsTableL,x sta temp lda TanksWeaponsTableH,x @@ -210,6 +211,19 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 .endp ;---------------------------------------------- .proc UseBatteryOrFlag + jsr UseBattery ; as subroutine for reuse in AutoDefense + ; if very low energy and no battery then use White Flag + lda Energy,x + cmp #5 + bcs EnoughEnergy + ; lower than 5 units - white flag + lda #ind_White_Flag_____ + sta ActiveDefenceWeapon,x +EnoughEnergy + rts +.endp +; +.proc UseBattery ; if low energy ten use battery lda Energy,x cmp #30 @@ -219,20 +233,13 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 lda (temp),y ; has address of TanksWeaponsTable beq NoBatteries ; we have batteries - use one - clc + sec sbc #1 sta (temp),y lda #99 sta Energy,x -NoBatteries - ; if very low energy and no battery then use White Flag - lda Energy,x - cmp #5 - bcs EnoughEnergy - ; lower than 5 units - white flag - lda #ind_White_Flag_____ - sta ActiveDefenceWeapon,x EnoughEnergy +NoBatteries rts .endp ;---------------------------------------------- @@ -245,7 +252,7 @@ EnoughEnergy ; first check check if any is in use lda ActiveDefenceWeapon,x bne DefensiveInUse - ldy #last_defensive_____+1 ;the last defensive weapon + ldy #last_real_defensive+1 ;the last defensive weapon @ dey cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) @@ -253,7 +260,7 @@ EnoughEnergy lda (temp),y ; has address of TanksWeaponsTable beq @- ; decrease in inventory - clc + sec sbc #1 sta (temp),y ; has address of TanksWeaponsTable ; activate defensive weapon @@ -280,7 +287,7 @@ DefensiveInUse ; first check check if any is in use lda ActiveDefenceWeapon,x bne DefensiveInUse - ldy #last_defensive_____+1 ;the last defensive weapon + ldy #last_real_defensive+1 ;the last defensive weapon @ dey cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) @@ -288,7 +295,7 @@ DefensiveInUse lda (temp),y ; has address of TanksWeaponsTable beq @- ; decrease in inventory - clc + sec sbc #1 sta (temp),y ; has address of TanksWeaponsTable ; activate defensive weapon @@ -575,7 +582,7 @@ skipThisPlayer asl tay ; force correction - lower tank Y position - higher possible force - clc + sec lda #screenheight sbc Ytankstable,x sta temp2 diff --git a/constants.asm b/constants.asm index cbe9515..33d3fec 100644 --- a/constants.asm +++ b/constants.asm @@ -276,6 +276,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Nuclear_Winter_ .by >price_Lazy_Boy_______ .by >price_Lazy_Darwin____ + .by >price_Auto_Defense___ WeaponPriceL .by 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 delta 14516 zcma)j31Ab|)_=Axl#sbVfB@1?u`Fe?EJF2x=tGfZ1ZoS)BE)VGAO%dzrZoi_EXZJR zo{Qn=?&dj;zo_p@O z%lVyiZwm@^1qC{vDN;L3WFkjvryZIY8PI8WA0i!gXh#Vqc3!Hi@!VH5)L2M<@jO|i z(bOxyczRc#N-bIn(iNHT4w>b1<=uRqY~)wUS>nerclFzmDl>df*&xK#$Sxs9C#MJ< zb*p8KV0uq5edF!;o^nk-E#B3!r}N$EvX0%6%DyreO(mR3y2uX82)&(W%Tw6@Jj%|R z!A^Q2L^{QC(^)IWUgW^}_6$AuFehtxJG<;r_RAGKkvmdJ{T8v4Qp>yz{s~O}aK=5H zap`XiW@3jk_YGz&{(dU4ALEZ>@&_|+XB>SyJBD$wN;C@3j$>TilkswW9OG8Gu8(2d zaSV5Ls;mJ4uNMDWRmNJzpR3Bqr7x`_*0zdRtBO#WsEAyK8w+LKYw2r4lAbG>>WyWB z&JO4qyUWHsJoREZ!MogzFJ?#NbJ+xMwkPvwI68>)kIg@_cszBWv9o8TO+TcZ#`zG(afZdj;!S$&OvYURov3 z#K2ADouQF4VdT2;t1xJ*+1FCp;m@#-8Hsz`H!6Jscc!xmzUZ7Kcw;|_Gvr&-4cJcF?a_%bbA^7U`IYG^$El%dUni0=}b^- zfhceQ|mN`BCo97gM9mVuBI0au?KW%8_zvy^4WalDo)ZoVHFk!!WAB z4Af%cY*XxTPj=;WGg{8uU}r}71dhW*Y-Kr6amJ*X(}M?6zarzv13{WXp8MKaR23r_&kZAA|asHqg3pI^&A? zb~;0Js4@XvvQ!Uez*RJysU8fjqQQ(6bv+vYPA^~p>*>P%+(SfOE7nH|Q( z7d!JASqpv8rZ?uB#{FU@lXmw@jPwxG4c6KlB?B3bA zA*d&xTjdPpJj9(Tm(Ak0%)oRH;oqingYE#{>GJ)2?-GMd+#`t0x`z_9KbFWh-D5}t zX^|~L)O)gC=u<-%OuW#$2GboYB?BYVKz@<6LOGEmdAAj`NcT=kvrh8%6rUkIwLQh{ zq@Q-Ec!VsNI?R})XPFAj%wkqwk?<8$hN;G~!tEg9*mF;&_KYgEB}CcLqZjufyMyL2Z2ZWSa7t&*v)dNO?*FW`W>kyt&4J zA=qI`j+dc7R@%)P(5-B|c&*Ew-4@SQBBfr+8Tnd?W}~6Rvay(!jO;p`!Fun2J;XDW z6;iF-=c1$Q$T;*QBef8=3q&eWLxvjZEG@aY(Nm)F_*hMaSljgA zt6QGj#7D@J`AGRbK8j8u9rmI}^5q7;6DkpTr4Xr;X9!U`xdtvw@=o$ToF=R?dbu=V zwGk7`OLy1StrZ(5jM=*JUcn~1i1*4)jnJK8KbyyX{wVe#tu+v>bh+4_@pfkd9h9%+ zXq0lX^RR$Bo$St#Gq7lgU{E?A=+1n))aYMoBu8&7HBzofr7MW|05K4ul%trEuVG)^ zI1g`?OO5sQ8@!cvV~M7^R~j5wwKFaa&WjH9ca=HD>V!1@v&v=0>cli*KU2BfSUoIF z$TL>1FjkLC6M8U}PZ_KKnkK9?RyvH;YG13>zFONHzJ|}^SC*IM{SSII`iYtj%8wSw zVT<7%E?rZuMd}I$GQ0)A3E*-1(G~X*wz$Z7e2AKXmG7@N@NZkEo67 z<(xYoHg5vcWNJ^P_br1-Ut&~J(jfvIN9m)@{%X;vc10T<{)kyn?I~-iJ>kowWpY2E z&?HY1HksrqVFrCmF_k&0fvMz~N@O(<)%!DjlwEuUIz-Ik_p>i&l{qX@wyh_>N?K^s z@T>jr&xDPENGf4l4`AcAZ0@TC@XcW1~#bQF+V)<;$`i0H#Z_(=9 zu<#4d4GZeIQ43nfhYHI^3k$`!*CA`HW&WrEw9Ok=R?x)7^Q)5`Fiq=HT+Ex_EbQ$D~ZAI!p z#>}TOJE=0^qxUdee5xuKa4Qh6bd~Smi+4^^0VLqdqH-=KJupNuV~K;zj@!=mFJfcU zL-e8T=@)jg&enoKKpe4rv22E0RoDQlbUjfNXcTk-7X*9ZSv_<%UTbNVzpu&l`=siR+5VZqv~rq(Uo+fnE0-4IEuo1vC7m^ ztTU9V>+HmyP-)xp9O}{R+?L&Lgc`_qLtYgd`u2~RW7;y;w6(yrWu5p--*L|QCTStI zj*=|TB&jKAD5>>4yj5kvxKUzqOXsBM+9sEwx0DdpmD%P-=$=0=GY}C>3Pc8nU^}@NyU0ZBCUXM6DrXLqU>iCYr9}Bv zA=-wmB@{VriRboZG@X~u!}m~Ny5Kz82B{7tVvwWx@V9i{V$<{Baz#n!lUq96q9?b2 zPC&KT+Ncn;8xGzm?GE&G{lxCigv2ttbl#mU{w?9odq*49{(NusubJr%fBb0mM5+C& z(I~pa@h3`%qU%tAt{0MKt84+bab;GPh?f$&YCU2^zsJm;*(ihwxc!+W(f*V)K$1D) z@_zU9JTbdyFDWEncr1_NR}Mm zPBrs+Qtr2$nO_OSzJWcSWmQMeVjC@X9}urQo+aKhV8Fn>Pg|r9fZjjAF7e^T)n+bo zp;b2URZ8{m6R$B`Sc1 zQ1W?NO?N$8{9?eJ9dAjiqvT${mDW~Mtz~U1u6s%Ov~IJq&C0s$s?-O6tDd)~(~ALM+q1TZL+;b?8Ak zWpTFYp$ed-$t@@aj@tUPSsu-=K_hDqJZ+{R)ZS_@y|BqxYOkIL4~@1fmJ>EDxzen+BVYbXR?yM)bILP5)f&=%r^$zP?|Q%<0<%ffsLJ~ezNp784s zeVgPBw*i@uSv;DMK`J)V;JGNth`pR5+$27?Fv$eSWg8emW1L~}qDdZYg}-t3Hit*w z26eVMupm1E`rDld1VTon)r@eRxi&av3UxI6D(qG{6a_5;3Zms*e_y_qmgk1cW80N` z?)08OtBcC(sU`K?H@2F{V6?1(y7kJB;Sder7#;$#GD1DsgtSLV1bgQa1ZgD^=-V4i z-~nGJHM}uA1$|`RP-egJ21ETr2RuXnQ?|*zNU%n`^r($k2Mmgyy+5~sRI_7KmDf=B zRhn+eSwdrzK#c2ZpqKBm`whk`E*pHuq-AOD1B^c}&8Bf5rZHN8bpaDVF~nQyZ%u_; zlhl0flJc`vJ_AF~#vBL&ize|a0eEu*a}|T+2)rV`JD78BUeXo`n&7UE>|v_M&k_!p z;I>qVBKt5|0bVIOp@c{AL;0yTS%@_GuwHG3RH4EOqHYPkO}(~!UP>7cM!VL z&clIg@QDvO3)Ls_x!lU7VL8q}7o=w(2;o1*`$U@#kaW@{{MRHXCgGF`8o{=A_~E*H zfGrwj@_%pfb^wdi2<=YtxssA(l%0ZxCVQ@%f<2OD%>@VVz=FDv3-de+B1$yO#N2F0 z`ya^x!8h7uVspXw4{hJjpny)PjTCr)6(*-qQ>B;#bAkyz6WE=?St|S^Q!qAJK72jJ z4BE5!1a0(LQ!oaf8n95x$L%B|mDRQciuQ)lzO~d_SY0Q6Fm${2K5^Nw5n8)gGVD%m ziC8ymknZbc;`hU*X^r9oclFcWEiT0G$3@|;z9XMrmMlGu{-#UMpt~7E%nXTcI;ZHG zK35)@F-iKO6H5U8_pFiLQpQMGNh8@)e-ppBYe2$}%$Cax*8E%C>18NxT8}EvNzc`8 z!VFqpTL|QMAx9jVH1+OhmN%`iNE>X?{03=r(3ljHd|^Y2f#1w!Ew6haS$e)Dntxu} ztP(9*&x1Z}Is1(0P3rIbiIM(pLvlvA!k~p@>F|XY_)O{VEg-4iuU%LHwGZJt1K-}C z7(UZ`g;5JF(rZ~S&_dMDkPc_9;4_8aiv#sGacYe=aWS{#iSvdJbRJ-^sIb&%l1wAm ziI78tWu(lj=0eKf_WFK=3s%0XKFlazTfBCXzj!9NiVh%qdohQ2b4bx)=HfDPU>QLK zTOZ1btoma^P9%p@a0)U_7S6^en{i9{a4e(QzKHH$WrzXb`J~; z#s>xj`vek$B+xHtM24xCGJv%@xC94&v!_~Ly61ude7zXkTQUYa6Y@P;w4g2AP|n(( zDYIMUF8pTcjzlfMftKIQ%TQzZQywi+DOBlOU-0f9Sf?dR=`DIb-KVR|kfV49hF;24 zbah#EnRO2363{_=Qd2tSWd;hq3G=oQ;72K^cxhyJ?H)0D6nob#K_Mn}lBKtF3blo= z5V;AhHDLydkB#ax33bpyT}E9xZQP2i3+-osxMI|<&ZpKy4=o_tbbKcIlcnZCb!~Z2 zIYL$A$f$Uz@#(0z_&sY{D`-O%FzzZhpMmP-XgK!n9?n*6&}?&vOsipHUS)(|7=E9u z6MkkefEcYigVBM6pdm02dhe6=4gDET2aG>6*u9IxPD$FAsKq+JKbKnE`wOECf!XIj z1GOzSszx-F{Blh&GC6xkvd>`277yRu*@=!GbLqLPmC|-)ER~={cy#QC(`cg!iUlLs zZF&vO9e^~MQKBGwpSzTi_I1$l`$D4KZ!p}bl|axdX4Y;Gj;h@ej3^}EC#4O!$}FFb znGW0-f&K?Z`yNp3rp1Z?S#@wuq*bm$Q}8AwfQS$QoO+iWans4_1vI5R7C%~$^{-Rm8LI;S+;N3ff8yTwT4kOCB@xp7r-9VYA@Cx zHjchOc@bg%v8F0}T>8vV#5OP#Q=eQ!l$NGdF#hV$1d=k)D}$6CxLN*^du4%r?}m4nZ$a$rcdIk0&CA!?J8oL{e? zDeQD))TzfG==<4Xn}O|aG4=()M&w<1!^Rl%&Cu0G{@?Vu%Ek`7gg^fDhRtM~pVe8DVmNGq>ZL7RXNsvwU+Q@}}L!5Upx$qxI#1l>RL;5IwDdApR zZ2?18m?5i`!Q+Z3(QaKTo=WZ>xr8V$a$Uu5lZSR0Li{5Lzsx_B@XP&UNx6TFIOLwb zPB)ekpDktZ3#IJDC}AO)xG+0AJN#3ceP9ULiF|okrhm7Q&qnpEPW(cC`GJK*DpxvH zWeX3GK67AsZUM#sAL=lmlJ^0E47;=pS$AnUvhF2@$|2-`hLB(^wD@oYQMyBs4~G&& z{7~k@u>=|GF{EgW_{lwkoV$%`Gg5kDR0W!euF6*1u!cw3DrHQO(icye!e^Id9%;{9 zl|A|9xH&Ve(qeuIMrUc{lKxBkhkq>665Bj}iL}&K#xM0mRV|r(v*acC}zfI+%y%$sY z4&Lul`5137mG9`il*$9DYlP?;p+k)jQzLY&k!K3V8Y_F|W$fj9802?f%%9}nnm@^U zGXKN;^ZDQ9|B}D(+3aV3efD){z}cAJnEz41=LO9L?)CfEe^+p|K)%Z_ICSuD8PT6w4j?gPiL*^|f>8)c|VGTd%RVF|e-ZaJ)FNG<&ZX zNwzY?w8hEN@s{5 z?@w?x)3aN8_&OOl*4CvJ$HK({_)&LQo9-KyEWOsE7PSE4s;OVNfc7k|j-G+i!Jy7F z1OB&x9HeKgR&~60Z=g2h@SuZ>2Sy%>aO*c9=XsEIhF;CkP$T@n$eo0fu&~g`a1+1C2YsE)h5}8MF(I5D(;0J$9fmNCdcgpMmW@!}5jz-kG&|5;R;?(Lla9d6I#8 zNqX+-b*lYngOSK}*?(a8#chuKUf&m-VJ%>6F(S?1TI_aetHo}oMuhEXq&ArLGWXa9 zoWrYQg15M~w{fAj?|F<^aV!0s&{wz&U%gRwL%2la+3y){zSwC(pSvrFlp*X#&>&P2 zDNFDYDO)%|kTE_;q(y>{NH(F00KFCiQ<)j|1i}TuEH0SP(^*0Ibnkw`XLu_qj_?vb z%Xj#7`<;@!_RGL(A4@j5Q^-UEEtqVXlZUdG9&Fp4l%3EwWmB8*y6K;#p ziVfp;!Y(E~*mI#8tn@>$(gnea3BgJXf|W=#4hgrT)81%=Mot@P+$2+whZAZ8Vj#p$ z^tQ{}&xICH3~Z$3!%Bxjfosb|--B#t+6mePMb+2J&JaI;ut(Gh2EK#M5N|%%v)2hG zsB?`?7EUlN0M#2p)=&ns@2wU`JoK>Tz17ldbg|Qrm4>E#7Tv8lm$>brB-EAG208;b zt_joyyGd&hb*!yhQ?&-^;g260sXZYw6BCC0!pmJ%{mOw9UIUgoBxUl4r7ZsM(76_h zl-8=qFBr9<4uQmz6DK_M9oDB1WW3*D9e9IS2kZ670xCoeJH?-`r}Mt~AP1i&rYNMq06-Uv|d0)*}bVAy1OR|eN- za2FsWRl1`*F(Np0XQClEZfBwnL%wd4m-!}e6K{hH16S0C)F<&Mz`PL`YZA^l$qC%B zIAg_4n`o6lj#vXxN(Z8HWR$k3B4`ufN%};U-A+<0W>K+vaRaw8Xx`vvkn+lh+_;?Kq>8jL zpfnlVH+T%H${`-g@`v(p$Aii{9FnJ{@_s80yDk;y^QldSS;9x$dze6+lLnY>oT=$= z>|sJl%HZdr(NwV$hA2vo1B0Ufw2k3Hh(W&j$WWs&6c-`rjWu-!fHce~3^RtmFl_v8 zwqL45Ploi|;pf!^>}cOrVVW6Nsc?#s$a-)*D#YW^6Rij0l+Lg#4J7ySrAXJu69gE@ z2=4W76jx0dtKA|Vp29l8*ipfW7)zw%!azVAA&~(2^rOh9KSA7TrgPv8{!RV}{}vAq zPs7B>z5Pqe%C^en++3Ft4O~dx+%l(vYuOCe3(4}F5aJXD5os^~u~f=`0{YpK=$t{s z)zu<>ob?9K=_grl@^4CF>eLC{Zl?VKtGIvan0w<%Qhc)X`i0N<*QI~9X!w6h)%aaa zjG->l1OCUiTBKu;bxf+yI>OgWfh<2C7!ohu!S#8pA9Wr5sp}X>T}L8Zhg6RcFMts5 zIKN0b!P~G;4?!z>w%&EC+qX=SursNnR30=)UnqK(Y)2Au9%Q??SksRH6GAuxS+hkv z!X?JOx0-w51*rx*=)ch9k2HOE8Rp_e!s(3BEK0`2>WyFR+#CFgq=js z{YOAc^r60&*_+S5h3h>xa_FL5#8fok$OZ!!1Ekwkja z-H}K~+=NJecQ+cD^+Fi;kwtpbmMIufV$%qnQHDo%;PE$GGKEf{wrGSdpyJU3w+P;} z)eEK&Z`Tm7Mdhs*m=Ld7<-J4bNf6JJ+}s*RF2)gW96`U4RuSUJfjDv0^g;c}c7HEq zow;0>#s4dl-;qF9zn0_^0)73FB)=Ph&SD(b6G?iZFA?sZ#Qr4^`05b6fHM z?Fxj-aP3H~78b|Tv`lW51J@3K9ewUV2Pv`0CS%64x>Z)1 zw{XzB1v)tS<~E0wty~?5bs1WWxN+Hq26@p~7Ku0=D#NKvdg!n=8KGN?5l7J1aeo%d ztO5#byvDdjhV_$H1tMHD?^w=0uBJ9WeS>LQ1;y2Z7;lUdX)v{r)4kNn_9tz~8ulhy zQIm^0{uFR$i-vzkUF& zR{#>DqkJ829H2YcVTKzjBKut|cX2yY%oJ|{|74_c8()H$;DkSt0Vqe4s}U~pDH5=F z0}jI>1(z2RR07Z3Ue2HOI&4GS4uM`&CQelXJ6+nsEou-ivqy6wJe=(Y*gtO%X3{`- z0jRjVQLY*tL9p)abl=pS7Mqz;Y?=_ob&rZaTIc1EYfKW;+GBJz#jJF>O?eqwJE_`S zjo3htU}={R$6S!nrg{P+V=*J(%EgIhKD}fi<>nt|)K5gP;md+m4$RQdJG=!2Sg?cdbGP@WyoV&?y0I^pm~%?3<`{Mt;{gDr;IOy7NU#K)ocw^9Ow)wviA zlZex2_Hu?jq_u%~t*ZG9x0$aQ=0onao%zoA{MeU)^Ro^L4TuV|e8O?Ydt9AB-UcQx z-W4N{M+tHP$C+d){lY<^9&8tULV)oGR7eQ|KBRXV1I$1rLORu0&$wc|^$dRs4E#IN zdyU5#(BExrV0geFAEj8X{*^D?0`dq2=#82m0qiFyCPOqWW_O2 z1dfS-^Aoi}(}5lg{t~0H<9oqt4a#L}OnG5pb=LMt)tTGr;g4 zaD3cEr8?-vvs~-u?fb@WPu}tUj@~+Ww)>;F6*kul z2Pe{t($!?Z5Z|5z_4m{G9!skQ4jzw}B;mtK7bkGS`* zQ*hoLi1pp!iLY`5V=TCM=1{M_QF4SY0vF10%1;&7LUDudGFE*YkcraEGpw*CKG+qt zuBf$kf-!WHO>O(v9o+aGw=wqrQ%f= z2<_1yuw}MM^BCCF-M6mKQRe7YnRMrGz!e1z@5BN3+xFmqYHSF7t8o!mkKNz0W&%^2 z=j(#MI#@}0{58ynHH=T!k_?noNE*VGg=362#~4#?k?XG`0i0*49+`$Ikd=qguO5|#iD1*Hb0DP^-3Mn6 z$9#q#-6=WY-EFV1XJ0|mBQYtu^sT}Zbxg2-WgUZK;@W>Hbb{8___|r7)3%6!$2XZj z&7CbumQDl5oksA#Dpd8ZwyFbuQ`Oa>?sVO%AmJ>pBujfyYcKM!rA^M$)*;6j^2^0z z^iOK=hctT3N=!j+XVL#p8CN&8`9L?9AIjKXQC0iDDdX$V6jG+t*VWB|MsI^ z-EM$Xv6HnJ_~RI`6Vhp<&9?xiT4O328vJC}BtNrjk~MbM&Rs`$HRHeDyL<0$-eoQ4 zbEn{-#j!IH-fzy#QpY{_%nGJ+(|7&8VC1av!O5k$)wq=Fs0P-^rB|Ty=oRRd(#qOg z|WEC``l!`ZmVc_KawBN~owkJGlsY%|0H+Xg5>`SyHtj4H{?BP^iS} zVQ*<)h^2mw{)LYfb0s|Eqr)@as?PF5%DlIuo$EGl-7Wjxy`nd>1BTt7vT*sfJ>K^} zyTrr}{>z-jxrO`x^-hz%@3@(3{#JGDldJlX4{}ef+jS`L?WHRkV`p>ExWA+?T9(Uu z%6)Yop8HB0f7b))E5u#Jd-qi;U;NZ-%(N$;dUjVy-M8IGO-;=!e!cd5vz82)usi(E zjejD^W_86LF)4efxF9$Ra%-A0oAM7n%POJ%bh#54= zTC9F>Srw4oko3!ul3qzavkUigDf`6*OQ-8j>=S)UNA&cbywOYP-1MvTYwa~G5JjS^6o_R9<~#AOF4db5H+1k+WM&%0Bm=Uey=&xf^WGSsCm52D%aE*zCgwmho}kfa;>e9=@EA}r%6QOg=o{wK*O9w39quVd82-8D-RA&|q2iEfVF$nRS{176wB{#ER%SFc{Z zdR6tVDk^@{eEXZmG2~@+lrZ$=@#^P<#Fu$>&Ed~qo~#MprPFANXAo9+Wa`Vpq^SXi z*Gzpu{rCnQJ1J38*`6(DwT0wY+v0MSszv_QHpKat#PUS|{Uj02EU{dUw2RA?wA?Cb zp5S>U(Xu|#_Fd&nDTrNoRnqY43+$IOBn`Vhk^Oi9D2}=mca7bg;w@ceSIuHeX0sVH z*{!d8K_9UTXRz}OY?lF;CujN@CK@CaXJVh3&8}Fq~FF- zB*XPrBozQC>Rl#o!XW09Sy)WYl z!PM9xOAODxa;=h}EDhlHvrX#_ufHM%(%E#cmsEVShHui;S!afKwnfW7R|bF#W(MxT z8B8olIOBOTT#m|HC|+#0qlk!@VZwykHMSk10k2@z*YptGU zX60j@_;;;?YkR; zupK4zfAemLvXmKhi8L9n1v6~X9+3WQJj0f5uQDklhG&RJJdtewe70z{XyPoGz!npg zfFE0$+e&_{wrnxgA7JFbYEzlDgz4>78G!jPk?K(@W_mT zeWx%*Gr}RAUa1N5W<)+RJfnU_I0nisFtNwXVlHPw-N(tn8R2?Y4U^^1CA;iQmWoS> zcO4dLX0VpI^VuQ!bn8(0&eys%au_DIAl$k*+-kzwe`B~hZRhihD~{2do~PT!H4go; zcfjP?=b7Sw@1AFf23^Ku272cx23X~z7-uA~$|D&g`r1^k3Ab@WgWsUQ)0Ut>jlp%~ujBkh2;A3$*UQ_Ox2j z@S`!o-ktb0{ln{JaWOwgo}%FvXHH6xQ~{{iy9Hs^Xf-Q1XDx!396WpY;*43~aU&ma zL2uur%ZlbV>5BcXZPvLr$bIejJSm4t9ss2{ezVSye6>=w-5SPpwgt*R87ox~OH5Fc z-SHD(z2zN|g&ocMj8e z)h^$pyF8~-HD^n%YYuZ|F5`(R9?qFvb18yow$5efku|%t3?_iOmg>yqY7Q7jxxS z>;=A>v1e%A{+^Jj+0_jFG16%^0&Zk~77iwk8<;j<4zd?$LsD~K{og{L$}Bx>n6peRyg&CL z^&X*f?nAa&wlcMx~{vWt-Df%AaIaN(%m^s185<+9r)!5?l)- zEMPNUh;@7esr4{lO%D ziPrvT62DZ7O=ZVc>(#ALoseOV>ir37G?TM~P6)$BzRn(+4UMBVx*56OwGazq4`JLP z@>fzYnhmcnbnE0k=Rz2ANx`RpK)LV15azQ*TGt{iIeKf6mI8z1{s5u^pgTaWMKc9! zp+uV&qEx>~+tN~CuQx)#PE`_&mop#<_KPm?_w|dl&d?<8AN9#vqmxPEtC;!}tus7{ z&(zkZYMmpK_)w-kP3w$K;nak<>8+UneIF|FL!8$;w9deNK} z%9)Eb9XU3Yxa!IxEt@Mm@y28e7B!G{R2UAvj*a>y+xfa80roH6Z-+@VHQD7)jM654 zmJX+Qwhm_COKAgNK@7jXE_K3Ey$DMc1#f~{s$H;DI&O^tmg?;5-ag^9j|%uwH@}zI z&fm3Ktfgta^c-De9bM!oEV49Y)R$0s!(e24%#5&N<1}d#mo9~K8I`J{GE!7d*t|s`J=|VFWN7)m}-i_dA_<6QF7R&a;B6px?JysA~LkE+^c%F7g0shir zEH?efr$LnTX+BCK>&r=D!BNAAMW}?-m-#B<(WVZEhU+lc-k_LF$5HX<*>WO}*1~ol z^?a_>%LKJC!eV;^3(*0rDOAYvklRuezr<2iCxZqsj?z!>q9{${VvW*^y_ApLL3v6NSMHpV#OMGFKV1 z>Zmh|7#1$ZcN?iT)l$#&mm_m>mOyq_{AbeeAG zbX}2Iw=+lhI^`M5ES;DE{Zg4`OAtFe{*_I(mx~k>tRn@+clC`6Zt5uZuWUyP?WQwI zqo}@_O7+bn&^PyJB&>)DR;AA8;5Mcx`p~BbyNs|Un8SQ6ceQiNyV9VIP&QHU%)`@J zDb1^#;E%-!uGEOf_Yqc`)?-pC$6U#s?+JkUj2qypn165|vF?oOYzvmvtwsBYL7l4D zhyN#prA1iwK_#^X$w982Q85-T0+wWF6tFt3idSKh{K4f_j0i|GAjBUbg0C)K)o1x} zKq?Lruf}(U+=j<@0ZstbXZ1osXCJlpT5+FyaPducEJy~WR-44D*7?G_X(Ok{Xcaa4 zgVD8Uj@4JWVYCG~DQ}G`Sraqy%swJ(LN=7|j4C9ZMoAA>N1Il^k5rCPklbu>pxfxs zgiN|pAq-7_ExckrPOIE`(GdgSF`8e%DOvbTM4R2kW7A_W?ofa;i zGaj5C?z%4WuY|i&t9e6sCq7(`>$;%J927P+-KeaZJ}X9u%ZyS_6=r8fTN>Wdi=V=q z{}kHd^0hVL1}?)W`Ew0o1NRAgGfQmHqp?By0LCu~#%}}nDdc!rX$FuS=L|RiScQ72 zz{fM}e+19L$5Ix!wjnQOVyAVTwgqSIM|9ezg+H=gE3Nz8c~Rn)o)r&Xa_+70xKJNA zhK1Mw+$YlVyJuinmmw{_A7r@?L}OuZu&;WPy|I+~Nt1gOQaAUG;^{(1EwfO6m%6$t zxVlhD+(tzE%^KUjyF4hbaBM2CSn9UW$h>@{7WP7gq2sum!Z;mu{-V9kpJDrw%mkad z&ebx%#BB5H^`}bAIOkyqFieOxyppugZd#bQAY-)o5Q#U9AOhwP<_)``b;l zJ;T=?c}Kf#r2P~|&8%&q^7J#TSkf5i36@k~w?)3;iv|_rgUFA~u*{TnZ~`j>SZOI@ z#L587?J(nh&e2B+qIS~+h{R2+Hr+bRP@5BiulFBCo8kxrYH+b1dLyC&g6zlsPfjaw zvcnVQ_t5tpn&G*zltw`A(Bfa*5ssVI!!+!3t5Ey1LnwcK=YWKLh=ih_p6*)@rrV6OoO?+ zS_jRClnsAFhalyqP72`zsVv|#s8B^kN&}GuF2|rjj^w|Q`=>%~JYD~zy_|s3F&%$g z$Dh#gCw1Tpq8{pkcQ6QO!Dy3?-^L9Aig*@0p5t;vIZi8C_#dhF@6mY%#UsnsZl-f; z&w-Hg0YuA>x|ed&&3FEYW)QyKOB4DC^^V>;I55*4mPeiazxu!*Bgx^K74Ck`Gs>X@ zx`l@;qvFr%JdyFzpMIMa4p{yK)B%)ro={Y2fdbCmK^d8}-V;&2#}{E3tL%l&W5SQw zW$H7+&Sj6P|0Ntmh&{Zqt0rLEvn`TNNMdKWpRM=v>O>Rx)n+LdE1H4F|C&KXU16%PIlwBfLALl>2C-+5ayxS^lN`(>2$x&D zDVyQ?^&m@8ZrPc5Wa7GL&EfZ%ok1n$7AiEjzF@4jPiqCFDOnzbL|s#gOvF_1A_eiO z$X9X4xf8AAAJoUA8b&lFAOm88^5`&Cn`rhWlcTvuiF&b<8F`HBAA-p|Vq~NF!}dhF z`4%`d2<(?24cfVm71oLpRx8B}&4%~P_@6cA_zEH|z*}De#TMTc%%y_5O%3|$!h%}%-@>jOeb&*H zHZ}4xls_=wtHIKLVvHA)yZpFhho(723gXOIWieIOG^aJEHk;+^a2xIfbtGfMrJ&&( zA8s!IMpMBQNbUg5gKLGcxx+2DNqNzf9hKbG$2%HoUT_D->!90B;RRVz%1gYM+7-s7 zqL_vxjlu)QZcb@VrfeA{jWS&~DGpU;e4UE4+GNy22Jj$KG10VvO4e1=n{|}}yd3^5 zm!%y3mKzBUd-|xoeX#rrK9>RtwY@A-7DQ=^`az__Xil?-b@0;ZLj)o0*dG}FM~16G z9_l)SrNv5)^aQ&{dHmhcm}HGu^Wb%uA|PI8pvo=#eYQ%hiBaRc|4$BGAp4Ju9E(-D zz7CVoXHm|A!THLyp1}C@(s+lzKD|^wW>2r^+c6MK+Nokc!;Mwq9(e+#CI{FwY}a(k z!6;de#UDMRk)|*Jn!w0G7^lWsYGK5h5Di!39mjf@F`QTh=l#_=O?y0#H4)DlaH*>G9dyC!Ss%C+(^@K6idHdTX}OKmV?c}mPUWiJZD z^WvcGXXXvGq(E8l$waE)QwY>s==leiYPsX|yF|;Kpqfn0rxE&P>N-0+i&6<|Sg9A2 zvzp-zrDXNx)`+P#Rmp058u764_GHq29OUdNr2Paa;_Hrfj7HWfjTj>H^k`4>wWlfV zp+K+|2UMzy(uD8x1_q`Qd6%J52wVGLztP0?0O6Lo#t?3~>j_fpiW8=;9bt)GD<*U4 zVhWcbrpE;FM)FcddV0F=rz-v6Xi|n`eRZm9mzGOM_j!G|3~u>BBN1!mJ`L&o(`48r z2-|!42uk7)IZs8pV{UV)BxyQ@Ql&)DQ1OZb+Zf{mi5} zMsW$Z6ubP*z@=l}9OL`Zi%XH_Tq?eqRl~h$3u;(8rMrA4GLPl+5LjNPt-;*VVok@J zwn%T|BrIil0&TooLc+1P27*OsY$^*#!jn3E63I>=)1M>RQ^@q^N%mASeKN^@g-m~e zWE;rz7fJRsGW{izJ)KN{nPkr(@!2y;_B@h3i)7Cy*|SOZYa~07WG^7uNhEtA$(}>9 zUnkjfN%k8g`&E*?h_uT4pwnUfD}$^viFKYHHzz+;s;FSdGcyTtU??V#XXXjn>#_-* zmUSMHJXSgfYl86Yx}g^D%F@-PKUL{s5u*M&Wm$VC^7wz6$bV$GRX*cmW7J=X-yN(d z)p_8okS1%Qx%s~Qn!kMBXj^?(oFetPE0u4rW)RXqDHx%e?$yjNurQ&n9SpYvc9pAU zne{^3`sez!CvoqK)$Rqw0n(r1+pFtb?ZRXEqtz9{{QPLD@Hgkj4gNThZ`9Z?B=W~J z_KS)9agF^_B7Z_-|3o;GA7QcJk`j(JQpjWT6I^5R6O8HkEArRnZ_VGG-<^Le|82{R z4U0FV<)`JZ+?cma%&!=BUlHHb1aAEkAj) z5k_af6viDgL>DN2Kg#nyZxp_&*4t8%9_r5U$1k4B_1NX9;)OK9O)|D4Sm1!jy?%)|kk- zKM=VA2k{I04SM^!e2)>X${{2;_OlOdpc9?Afw~|gd@jhHaHdOa)#l@Y2LIw+ae9)!l+P@J?F7zc$20{QHk!%bo%Y6=lv+_*t4 z2+bQuu^ToZXr@=iQ{drd_3QC)Vb$Of!T<`Pn}%3=DsUEy!)(#wA&XXmr{RFCjeM)xvc7 zqqj?DV4!8jFlmz>uq+=ei^8a_+8W2k1nJj*%7DJh(nigG8{_(vakt>SodVFXZc_{# z$auio%@nDP5~O^TVla?|VgeFYwh#Gxpez{TrAmN3+FPi;j+YJ zzKVz`yoh*$uO?y|Uqi%nzLp?6EfF!3uOng>|1N=3yC05J5W~Kf4WdEJOP{B=y@bE< z(uDRlZil!dMm+_G&|YOBT(VsxT#CJ#x)?QtOS9MFYQl~ze}=t|aGCaZ3716)f>!em zxrrWLd)58jz~2#e?H{2~0&J<+z(((psDqcYZFxssN1a&Lbg1}8ggUjITj~@TAhQn@ z-&E8A<<@&#;JaNdfbT~0%jq~Q`Yc?NKzq|1ogxLS_G{Uhb>ippe6g+RkRwq%6yM$k z2MTv~wXRZO1vhX;*K`oM+f^NcacHo$g@#%Zb@*^^zI$c03E>ufkF&7Ad*DJLJ2mIy z+Z$1A6E1O4i|I7zBxHqSBiqU0LaLEh2Qj;HGQ-pb264WWeJ6i^7q6-A)mWLyn7;&w;FZ58JyV)~9%tPR^wmGjM z?`)Hx+4`8eNf^I%lzO+YU~42vNUUm7TtZJ!K{MhCVcXW{U+lzL=DQesC(ew$3ugvQ z-^Ughxevyrdf9vwYzm}sspZAB_OIbqpZkV6_cdexhJkhr0K|<@z@XYnL)ClVC@8NJ zye}27HzfLI2hVu$IsqQ~aJe=n!1GX9jKAmEvKS4PeAsq7bKc#JQd6P(C*_0pJuye! z!Lk-Fd@Q&gX_Y2%myCGw6AS?A?;G6{%{TCc^uB}k0Ym$M zBJRWW39dohgB@|mC7LnJtvnogZvWkqEA|6_-lrX2;h|b>nulbRJ}VS=V8v(A&2X#m z4tgx5Qf>MSPeRNLWZ37kJY<2e#q;Ph5%l-A$D_4NAwh=#PTb!OEyB$01D|@&j3*&9 zwb1RMP10d2UWm|PaS-+^uS?Jv5A6;Ve}zFG3hixq&x~g!wD+I9z16?h8#z4^%BNCoJNvX+}ZivDq*~NO3&xswNgAOY_}k3I1psN&w3Hs6$Hyxse2l$1qLWe%SUN_H7p9ZkNx*-kzPOf8KxI1+1T-pU-;?ac(O%boDI)_ri{QPD@F%9 zeIYX%FdpElkid^12rZBfJV4WdRdBfWW4>H9RnaX%&8`7L%MP5`9YWiV;UmyJOjft- z98AR1d=%UueguJg6iMBq;RIo8kPx*q;?V=7Z9%aXBechF?|QAy!0o_@?eWrUio==2 zk0jy&?r&lh_jkarR0d~{6ihpl2DJZf%cY%9sv`s)KO`8V)17-mc!VF|A3@><3x|pa z&$CBTg*}|=`6#OAM?lYuEeO@z2-Qw=nc^8P3raN>9sJnTlH2Uwp2DcIxG=HS<1c<8 z`?1bF$R{q0jSxQIBl~;@H-YzM6Bh~{{J6-JJj2+XVk11BV;J!}nwz@@GYt}cY)YQ6 zam#Q^N}l*0^@wQ3k7o9`w0dMJg9;%w!-qwf@)x7Zh@W9m5eA|krCe?5ym|zWgKjOR zr)L3E*NPh%%sAB3&mHE`(O^CX*r`QGbJ0#pcEO)(gcZqBamQ%BGdA=*85S=JXNm@E zo+=W)DtgG`vj(_+zHJbCn5V9@kq!}nSufuM*H_83++{{+$5ULZ(iye{iQw<3vrW5# zObcY-j)xGa*9|drso>zkh8mvSq3ktRpm$#hdv}eqJh`LNUp!^K$%rl1Um4MD?PkOe zto}s&&>BKSmsLkYu>OeG{;C&0$V%k{(2}L%L(zs01LymLu2en{&@L4p1}HuRZxTMp zYT<*txLPl6Uj?^?5BB2rQE-Ry{RnH>Q`udlC)f1Et|yo`k|VsH9MlVoipPy{?s4@; zLfJq{^sbxCdVd05UB5ExLkReFbu;UA1UzHU4Ydp*{7~$E5(H0VD8c4At$28oPyr&+ zB?0K@o&=|F13!e=fzlsOyM~ZBEqM$d@(`B%Mlp6mGID6Ays;Z?h6re01)bpsc2k>{ zmSvkO*I#oPl;nILejq5=@q1kUeFpwEBqfb^}Tz9C%(;t}~?7jVvu}RBA7ff>9 zF8sTj0dJd4MTv1V(L%{_G}n^TV8)9DYU0_I`RG6P_d4P-r$5pcREEkOJ;o3`C2X{w zfbhKsqW3K+LO8m0jj`22JRYy!V2m>#65UF|sRaTYaqWgsx_gY}m>K(ux-=LW$yvPR z#H&X<3WleHR5N|as{|BqWbqiNsd7zK6FYBrYb*H$mXX%*9=I70I1vHOkC;o$V)K-4 zt{Dhlw=_n}XC)PAg4FUoY{_aPjrGkm*2lc3beEWoti`XCeXWeGD>Jfx$a6;)`*&$& zjnt3Ed%-w0pWsFY7vfT~_ZB-IQCyc6_uT6;U}kXR2M_P;4W{@p-yFo%?to(01h|i1 zDap*w4l^CAF*&6nRPl6_Hbd=hFP0_eKaC-&*nEtlq!2aSN6-dcD(<|Z974H|y~^PN zgbYT8L$gm{+~IQM*U~?I9IyEuj@jwCiofC+>;B0zl6oo=g}Ao^EQ(|D1zst7mbrsG zqw%c9&+zcuhB-oyhY(aty@MRV>m4XfG>=NLl-%kaO9;l4Q-TEOd7=$W+RK){v1YVxGg=ywr@!~>C9z`In4d^IPN9j}z> zv%)DP%LgfbN^v%Nc5mzrCXVTuu`*S;-(Ad0KCTT}Z?}>^qAxsgh|bbO0AnimF%nLw zgu{tD&Gq!*hM2P+?9nQMS>H3o1~c}kcl$YLT9(rAWzccY>#a~3kE9{KM;a-K09k{C3d4CQ~$eU+6kFjkcz!SsFxfrsB<{?X@~d|2nEs{{7J@sQrTAa6O4Oe zai}yAEyxy}Wa7o-_Cx$JptU>rY#?&MN())K=y$8&sZFKCBe_0-ozHZk^+1%&poUibl3p=q}Z( z9fH2>!GUm}P2pYCYc`xNg&4h?Tv$*xeuQHddvz8bo-GK67l=poa0BtKp6%XeWT%#~ zE6dmm!r`)qEKiql7o}L<91elzgi9atx#76LSrv{vBPalS$;!2xw(s6s*)L+m1CKua z{8T7Ryufz{I0EpN9oPJ{66qkes0Onql*-GjJjYYKRW;c6ciee{s z2j))-W|{THo@aClS9N8EuG0U2c@H9vwovYUXUBF6@07>V2@kNk1Hl*d%6;_iM*F@z z*7EykxHt4sv-z`X>+Pp|lxA=bO==ig@q$6cS#a}x(&QQIgti#r#7kj67zcgcc%~`W z(GR}~v5MljoXlk>ax&joUgHeywl12=A``w(S98k8TYhK z<`)IzPeFyG)z_JCWbBKzp|$Z+%WudH=jxq)!wcT_jVn7PuJp*=8Mg%J;czAUI)E=|u=fAQj3cDO%gk&`#U0!*BDyY+Uhz|k>GMwBpAZx8;u@psQYV=b36 z71uB3vKZLLNpq^qPmP%CNjCgeaeu?mxf4B8s&broAZ&Kxfp89ekDW{3W3LidHRT{r zlG|i19vd&_B5|n4?@qMm;DzjMz2N*#xV3Lc^j8(g=;l$CK+hE8xXFH1(VQn=Ll%Pq zqW~O7fx>gv{+8Y*3^Uc+s}}*i$Th%2Z&Qo(Q6rSv{aw!Wc0u}7VSzpZV$sRlVzjZh z*)7D`j{Fz>wIU;Shi{Ju`}Vj|+1H1!TTcdC9*&KUcmd!=IZnZPuLE@{6ll+W*b4u~TN|RGj?c7xl<#Y3AK~4js98-Fn9# zA--m?FtcWekX^$F>uLrCR8@(hNPjaaK)qJ@vi|MhCAHiS;?IMZ3Ksj|p!{0v|A}x4 Khxgn6P5u`*hBe;+ delta 14308 zcma)j31AdO_V>)>Bn;C93^3tHI$RRv2(Ci(6A@9)hJXnuiZJGa05cqughRswOhbq? z473{(U|A`3BbS9Vlbzytoj>Y0Q?_uCH$UG?hK zt5>h;)jO*4&tG)Ae$jdQOwVgty5opDpj^b7VcA zD`$xQsmb0nll7auWLz$F_06{Afl9H_c@XHv+sUrO{ znj&%EO_enOplI^0QAw;}yxA&=Y+7h1v8J8G8kK~KL`h^b++&;_G}h2^Q$h&0bE-Rr z@pr=1*b7;gy0$(utq)jl`_MxV)K*Pyf;{99{YVR`}hio*eXYX0kca}FpUa!2IJQ@ zHjx|0be>*;x)Rz%ZkpXQjHbM~jB_qycK2YKbM+1e%=cjA-k8%53%Ez^NflPFiQz3( zSR5sU(@dA|@L#aq7sy(^vcls1Fd0*2KeDiiOT3wSe?PXUxPn&LwwdlupZNMJA?)e} z(pkUO%&nWoUVMS&H>x$TNU4BAIpgc^H~LtAl{_ zH(%|+u;YqB`oegIO(`n3s3b0BN+0-RSS630x>B<6c1&)Ag-$nwP048@KUCN^SgNZS zCA`8?;@rb@^ePL(e6RxS=ArDB=Q_`_)DZs^%!m8|vdK1wK+CfCMct+pf? zA)5}FiHnnBMqbLSPBLQToB|8G)+Xif7Sw~R)g&2B-Wnz=luz{@X0kMVTB7%ecqECn z$IoH^l1DcV9W_($(AXBV!UG*lO>668t-WI$Ib!Q%}I$)6WbJGb${Q zEo!XvhO7lY7}Fi~N%H|QcSg$N+ZpL=>`ZgnSXpzCRdm?0?-J)l;xu%1KGoH^sH?N2 zYm+~Od}Wr?l*=G@wo*2VcV-Mpa}oX{x;yAOP?aPfa+2}^a*Bxp+-mZpjPC~JjEB8T%%GhpG)5(+am^vwA<2S>gT`&!aW@Ucz^`^@CtYRDQQY&AGSt~w09e5I=!pV3N`><3Uz z5F7?B^>Ue}$Z29)FNP~O%w-x(JwBq|?YRM1M|p#--1fPN@n0<@H(Q-1vG#>=_IyUl zg_3%=Gv_y8V|h0-=kpnl9$)A$plCB={xZAN26ki=_p(VVSi409CL{;p(wXx!jedh8 z{Ps*EcWvec^?x9Ol@7MbG+roYD${z|tz4&DJG)FXYeSAVl{ufr_~RV0yv>_N5hR;4 zjiGvK^F}k60P4|9OHS+MY~>RvM`^-(3vR}pt@nlcJ58~=8Tww;anY}1BBtNW8 z6u(P0YA=f6DPtKZb0?e-uBq%R$!2bcn3D211Ktyo3n49ExDqjRm{^k15dQ8(!&8e& z4yDgpsue$*JxtWSh_!g}$wNzCyr_%PXi_z4Y513RXu-?tb=pkvo4LL1`N?vNkf4(% z3nO*%)4~WHU3(opN1SIB1Ql6#W7M~bjg@9v!{;wLf#EJJsI}9x$KS?aD-^hK1S(wwWpnN_hfvXl&|GTG;;}a zeFmk=sh$iutKw5YxYD(zCv#zm-n&Fkj^19Pr@#oMJAkMF=nGRS(M-X5oQfrLQL0{| zZ)_}ZS6lRDn!46xn4Y?ClVN@6;{B`Is;~P#ng6nSseVM=jbz~fQ@u=I_j9t4qpx1B zuj`y5^kS-4=<7&|kgKn@>Fd4V87A%~dzl&S!{T~1(8oyoXn-%@5nRM|2y^M zbXDW9s&b!!f5#cs4>qygP^hcx(rj+jNtURns4DL$ed#DeYvZv<<(k|Jr=bOQoIe2j z&R5Hm0xYn_8S;8QQ#SGo$~0T{kS%)&%gqPrSob?b>47eLaMpcpUq<};#$&O{zg-#} z{#h=*0*?cd<$orM=_a}qtemly+j$Lhp9d4|4Oaz5r><5+iml( z5G}x(OogoUxhqBK?^vp=RL}s%QTpjv6t#)Fr)h)D`{^w3R%9->4E%e-QhAV2Xpkof zn+$TTFoTw68Y*mc@Q7B5v z0rp%*g^hxvJHQga-j%cXYKYtwEr)K)!|vF516%a7JABixAB z@O6+1OC|LxZ%MPD$=H#%R?dPlZ+3~BQU}|Id#+b{sSLbS2BzB5)t}DVR_aT4gvx2# zO4U{EKabMvqSAz=-NRrLs)XS-VbgV&`|^8BCaInvoREc;T>n(;Q6t=NfZ3hJ?3<`d^w{S`X|0S6LQ z?(OL&abkKu`#giR0Ow3uhHH}4;twsWcTL=)Vq@VcFtM#`LS%i5Bed)aT7nb?(sO4D zJ$FXp+YHimxfnbT+srT`m~5t=zudavfZS^x4xKnS)aNqTB^iN3 z3Xaq$@yGPu_AH4Lw( z`-b`xd=dVkzHpp1jDG^ootJ%&DSto*zy4x`65-t(7jF;r!jf%{L)Vte(q$MZ>UmxU z8-O$bGK+-Dk?jEKvMDQs2bLp3x}4b7=`K964R8XeDXRktLc84sIz=z-_C-6cv)`nH zW`#w%?93EfGX_i_rB~13@6Fzcvz)=oHM1+Cj`DU)qv+zto-8AZu2X*L=D0%AYL-oK zYCcY{E+b`wRU{wl2=|#ix=zoWw~BKzUp89j0Ch7Y@lASJq&GGNp2-mLc;*w)JLi<{ zBZcIWO9L~xk6hF!U5>#iY2GPDFBtq#u=TQgA8Fn>M?u^q>?1BM5Vx&_4`!~bfsa#n zSj=4T;RNgJSEm`Jg63&P<&?Q*y3y;BgsDbv_X>eCw&KHQ1H#)9CEK@CjeL%j{ViwY zbK#;Fuw63E>f)NRMv0b%aoR58)`dgt*4ItaU*N6(1-te0tE-IMqy=Uytz#DiTh*GBg>8axCLB0t)pb0J*hdcGw^MR7f|B3; zH4z;TgiIi`=kXxzJFgILz$l7IpmR9-NlDk~HV&{eyYK z0jT6kqyVTE$g9N<7j?IfUEq&XV|AJTO_t!O$1wLw;DjnI9VVOmn;jm+O>6@$Jh&~d z8|6{_YK*?7=5-_WXe~f}UX^=@ut{HTshbNA0dlXFw*|R`gV0;p4zEjH(#qP^@nc(^ zoAixP#vc${6zk!z?9j`b=u9m4i|<6%sn?AOQBtisJ{JqF`E&A1_p{86T_8{XHE6-F zKs3G$MC*TE%>HpP>k`K;?%nhKJnGkK;Md|9;@2TCZ_v34#N~^lCz_b54K#)>P0+&> zXh1N5&n`?bP?I<$;N)@B7A>6Q(pGtQ&Dmyig>?8$+iXzT&WH*u-nruG#Xanhf`(s- zs+D?B3*kXgD&1jzv$J6IsT&n&UqjoogY7Z*w7UklcVdu*m5o#=A>3n&j)nUpWevD% zRIUZ1GS#dgJZ4j7$OgD}Wnt`+#R$tX%fc{~BaCmHr;8fsB+)d4%ulPZ+&;okYtjkd zz(0yM*%J=bNJj{|BkBQy62flIZX$JTM6&WO`o2T+EPq@~qZD71xG%`1++-C$sgav?F1C58Qh)Xvn3@#FWUtTP4N6;@b^lT zHCJrB4e|JuY=~zqfN0S$;x=m!`|S=II2J(ohmJZ%%%>Y@19j2A4uXrRXl5FHFZ&02 z3_!OF=P9u-4E~rz`S33@jexC16|nOLe-vu8KmmWfhcL2L!R_4@alyV|TwpGD7uLNk zj#^rx-6Vdz^il2qh`MD1bl+OVhnB@_9~WmXOVYk5zO!tQHeWoB|M!XCF6;kj!_q|Q zb<8hSdIQr-8){@oWXnZG*YcGzZN?<&QWusWO892A^no&3%1HPfJ4_t6e8_-n%;xJ1 z&c_cpb{Se*)}zOp(wp_0uwmBM7s8uN5H~O9Mjc<)vfLyUWJU4?QjuSu5S4hPpe>Xy z;ylY5-b$1^iPuxXDsK_gU+_U?sv*QsGu}AeA4vJ=b7!m4DS8W|VJCZVSmvoCU1X8YF42 zT8Z0AN)Izvmy(*L1aWR-AdeDj$^%)7a{Dloh!j{Gt$9K&9A;37zl{owia#?~xTiG% zQlF~yLWZn9O(9Y`c#$K7#n_nqpZGsFkuRx_MvoN9GO0|n!GhDG#ZqCRDUpRd%>v5Q zU7f)wgT2Q^kFEcJJlp%t$#gru;?W@@Uxb9D^aeX)jU;3JSR0U!i`Q+BhkuyDXQG&p zonl84a6~J zx`vE~^ah*q9n887>)#G)NySb~L&HDh2(_UD023DgpmR$`2l(3{p13F{HsL`!>PAa# z>%ymcbPaTy1-iAUBv2LWa{5k2Ck)z<){sj1G0Qr2x<2BFQfFL4MT&`Q2D4m^r|SSzpYLI z=uz$RVw1$-tDcEoNLbyP+RQNtvjRcgkU&s(YN5DsRX^SE6{2DF0HcOa$4LcIcE(wr zzRkYP#uba_S7r4bu}0~K!74$+rKz>?>9sb9ewz*Iq7zeBC)giff#u~>ks_xCeTe6# zDQgCfw?#Mxge)TOLJ0?9)F;DM>G?m=?@B%YXL?3yg(ZZ3nX1;-)-8((+i8VKO3iA3 zW0RKEm0u;LyENNYx|a|?o9NCWSN;TY?nUIvpFt5{3^fROr7=qg_t#Y>AY=p)GTISb zj<7QAmL(WIpe0fomMv6D^*!T{Jhhl8Tel=x%7#pjO_r6(Bqd>BDC z0L*;;6hWqXG$|b|j(PoI`)<8DjFcK5QH5b5Yctg`%)#X~OKDT2)J0RK@R=3q@864D zn>qQ;m?5*w(jtB_mTO7);=xM>2Y*b`;;cG;v9u(sf?wi_s9ikyPU(wC7M9LOxc41x zjpP?QbS+C<_CVuAtZiu$ZTx>qNJ>v^i>Ok?qjC+=_|vCPB-SJ{eG;+GAk!xk>r66z z3bDRGrcWi-WHOy2))X>*8nMnI)29>bY?5ewkyz&w>r2FHCY*H+vA#yEFB5AjvA#mA zX~a60SksC1RbtH`)_KI5Nt%@1IMCq?ltnmSB+mJ`uDDUAfutsqF)t#e)`(&f88ct3 zeZxxVJb@znope&pBymJuUwdGw>2lMb@=R$9V)F+k^4Ncx$bAgo%Wso%GRVfjFG$Ee ztfP!^5MiQ6;-mo?y`n_b~n9luvvhbnK?M)W` zq;r3eEc{vLJ}NTy-u6dv6$pnJY2M3ule~Y=n`9oacKF&S);_m3Y3=)K-&;G=uFsFj z@4vSH+7atUtsArM`}LYPpIbM5-An7N>k8HtuHUo%@cO3ppRK>J-tcDY`u=NU-!#Lb z?3Fw72e~V6s>QB>Vkn@|cZ)G<(cX^1UU?I@gA>X#_qmZ>t3YhIH&Hs#7RH}|^*hO4 zDZ&-v)3`=G$X5TJ_F-H9JHA2g(t*#lzG+rDlNyEbMDhvG5lVk>nD9K2PPS=;2?SSt zlzM%S_fPbWb3m~fZpcAo751|Ku+xeDY)_O@+xiDA`+abFDn7@jLIcz8g9Bf@nm;hI zy}#IdUEjNvr`IL)KKOf#c#s>JFL#2V4PXQiErp1M>+-cT#7^r6vSae;T_!G1C&Nw6 z>elY2!g9f_gOwAft?y%RufXGTbaoAq4*GSj88Dzt%vrhYwvye6Y$G zkvms_yk>jJ2u?J@4~*PJI0ab>%?!6|9WDv(g@!x`wX4Vx0dP$-Bc(b&W~4OdIRJ$U+5<)m-ohm*$U^tRgmLC{?QHPy+(sPNM zu?7z5UOOVh2So<(JyI~(jDgaD-*0u%!Rlqdu!;a~`4@ApIdU}PF9 zZJ>dYOx-zLMJKJOupn5Xk65Cqc0tpkAWSVEm`G&M^PeC_Z-{%1PK-`MQ72($C7!y{ zR3jSr)v8lPeYn-aNd_hb|9;iNrx#@S$2Xs3{5r=|iNI@vlU)#yqw)yLin}&Uie^_! z@6tnpMzSs1%fA5qXiLx+!F}ZND zUAM;l9bD#9-!rGaW8B{}K8+Fvh!0*q=iNZV%m*+1)$9Ji)jzh1Okcj>F$}Kz;eE#{ zmGNQz;U)2*{-;agb=U%5Y;rT7`0k*zzR-6={os{M{83+|qQ^TKJFX_0*0)x>xDq8QfuX#v>AbT3zBCZb~7&RiJ&q&~BheyKzZ@%LZSxCjp7Sd<=7Y z12moAd%xryA>c3YRw5ugR4XiYq?SxsQO48!9H`VLLq0{{)z3&Zun8rF^9 z&0c;%qW3@{T<1bHyE@8qOPFpfw>(B~2G~ouo)zM7|B2DTPFKj428{doa^%tD2;vDO z0Qb=ZU^$$wz2e2Kv0~@VJ?&SDfK_Rh8llxbX!Qwb^+{+ovT4Zd1;}+)w2hltBApP1 zz%>%$30$T@)MXk>5XBnlPC3HA$G^{iz#|l-!DRTp!Q~YdTV!(a6^9-JTuCfyd%22x z_AQ`ZNt9n!J<}B7VM3&R{9mPV{%>eFUlwV7SoCa8>CsG^e$^5!jMm19Glf1em?G7I z+ASvOc*cADaj7xmeZEohWq5ht&^WP3==b6vYE1@HYchmdlXzGY%rO&lT!1+)#2mA5 zau1Co2_bCUw!0I$JIR4137w@%f2edxLAtvbImfx6eOrj>at%I*5X?A6i}70??#Hg? zF25xmgA6~!h}USg?mBEfNQB_vT(*U^|N7vpMlv&^5OU>KZ^7&@4J;ucT;DAihkn#@ zg{AfK2YAtQ+e%e(Ayd_an-okw3I?UK-$3n4Jh0=oz^u?tYC0m6KL%5krQtuMi#Rmu z6VfkH5}B>hx_=Ae!&`^jg9Zjy%Xe)|JMYxrHq#-(FzErs@R!wW%zc)Lc0A5Eshwe- zkSqR{dg!z($TUI(zC_4?y6TWZn+9GnwitJgKdLxMY!X&+yl`iPflBE&4q79#(@YvsLOBcET+NKe@ z0g6vAJS2E8t5GlnaJvU^O)74qzyxrODsEpPny`-+m)+SCORmNecPzoYkxda|NlmO+ z=6HDUl45UfJmSFe`j5dwa_;UupI0nef!MBCA=KM@8%Lr4T1o&f~g z=Y;AoK7$Hyk$?z8U*9wEA@hOj21<84$?8uM^yGK=kl|SMS_d`*)JQ%ai1}zUq(HR_ zo#9r7V^g#JS94Eny<5kYwg>b!;Q7?V5}G470R!gWhCWED(5FWyPTM@}ef`vKpocD) z=M!7;?|udXZ7vNZ##3*ClH+NXCcD;#2MN?~U`MQd1O$GoBQAG(BhNv_sNTENF~sFt zV&Z`h(hs^59dA7m{Hce~P`CK{cCPzRjCsaz$)_f98X>~|SAP<}*gkl|S{pVOb(JtS z^0RnaiARWd^$8D(zBI$LTGelYXN;#l^<}Hd>)9ULo0`Zi*j!q}b zo}IqZOtTg?nzg_LC*Rp-GqX2W`C=TQZF)r~ccW2YB-CO9?t*YzEvE)9loJu#wdrx? zJaz$05iafECpQ1YIDQx8Pg>~&vj9`rB8i--ysdz{XI2CFW&8&uSmqaz& zde8cRGgS$Y5`E0m`F0IG)ebY8<214K(4+QQ9hpf9tXX%aS==te|v+2T*9 zvGROC@p_|Dl{?~O-AAdOsU@Z?BZXvX0uaX&sz=hkHHZGhBrxqWR%fboyN`L<9%P&A z`*sugJv!gbgkw9%7*oB1k)ePH)v|FUNBTNW^2sz3oApX>KBJvnsyO`^47@@gezokND1dyf~WS{bw8$nh+gic!U#-`-HlI z+)a#ctRqSuixy-NPB4j5>Xm~+BhapR1Rvw}sZJ&Us7RkQ` z>`WW|k!+>MaADj+$=c|%v~2U&#Sew<`2CKgl2s)QCB{;v7{L-8*;_t?=X(6@%65uo z)**5wCT)qBQ8KJ2{A-J`jk?v`+8q!hje(H8sVo`QzhowRawZ;#y<&t5h^OlC0r6U$ zt=Vm6f7!vtm9TGaFCDJ?c88cy8f^zM8Wycsv%YBi&a!U3`#^UXe?j83b4*rjr(A8&41JB;r8u9zmp>$p!?e>LZeCl}z3Eq$P%+8^7M!$iU-a*Y3 z%6fL+eMv`=Bim`xqrM3*5H!3U_t_s={14SZ{rlJ9)ouumd(-OiOnr{08-9%-m*RMj zF`pk}Jh~QpA^D^{SF)SsJK{ff8tmxwaImp^V%;(3mt(YFFWRrguHdfq7;{Sng;G!< zX$p20jx%nnKC03rH~xYgaE_@?nu#c!z7)_3iG)q8H8b#!Vt)3DM{IC~Dd z?L)VHNZ*#XoG}kQ&X6Ck9;d%bgI}Nt!Oq1t<*t|hH)b3?)Zu+S99}Tfuv2C2zcYgy zb4;XDOMn~gu6vkiID_j@^%p)G)dL9bE6%pIQ2qoK^`vwL+4U>%UCmKdO-)|Qu1Ve{ zyC#`m-*tUg-`&sS?<)L#ez&=j&z^$27h6d@4C0Vk<+djxX8TjQ>Ro|`Y4^5hXZt6Y zXV>BBuB{GFceCmH=^XlgI#anM$FL}MN{83$7f - activated + .DS MaxPlayers WeaponDepleted .DS 1 ; if 0 deactivate the weapon and switch to Baby Missile ;---------------------------------------------------- diff --git a/weapons.asm b/weapons.asm index 8e12e4c..8130d48 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2418,7 +2418,17 @@ InverseScreenByte sta (temp),y rts .endp - +; ------------------------------------------------- +.proc AutoDefense +; ------------------------------------------------- +; This routine is run from inside of the main loop +; X - index of tank +; ------------------------------------------------- + jsr PrepareAIShoot.WepTableToTemp + jsr UseBattery + jsr TosserDefensives + rts +.endp ; ------------------------------------------------- .proc TankFlying ; ------------------------------------------------- From c419eac3de0548c3ec495018aa1401911e763d52 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 9 Nov 2022 14:14:20 +0100 Subject: [PATCH 04/23] Improvements in "AutoDefense" - now works great! --- MANUAL_EN.md | 4 +++- MANUAL_PL.md | 6 ++++-- ai.asm | 4 ++-- artwork/weapons_AW6_mod.fnt | Bin 1024 -> 1024 bytes definitions.asm | 2 +- scorch.asm | 5 +++-- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48876 -> 48879 bytes 8 files changed, 13 insertions(+), 8 deletions(-) diff --git a/MANUAL_EN.md b/MANUAL_EN.md index 9ef510a..acad950 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -159,7 +159,7 @@ Only these points determine the order in the summary ## 6. And now for defensive weapons: * **White Flag** - causes the surrender of the player (can sometimes be useful in a hopeless situation). The advantage is that by surrendering you don't give a big point to your opponents and don't cause one of them to gain by killing us, you also limit the loss of your energy and also cash. An important note - this is the only defensive weapon that can be deactivated. All you have to do is re-enter inventory and once again select its activation. -* **Battery** - when activated, it recharges the tank's energy to full (99 units) and at the same time is the only defensive weapon that does not deactivate other defensive weapons when used. +* **Battery** - when activated, it recharges the tank's energy to full (99 units). It is one of two defensive weapons that does not deactivate other defensive weapons when used. * **Hovercraft** - a weapon that allows the tank to move. It has its own fuel supply in form of electric eels and in addition, it can be activated multiple times during the same turn, and after using it, you can activate another defensive weapon and fire a shot in the same turn. After using it, the tank rises above the mountains and using the cursor keys or a joystick you can move the tank to a new position. [SPACE] or the joystick button cause the tank to land in a new place. You can fly until the tank runs out of eels (presented on the status bar like the energy of a defensive weapon), if the eel fuel runs out the tank will fall down on its own. It is not possible to land on other tanks. * **Parachute** - does not protect against loss of energy due to a neighboring explosion, makes you not lose energy during ONE fall. After such a fall, it deactivates and a new parachute must be activated. * **Shield** - the simplest shield works exactly the opposite of **Parachute**, it does not protect against energy loss while falling, instead it protects against energy loss caused by ONE adjacent explosion. It protects once, no matter how strong the explosion is (whether tis but a scratch or a direct hit with a nuke), and deactivates immediately afterward. @@ -171,7 +171,9 @@ Only these points determine the order in the summary * **Long Schlong** - a special weapon :) - Costs a lot, doesn't really help with anything (except possibly digging yourself out but only when slightly buried but it has a cool name and looks cool :) - It can be activated independently of other defensive weapons and remains active until the end of the round (it cannot be deactivated). * **Lazy Boy** - it is not actually a defensive weapon. It is an aiming aid. When it is activated, the tank tries to aim at the nearest enemy and automatically adjusts the power of the shot and angle. If it has too little energy, it can sometimes aim wrong (it uses a method like **Cyborg** to aim). Like **Battery**, it does not deactivate other defensive weapons when used. Note: There is no point in activating this weapon before the round, targeting will not take place because there is nothing to target yet. * **Lazy Darwin** - works exactly like **Lazy Boy** but targets the weakest opponent. +* **Auto Defense** - activates the mode of automatic activation of defensive weapons. After its activation, the tank automatically activates the strongest shield it has (consuming it, of course) at any time when there is no shield (also between shots of other players). At the same time, if the tank's energy level drops below 30 units, it automatically activates **Battery** if it has it. This weapon remains active until the end of the round and is indicated by the letter "A" before the name of the active defensive weapon in the status line. It is the second defensive weapon that does not deactivate other defensive weapons when used. +Translated with www.DeepL.com/Translator (free version) Due to the different operations of **MIRV**, defensive weapons **Bouncy Castle** and **Mag Deflector** only use the shielding function when hit by these weapons. In addition, **MIRV** heads do not bounce or fly through sidewalls during descent! None of the shields protect against **Napalm**. **Bouncy Castle** or **Mag Deflector** on a direct hit will deflect it or carry it past, but just hit very close to a tank and its shield will not save it. diff --git a/MANUAL_PL.md b/MANUAL_PL.md index 2e478f1..4145ff9 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -52,7 +52,8 @@ W linii statusowej widoczna jest informacja o tym który z graczy aktualnie moż * ustawiona przez gracza siła strzału (maksymalna siła strzału jest ograniczana przez energię gracza - nie może przekroczyć energii * 10 . Oznacza to, że mając małą ilość energii możemy oddać słabsze strzały * numer aktualnej rundy rozgrywki * prędkość i kierunek wiatru -* w nawiasie nazwę aktywnej broni defensywnej - jeśli jest jakaś aktywowana przez gracz +* symbol "A" jeśli aktywna jest **Auto Defense** +* w nawiasie nazwę aktywnej broni defensywnej - jeśli jest jakaś aktywowana przez gracza Tutaj klawiszologia jest prosta, klawisze kursora lub joystick: lewo/prawo - zmiana kąta nachylenia lufy, góra/dół - zmiana ustawienia siły strzału. @@ -158,7 +159,7 @@ Tylko te punkty decydują o kolejności w podsumowaniu ## 6. A teraz bronie defensywne: * **White Flag** - powoduje poddanie gracza (może czasem przydać się w sytuacji beznadziejnej). Zaletą jest to, że poddając się nie dajemy dużego punktu przeciwnikom i nie powodujemy, że któryś zyska na tym, że nas zgładzi, ograniczamy też stratę swojej energii czyli także kasy. I tu także ważna uwaga - to jedyna broń defensywna, którą można dezaktywować. Wystarczy ponownie wejść do inventory i jeszcze raz wybrać jej aktywację. -* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek) i jednocześnie jest to jedyna broń defensywna, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. +* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek). Jest to jedna z dwóch broni defensywnych, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. * **Hovercraft** - broń umożliwiająca przemieszczanie się czołgu. Posiada własny zasób paliwa a dodatkowo może być aktywowana wielokrotnie w czasie tej samej tury, a po jej użyciu możemy w tej samej turze aktywować inną broń defensywną i oddać strzał. Po jej użyciu czołg uniesie się ponad góry i za pomocą klawiszy kursora lub joysticka: lewo/prawo możemy przemieścić czołg na nową pozycję a [SPACJA] lub przycisk joysticka powodują wylądowanie czołgu w nowym miejscu. Latać można do chwili skończenia się "paliwa" (prezentowanego na pasku statusu tak jak energia broni defensywnej), jeśli paliwo się skończy czołg opadnie samodzielnie. Nie da się lądować na innych czołgach. * **Parachute** - nie chroni przed ubytkiem energii z powodu sąsiedniej eksplozji, powoduje że nie ubywa energii w czasie JEDNEGO spadania. Po takim upadku dezaktywuje się i trzeba aktywować nowy spadochron. * **Strong Parachute** - spadochron z własną energią (na starcie 99 jednostek), działa tak samo jak Parachute (nie chroni przed eksplozjami) ma za to swój własny zasób energii przy spadaniu w pierwszej kolejności zmniejszana jest energia tego spadochronu (1 jednostka na jeden pixel opadania - inaczej niż czołg!) i jeśli dojdzie ona do 0 to spadochron dezaktywuje się i dalej zmniejszana jest energia czołgu (tutaj już standardowo - 2 jednostki na jeden pikxel). @@ -171,6 +172,7 @@ Tylko te punkty decydują o kolejności w podsumowaniu * **Long Schlong** - broń specjalna :) - kosztuje dużo, nie bardzo w czymkolwiek pomaga (poza ewentualnym odkopaniem się ale tylko przy niewielkim przysypaniu ale fajnie się nazywa i wygląda :) - Można ją aktywować niezależnie od innych broni defensywnych i pozostaje aktywna do końca rundy (nie da się jej dezaktywować). * **Lazy Boy** - nie jest to właściwie broń defensywna. Jest to wspomaganie celowania. Po jej aktywacji czołg stara się wycelować w najbliższego przeciwnika i automatycznie ustawia siłę strzału oraz kąt. W przypadku posiadania zbyt małej ilości energii może czasem wycelować źle (do celowania stosuje metodę taką jak **Cyborg**). Tak jak **Battery** nie dezaktywuje innych broni defensywnych w przypadku jej użycia. Uwaga! Nie ma sensu aktywacja tej broni przed rundą, celowanie nie odbędzie się bo nie ma jeszcze do czego celować. * **Lazy Darwin** - działa dokładnie jak **Lazy Boy** ale celuje w najsłabszego przeciwnika. +* **Auto Defense** - włącza tryb automatycznej aktywacji broni defensywnych. Po jej aktywowaniu czołg automatycznie aktywuje najmocniejszą posiadaną osłonę (zużywając ją oczywiście) w każdej chwili, kiedy nie ma żadnej osłony (także pomiędzy strzałami innych graczy). Jednocześnie jeżeli poziom energii czołgu spadnie poniżej 30 jednostek, automatycznie aktywuje **Battery** jeżeli ją posiada. Ta broń pozostaje aktywna do końca rundy i jest sygnalizowana literą "A" przed nazwą aktywnej broni defensywnej w linii statusowej. Jest to druga broń defensywna, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. W związku z odmiennym działaniem broni **MIRV**, bronie defensywne **Bouncy Castle** i **Mag Deflector** wykorzystują tylko funkcję osłony przy trafieniu tą bronią. Dodatkowo głowice **MIRV** w czasie opadania nie odbijają się i nie przelatują przez ściany boczne! diff --git a/ai.asm b/ai.asm index 9c5be12..2bc6970 100644 --- a/ai.asm +++ b/ai.asm @@ -255,7 +255,7 @@ NoBatteries ldy #last_real_defensive+1 ;the last defensive weapon @ dey - cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) + cpy #ind_Hovercraft_____ ;first defensive weapon (White Flag, Battery and Hovercraft - never use) beq NoUseDefensive lda (temp),y ; has address of TanksWeaponsTable beq @- @@ -290,7 +290,7 @@ DefensiveInUse ldy #last_real_defensive+1 ;the last defensive weapon @ dey - cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) + cpy #ind_Hovercraft_____ ;first defensive weapon (White Flag, Battery and Hovercraft - never use) beq NoUseDefensive lda (temp),y ; has address of TanksWeaponsTable beq @- diff --git a/artwork/weapons_AW6_mod.fnt b/artwork/weapons_AW6_mod.fnt index 577e581f0bcf0fee9a387da708b4bfb07cbda061..ac9817505297659a3c7fbf82ce9be4d8d100e9fa 100644 GIT binary patch delta 21 ccmZqRXyDlJfr+Ee$;qisrSAXcA50vK09D%u)Bpeg delta 21 bcmZqRXyDlJfr*2G!A7MH2sZy<;$Q>-O1TEf diff --git a/definitions.asm b/definitions.asm index 02d2341..c2f40df 100644 --- a/definitions.asm +++ b/definitions.asm @@ -86,7 +86,7 @@ price_Long_Barrel____ = 2100 ;_42 price_Nuclear_Winter_ = 1000 ;_43 price_Lazy_Boy_______ = 500 ;_44 price_Lazy_Darwin____ = 500 ;_45 -price_Auto_Defense___ = 150 ;_46 +price_Auto_Defense___ = 250 ;_46 ;Weapon indexes (numbers) ind_Baby_Missile___ = 0 first_offensive____ = ind_Baby_Missile___ diff --git a/scorch.asm b/scorch.asm index 9901c11..40497c7 100644 --- a/scorch.asm +++ b/scorch.asm @@ -617,14 +617,15 @@ DoNotFinishTheRound ldx NumberOfPlayers dex CheckNextTankAD - lda Energy,x + lda Energy,x ; only active players beq @+ - lda AutoDefenseFlag,x + lda AutoDefenseFlag,x ; with Auto Defence activated beq @+ ; run auto defense for tank in X jsr AutoDefense @ dex bpl CheckNextTankAD + jsr DrawTanks ; redraw tanks witch new defences ; ldx TankSequencePointer lda TankSequence,x diff --git a/scorch.bin b/scorch.bin index 343f898fcf8f37a864d981d14795aaf833c85419..87be1d6d563fd116cce6778b8bb8e2a0229d5023 100644 GIT binary patch delta 7668 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 CQ1{0G delta 7631 zcmaJm30PD|(!61~hj~vJWk7*O5K$2ELNJPVAo{#uz~B)_4iR;-%7BO$g0vz!3brCB z1VkUpLq=O!EHU{L)W-r zXA(pfdy8^|f4kUVaFvOR3~sVbqMbqcu|av)==QPYzv6u|+RZzudx0oJXA;oGr6@Zg z=z7Ehv^Le&yM@{pp)cZ5=0cRS+y?q9TCo6WdGvq>%0Df%=VN)%4(rhFcodw4Inj-B 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 O<k4CfAB_ diff --git a/scorch.xex b/scorch.xex index 74127bd67548865d91005fdb5956c5218825bb4f..41b27e379a7f03fbcd5ac043e8c4150004aa83c3 100644 GIT binary patch delta 7600 zcmahu4Ompwww#&a*MT$Qhyx02P*A`WwUWAKDc&y1Q3QsH{9*Y2kuhcXR~h*^h{zzr zmOo*X&_f(#62!ju=s6dyL2eR}=4kZsW^{QA3duv8@XyP` zwDZ!au!wf!py@@@;$Sk67BR}K9h6znrmXh$rg0>#?gSJkrrcJr59zN_bSg{G9qnq< zg=pP?2sy1s`I)9zsl^k0UEi*T36ew^9ltP7;l!vfl^L=SDym^Q`ZWrj+9u3kdpsB5 z&_J4fV=QtrvN)N8ICmtk1tDle&;RDuvNnbWa@vsWxazh8iS+fr`qGOe+FiL{EwJ!S zW&UpQLT*J!pU0?aE$pFOZ3^W#up3JwJfyyI3r zXqX&Y4Rb3myg%YaNo*|g!j~evh->)whz!S@n^^*R6;aplhLuMpaArsG^O1p$q9WEu z_l^ji#Ho?fMIt4xiS*z+CX_`(MoV9J7-_M*BhbX*N17KKM6E1WrdF;Z@E zsj+(yDW}M&OTsUz!z-h6h+pwQbRdz2e~gyH*iO0BHaA*D9l}cG3ld-u-m6n)i->>q zir&0tOLXBIt39;M(d@7;Si~;X%@MH+b+bj_1>lEpG?%xqgSz7))&|_DRSzzDw8}4D|!8jk^7-5UfSoZ zr2pBKAf4Igs?_Z#yAq{+la#tNX;+f8&tIu?BD<2MeL+fHy0j}r+9&L_?*%+-t%pbc znxl@~9R;IFccL{lqT%dT8z%Q+oD}8bgtcK4dYh@9HE@2H(akl&KGBERw00`-JN|a9 zhXn2qhaawWn|<~PdxG)UMf@qa@TcGdr@&60c3CE3J>gpNcLgtrdr3Z&%$Cq8tej45 zv#D;BRX54dW~`4x+Ny-Iel(C^wXB%>HOf2_><|)XwzF&jlYp&V;F^$@m(4x^Um6eA z<3HRfW3x==JkT%m>S~fzl=V}7aWHZ0Y8;&~{l|y9Mf5PWZ!J$r4)-(tr<-J)U#m@7 zzvWwD+9>02uu4Jf!%J0O!E6H1!tVR|Pl+zlg;nUHT$sxiJ5==;s$65T#DEST;s%wE zvNndZ>r;>ykHvHYNY$!fNqtJI7c0}JD43LVH#(0=O}C-*VGVr%O-gCk@L=~b@G$_J zYGddwG?d)x&Pwzt)NCw`S42=sx~VTpN$=jT>1pD{sahwpHu{v4M-g|Q(V(t+`T)<0 zc*IIzZVGy%6?nidvRlP=8vpDH*?s=Fl~@x$i>SwK@e7E}_@D8w5%(}k2nh;~S53Pd zoHMgo7VNOUzb{=z#l^#SyR2Q^5n@u1_m9PZ`=xHjj#ORyM zNi`BSQQsukEov>#$XQ_2t~TgNI8K2Z#7sE83G5VlZ(|snXn1kLHKE)DE8TNEeEcIs{UZckk{IL_7;9KSn#OeNX$l!3^i3eV zs-Hxjy}HE7#NVEDT2NOFp`mj$l7E~ixcji0Q6D#QBP#G|@Z4A_edT)j0k)XVV}0m+ zFfi)EKP1hVLnc281a1Bo^J6WxgR)KT4ZhheN{dIS~IG#Gpo8qj;~$ZgJV

-eOZ8FFzWLJy^+37({rT$~V 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 UGrHRscNq3~^wsxTjK9hL4H8ivWB>pF delta 7983 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 From f67656c5aa4e95be8624caebd917e04affd3b2ec Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 10 Nov 2022 11:41:27 +0100 Subject: [PATCH 05/23] Update MANUAL_EN.md --- MANUAL_EN.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/MANUAL_EN.md b/MANUAL_EN.md index acad950..60244ca 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -173,9 +173,6 @@ Only these points determine the order in the summary * **Lazy Darwin** - works exactly like **Lazy Boy** but targets the weakest opponent. * **Auto Defense** - activates the mode of automatic activation of defensive weapons. After its activation, the tank automatically activates the strongest shield it has (consuming it, of course) at any time when there is no shield (also between shots of other players). At the same time, if the tank's energy level drops below 30 units, it automatically activates **Battery** if it has it. This weapon remains active until the end of the round and is indicated by the letter "A" before the name of the active defensive weapon in the status line. It is the second defensive weapon that does not deactivate other defensive weapons when used. -Translated with www.DeepL.com/Translator (free version) -Due to the different operations of **MIRV**, defensive weapons **Bouncy Castle** and **Mag Deflector** only use the shielding function when hit by these weapons. In addition, **MIRV** heads do not bounce or fly through sidewalls during descent! - None of the shields protect against **Napalm**. **Bouncy Castle** or **Mag Deflector** on a direct hit will deflect it or carry it past, but just hit very close to a tank and its shield will not save it. **White Flag**, **Hovercraft** and **Nuclear Winter** weapons, when selected, require activation, this is accomplished by "firing a shot" after the selection of that weapon. Of course, the shot of the offensive weapon is then not fired, but only the selected defensive weapon is activated. From ac1c501fa4b6b9973ab8e321406eaf232b6fdd56 Mon Sep 17 00:00:00 2001 From: pkali Date: Fri, 11 Nov 2022 01:26:11 -0500 Subject: [PATCH 06/23] angle 0 elliminated --- README.md | 6 +++--- grafproc.asm | 50 ++++++++++++++++++++++++++++++++------------------ scorch.xex | Bin 48879 -> 48879 bytes weapons.asm | 5 ++--- 4 files changed, 37 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 35a633e..464e40a 100644 --- a/README.md +++ b/README.md @@ -55,15 +55,15 @@ With the advent of [fujinet](https://fujinet.online/) we are thinking about maki 2022-11-07 Possibly the final single-player version of the game, unless our dear players find another breaking issue! -* 5200 keypad works as it should. You can now press these finicky foils to your hearth's desire. +* 5200 keypad works as it should. You can now press these finicky foils to your heart's desire. * "Unknown" type Robotanks were attacking with Nuclear Winter every time. Fixed! -* One of variables was declared as a byte but used as a word which might cause some rare instabilities. +* One of the variables was declared as a byte but used as a word that might cause some rare instabilities. * Page zero variables are cleared prior to the game start to eliminate rare issues in some software/hardware configurations. * The new version of music in NTSC eliminates issues with tempo (not that anyone but the artist noticed that, but still it is an improvement!) * You can now wrap around inventory and shop to faster access these options far down below. * Visual improvement of the main menu and fixed some color issues with the title headers. * Hovercraft was always flying to the top of the screen, it was not intended, it is now hovering just above the mountains! -* The main menu does not blink now when changing options. This was a very minor thing but it bothered me to some extend. Fixing it required a complete rewrite of this portion of the menu. +* The main menu does not blink now when changing options. This was a very minor thing but it bothered me to some extent. Fixing it required a complete rewrite of this portion of the menu. ###### Version 1.17 diff --git a/grafproc.asm b/grafproc.asm index 498ae2b..10c3844 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2109,10 +2109,23 @@ YangleUnder90 sta vy lda #0 ; all arithmetic to zero - sta vx+1 - sta vy+1 sta fx sta fy + sta vx+1 + sta vy+1 + + ;; add 0.5 to vx and vy for better rounding + ;clc + ;lda vx + ;adc #128 ; 1/2 + ;sta vx + ;scc:inc vx+1 + ; + ;clc + ;lda vy + ;adc #128 ; 1/2 + ;sta vy + ;scc:inc vy+1 ; draw by vx vy ; in each step @@ -2124,42 +2137,43 @@ YangleUnder90 barrelLoop lda goleft - bne @+ + bne goright clc lda fx adc vx sta fx + bcc @+ lda xdraw - adc #0 + adc vx+1 sta xdraw - lda xdraw+1 - adc #0 - sta xdraw+1 - jmp ybarrel + bcc @+ + inc xdraw+1 @ + jmp ybarrel +goright sec lda fx sbc vx sta fx + bcs @+ lda xdraw - sbc #0 + sbc vx+1 sta xdraw - lda xdraw+1 - sbc #0 - sta xdraw+1 - + bne @+ + dec xdraw+1 +@ ybarrel sec lda fy sbc vy sta fy + bcs @+ lda ydraw - sbc #0 + sbc vy+1 sta ydraw - lda ydraw+1 - sbc #0 - sta ydraw+1 - + bcs @+ + dec ydraw+1 +@ jsr plot ;.MakePlot dec yc diff --git a/scorch.xex b/scorch.xex index 41b27e379a7f03fbcd5ac043e8c4150004aa83c3..f2ce16ba91f6a22b6840124d3d288cee55ac25c5 100644 GIT binary patch delta 92 zcmaF=m+AdqrVaIVZY{0tt-D*dFMWDJOk!zE>aNz730zB)Qg^o|O<;PK>@%;{Vrk1$ vpy&pm=u@ER1*T)k7E9ZoZfk7^3Z*>V-kP$3>DcC@bsxAH88&b0vNQnz{A@4? delta 92 zcmaF=m+AdqrVaIVZo6Bzx3;vlFMWDJOk!zE>aNz7rAe6#tw~Fhfn>7JyjqK;El Date: Fri, 11 Nov 2022 13:27:20 +0100 Subject: [PATCH 07/23] New weapon (I promise - last one :) ) - Spy Hard! --- artwork/weapons_AW6_mod.fnt | Bin 1024 -> 1024 bytes constants.asm | 10 +++++-- definitions.asm | 4 ++- scorch.asm | 9 +++--- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48879 -> 49010 bytes textproc.asm | 7 ++++- variables.asm | 2 ++ weapons.asm | 54 ++++++++++++++++++++++++++++++++++-- 9 files changed, 76 insertions(+), 10 deletions(-) diff --git a/artwork/weapons_AW6_mod.fnt b/artwork/weapons_AW6_mod.fnt index ac9817505297659a3c7fbf82ce9be4d8d100e9fa..251c7c7a1c809ffad89b0a51cf49b4e61a4b0fc8 100644 GIT binary patch delta 40 vcmZqRXyDlJfLWp9OiRm|I(BA>x~Pfo)6yh3B<$+!BsdrZBx>qvBm@`$Ejprice_Lazy_Boy_______ .by >price_Lazy_Darwin____ .by >price_Auto_Defense___ + .by >price_Spy_Hard_______ WeaponPriceL .by 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 R_lV{_{k6`${GQq5e*x%s>5TvY delta 14915 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

75vvMpc_> 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 diff --git a/textproc.asm b/textproc.asm index 7478591..b40d40f 100644 --- a/textproc.asm +++ b/textproc.asm @@ -875,8 +875,13 @@ NoLazyBoy jsr FindBestTarget3 ; find target with lowest energy jsr LazyAim ply - jmp DecreaseDefensive ; bypass activation + jmp DecreaseDefensive ; bypass activation NoLazyDarwin + cmp #ind_Spy_Hard_______ + bne NotSpy + mva #$ff SpyHardFlag + jmp DecreaseDefensive ; bypass activation +NotSpy cmp #ind_Long_Barrel____ bne NotBarrel ; if activate long barrel, we do it differently too diff --git a/variables.asm b/variables.asm index 019b144..1400733 100644 --- a/variables.asm +++ b/variables.asm @@ -164,6 +164,8 @@ TargetTankNr ; Target tank index (for AI routines) .DS 1 SecondTryFlag ; For precise AI aiming .DS 1 +SpyHardFlag ; >$7f - run SpyHard after inventory + .DS 1 ;---------------------------------------------------- ;Erase .DS 1 ; if 1 only mask of the character is printed ; on the graphics screen. if 0 character is printed normally diff --git a/weapons.asm b/weapons.asm index 1fe901a..fbe63e6 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1163,12 +1163,16 @@ callInventory jsr Purchase afterInventory jsr MakeDarkScreen - RmtSong song_ingame - mva #0 escFlag jsr DisplayStatus jsr SetMainScreen jsr WaitOneFrame jsr DrawTanks + bit SpyHardFlag + bpl NoSpyHard + jsr SpyHard +NoSpyHard + RmtSong song_ingame + mva #0 escFlag jsr WaitForKeyRelease jmp BeforeFire @ @@ -2429,6 +2433,52 @@ InverseScreenByte rts .endp ; ------------------------------------------------- +.proc SpyHard +; ------------------------------------------------- + mvx TankNr TargetTankNr ; save +RepeatSpy + mvx #0 TankNr +CheckNextTankSH + cpx TargetTankNr + beq ThisTankItsMe + lda Energy,x ; only active players + beq ThisTankIsDead + ; run SpyHard for tank in X + jsr DisplaySpyInfo + jsr FlashTank +@ jsr GetKey + bit escFlag + bmi SpyHardEnd + cmp #@kbcode._space ; $21 ; Space + beq SpyHardEnd + cmp #@kbcode._ret ; Return key (5200 - fire) + beq SpyHardEnd + cmp #@kbcode._left ; $6 + beq SelectNextTank + cmp #@kbcode._right ; $07 ; cursor right + bne @- +ThisTankIsDead +ThisTankItsMe +SelectNextTank + inc TankNr + ldx TankNr + cpx NumberOfPlayers + bne CheckNextTankSH + beq RepeatSpy +SpyHardEnd + mvx TargetTankNr TankNr ; restore + jsr DisplaySpyInfo + mva #0 SpyHardFlag + rts +.endp +.proc DisplaySpyInfo + lda TankStatusColoursTable,x + sta COLOR2 ; set color of status line + jsr PutTankNameOnScreen + jsr DisplayStatus + rts +.endp +; ------------------------------------------------- .proc TankFlying ; ------------------------------------------------- ; This routine is run from inside of the main loop From d0e682f0a3281888bef9bfb702f1fbeee7bbadd8 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 11 Nov 2022 21:39:45 +0100 Subject: [PATCH 08/23] New SFX and manuals update. --- MANUAL_EN.md | 3 +- MANUAL_PL.md | 3 +- artwork/sfx/scorch_str6.rmt | Bin 3930 -> 0 bytes ...rch_str6-NTSC.rmt => scorch_str8-NTSC.rmt} | Bin 3930 -> 4054 bytes artwork/sfx/scorch_str8.rmt | Bin 0 -> 4054 bytes definitions.asm | 2 ++ scorch.asm | 26 ++++++++---------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49010 -> 49134 bytes textproc.asm | 6 ++-- 10 files changed, 21 insertions(+), 19 deletions(-) delete mode 100644 artwork/sfx/scorch_str6.rmt rename artwork/sfx/{scorch_str6-NTSC.rmt => scorch_str8-NTSC.rmt} (50%) create mode 100644 artwork/sfx/scorch_str8.rmt diff --git a/MANUAL_EN.md b/MANUAL_EN.md index 60244ca..a5d772b 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -159,7 +159,7 @@ Only these points determine the order in the summary ## 6. And now for defensive weapons: * **White Flag** - causes the surrender of the player (can sometimes be useful in a hopeless situation). The advantage is that by surrendering you don't give a big point to your opponents and don't cause one of them to gain by killing us, you also limit the loss of your energy and also cash. An important note - this is the only defensive weapon that can be deactivated. All you have to do is re-enter inventory and once again select its activation. -* **Battery** - when activated, it recharges the tank's energy to full (99 units). It is one of two defensive weapons that does not deactivate other defensive weapons when used. +* **Battery** - when activated, it recharges the tank's energy to full (99 units). It is one of three defensive weapons that does not deactivate other defensive weapons when used. * **Hovercraft** - a weapon that allows the tank to move. It has its own fuel supply in form of electric eels and in addition, it can be activated multiple times during the same turn, and after using it, you can activate another defensive weapon and fire a shot in the same turn. After using it, the tank rises above the mountains and using the cursor keys or a joystick you can move the tank to a new position. [SPACE] or the joystick button cause the tank to land in a new place. You can fly until the tank runs out of eels (presented on the status bar like the energy of a defensive weapon), if the eel fuel runs out the tank will fall down on its own. It is not possible to land on other tanks. * **Parachute** - does not protect against loss of energy due to a neighboring explosion, makes you not lose energy during ONE fall. After such a fall, it deactivates and a new parachute must be activated. * **Shield** - the simplest shield works exactly the opposite of **Parachute**, it does not protect against energy loss while falling, instead it protects against energy loss caused by ONE adjacent explosion. It protects once, no matter how strong the explosion is (whether tis but a scratch or a direct hit with a nuke), and deactivates immediately afterward. @@ -172,6 +172,7 @@ Only these points determine the order in the summary * **Lazy Boy** - it is not actually a defensive weapon. It is an aiming aid. When it is activated, the tank tries to aim at the nearest enemy and automatically adjusts the power of the shot and angle. If it has too little energy, it can sometimes aim wrong (it uses a method like **Cyborg** to aim). Like **Battery**, it does not deactivate other defensive weapons when used. Note: There is no point in activating this weapon before the round, targeting will not take place because there is nothing to target yet. * **Lazy Darwin** - works exactly like **Lazy Boy** but targets the weakest opponent. * **Auto Defense** - activates the mode of automatic activation of defensive weapons. After its activation, the tank automatically activates the strongest shield it has (consuming it, of course) at any time when there is no shield (also between shots of other players). At the same time, if the tank's energy level drops below 30 units, it automatically activates **Battery** if it has it. This weapon remains active until the end of the round and is indicated by the letter "A" before the name of the active defensive weapon in the status line. It is the second defensive weapon that does not deactivate other defensive weapons when used. +* **Spy Hard** - Help for the forgetful :) . When activated, it shows a preview of information about the next opponents one by one. Left/Right - changes the "spied" tank. Fire/Space/Return/Esc - ends the "spying". This is the last defensive weapon, which does not deactivate other defensive weapons when used. None of the shields protect against **Napalm**. **Bouncy Castle** or **Mag Deflector** on a direct hit will deflect it or carry it past, but just hit very close to a tank and its shield will not save it. diff --git a/MANUAL_PL.md b/MANUAL_PL.md index 4145ff9..ee188f9 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -159,7 +159,7 @@ Tylko te punkty decydują o kolejności w podsumowaniu ## 6. A teraz bronie defensywne: * **White Flag** - powoduje poddanie gracza (może czasem przydać się w sytuacji beznadziejnej). Zaletą jest to, że poddając się nie dajemy dużego punktu przeciwnikom i nie powodujemy, że któryś zyska na tym, że nas zgładzi, ograniczamy też stratę swojej energii czyli także kasy. I tu także ważna uwaga - to jedyna broń defensywna, którą można dezaktywować. Wystarczy ponownie wejść do inventory i jeszcze raz wybrać jej aktywację. -* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek). Jest to jedna z dwóch broni defensywnych, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. +* **Battery** - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek). Jest to jedna z trzech broni defensywnych, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. * **Hovercraft** - broń umożliwiająca przemieszczanie się czołgu. Posiada własny zasób paliwa a dodatkowo może być aktywowana wielokrotnie w czasie tej samej tury, a po jej użyciu możemy w tej samej turze aktywować inną broń defensywną i oddać strzał. Po jej użyciu czołg uniesie się ponad góry i za pomocą klawiszy kursora lub joysticka: lewo/prawo możemy przemieścić czołg na nową pozycję a [SPACJA] lub przycisk joysticka powodują wylądowanie czołgu w nowym miejscu. Latać można do chwili skończenia się "paliwa" (prezentowanego na pasku statusu tak jak energia broni defensywnej), jeśli paliwo się skończy czołg opadnie samodzielnie. Nie da się lądować na innych czołgach. * **Parachute** - nie chroni przed ubytkiem energii z powodu sąsiedniej eksplozji, powoduje że nie ubywa energii w czasie JEDNEGO spadania. Po takim upadku dezaktywuje się i trzeba aktywować nowy spadochron. * **Strong Parachute** - spadochron z własną energią (na starcie 99 jednostek), działa tak samo jak Parachute (nie chroni przed eksplozjami) ma za to swój własny zasób energii przy spadaniu w pierwszej kolejności zmniejszana jest energia tego spadochronu (1 jednostka na jeden pixel opadania - inaczej niż czołg!) i jeśli dojdzie ona do 0 to spadochron dezaktywuje się i dalej zmniejszana jest energia czołgu (tutaj już standardowo - 2 jednostki na jeden pikxel). @@ -173,6 +173,7 @@ Tylko te punkty decydują o kolejności w podsumowaniu * **Lazy Boy** - nie jest to właściwie broń defensywna. Jest to wspomaganie celowania. Po jej aktywacji czołg stara się wycelować w najbliższego przeciwnika i automatycznie ustawia siłę strzału oraz kąt. W przypadku posiadania zbyt małej ilości energii może czasem wycelować źle (do celowania stosuje metodę taką jak **Cyborg**). Tak jak **Battery** nie dezaktywuje innych broni defensywnych w przypadku jej użycia. Uwaga! Nie ma sensu aktywacja tej broni przed rundą, celowanie nie odbędzie się bo nie ma jeszcze do czego celować. * **Lazy Darwin** - działa dokładnie jak **Lazy Boy** ale celuje w najsłabszego przeciwnika. * **Auto Defense** - włącza tryb automatycznej aktywacji broni defensywnych. Po jej aktywowaniu czołg automatycznie aktywuje najmocniejszą posiadaną osłonę (zużywając ją oczywiście) w każdej chwili, kiedy nie ma żadnej osłony (także pomiędzy strzałami innych graczy). Jednocześnie jeżeli poziom energii czołgu spadnie poniżej 30 jednostek, automatycznie aktywuje **Battery** jeżeli ją posiada. Ta broń pozostaje aktywna do końca rundy i jest sygnalizowana literą "A" przed nazwą aktywnej broni defensywnej w linii statusowej. Jest to druga broń defensywna, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. +* **Spy Hard** - Pomoc dla zapominalskich :) . Po aktywacji pokazuje kolejno podgląd informacji o kolejnych przeciwnikach. Lewo/Prawo - zmienia "szpiegowany" czołg. Fire/Space/Return/Esc - kończy "szpiegowanie". Jest to ostatnia broń defensywna, która nie dezaktywuje innych broni defensywnych w przypadku jej użycia. W związku z odmiennym działaniem broni **MIRV**, bronie defensywne **Bouncy Castle** i **Mag Deflector** wykorzystują tylko funkcję osłony przy trafieniu tą bronią. Dodatkowo głowice **MIRV** w czasie opadania nie odbijają się i nie przelatują przez ściany boczne! diff --git a/artwork/sfx/scorch_str6.rmt b/artwork/sfx/scorch_str6.rmt deleted file mode 100644 index fcdc1a2beaf4edf963544a2185cf863e330810f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3930 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 t9*H*8in;M*#IFPs2;xwwmu0{tH4yndJZg literal 0 HcmV?d00001 diff --git a/definitions.asm b/definitions.asm index f897538..529799e 100644 --- a/definitions.asm +++ b/definitions.asm @@ -179,6 +179,8 @@ sfx_battery = $1c ;3 sfx_white_flag = $1d ;4 sfx_long_barrel = $1e sfx_tank_move = $1f +sfx_auto_defense= $2b +sfx_lazy_boys = $2c ;-------------------------------- ; RMT songs (lines) ;-------------------------------- diff --git a/scorch.asm b/scorch.asm index 0c9a13e..4ee9766 100644 --- a/scorch.asm +++ b/scorch.asm @@ -15,7 +15,7 @@ ;--------------------------------------------------- .macro build - dta d"1.18" ; number of this build (4 bytes) + dta d"1.19" ; number of this build (4 bytes) .endm .macro RMTSong @@ -268,13 +268,13 @@ FirstSTART ; Change RMT to PAL version ; 5 values in RMT file ; not elegant :( - mva #$06 MODUL-6+$941 - mva #$10 MODUL-6+$a43 - mva #$06 MODUL-6+$b9d - mva #$04 MODUL-6+$bd2 - mva #$08 MODUL-6+$e17 - mva #$06 MODUL-6+$e3d - mva #$06 MODUL-6+$e8c + mva #$06 MODUL-6+$9af + mva #$10 MODUL-6+$ab1 + mva #$06 MODUL-6+$c0b + mva #$04 MODUL-6+$c40 + mva #$08 MODUL-6+$e85 + mva #$06 MODUL-6+$eb1 + mva #$06 MODUL-6+$f04 NoRMT_PALchange .ELSE mva #$7f SkStatSimulator @@ -1904,19 +1904,17 @@ noingame TankFont ins 'artwork/tanksv3.fnt',+0,352 ; 44 characters only ;---------------------------------------------- - +font4x4 + ins 'artwork/font4x4s.bmp',+62 +;---------------------------------------------- ;RMT PLAYER and song loading shenaningans icl 'artwork/sfx/rmtplayr_modified.asm' org $b000 MODUL ; equ $b000 ;address of RMT module ;opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str6-NTSC.rmt",+6 ;include music RMT module + ins "artwork/sfx/scorch_str8-NTSC.rmt",+6 ;include music RMT module ;opt h+ MODULEND -;---------------------------------------------- -font4x4 - ins 'artwork/font4x4s.bmp',+62 - ;---------------------------------------------- .IF target = 5200 .IF * > ROM_SETTINGS-1 diff --git a/scorch.bin b/scorch.bin index f3406789dc306d86152b45bbaf4ee50201a4449d..a3601e45567451f85b504684e4863ccab993599c 100644 GIT binary patch delta 835 zcmY*RT}V@57(VCBwt1XWXEQgA=3JzvpzTUB4e}!7h^wrNCLDdW@8FETo5Y5>6<~cu3%!@FufFS$L2hVuv05X_TdLwm7<*EvAPa9M`4Z*R2oe zZZ@`zi1QM0F68TnOHJeROGm$r3n7DJBFJ0ZLxQ*mZl(2Z;5t} zn}xAtah)(!6NmnuD_svi)|Rg6F7ng~o@wZ)BXlg|>NupCn2&3t8Oxi_&6gW73FYO) zgWu!qD6`Q~r5dBxoWBZ{BcXJb{^?xPWUvfn&Q=;&$DlS;&N}9_)YWn3vbhN#XWp9) zI4^9OCHP$nX>D`aU8acFHRt-`lDNy<^=^kd>i*&0244kNg1Mo}P-|#}tZeJV z?u{z0Jo%KQHee#k&E37jq3BoTnWX|~r~#u}p-BX6a`G8MI2=x-kR~vNFg-2s7L$z0 z?MjpBm6%vU=Jf-(RiP*-NTd;EHFrr|V6bP438n_@mxyWs1qmJ4@ez|!+1^@X+D}8V0`b32(!?V&3w12 Lq#A5b9$WJl@7r&- delta 701 zcmZ8ZZAcSg9KXBC=Ih*?={A$rT%@9)2_ac21Yvd6qzL+?2$r)s%`mDD+dgyz1xlqp>8JXJb;Cs(@1Q|v|7pxi0;YeTZtA_DpI0w$`LK&GBGvt#UA_8W@^4Z#~hGMEmY;y!Z4p>v@`Xf9M4?h0QGPlQ*) zGX5xko*(8X`A>XX#2gul_#%su9noXaE79lCm(kUzHg@3g{1$>#9~_rA58R*N5eaj! zK-YAld)T|uJIa4nnf4Pg5pg6Qk0-Lo-by5<|KWuQjvX{B%8W`x9QA+0m0#P7a^&^J zoMw$nnDN-vE{)5sktiGNDycoJ_#0qruDIAGZH=xnm)+#jx{_eVz6VW$6??VF8i(Xt z92JcVNr<2j!Nik;LP55agis-eFt0$=Tv77{`S)a@5*EoIghF8sxaDXnD@{RYghEA| es8wQbfp~_(A?k%;h|&=2Lh8ms)G`V}G4PugO}!ak zvFwkgNEn_imWOk~T$UKvqV(cR;j9pr0h99z#DMoz34=y;#z^c;G z-dWdFN|L2qKLKNm`4*UPKNSy2-pAQ zW0_NAfTlg3;vp7$4@LMWG zD@FQf?W)oAaU593!Q>dQj)BP_um-_;7zsvxTaXP+>k#C0;QcgMgZR6yNil%@!J@&m zpHZW^9D*u{#RY8;xS?HZgumo!^qQMxPtj}Tn#(vJgP;;(DRy1(F$6Y}E$9fYBb6Qvzm|O!k8sO{)Dsf+lX&h%YUKxI KOIOgbt$zUVBC5S+azt)o8iNt+mNag`rx2@6LeDdFa#yno8k|?bG~ypKe1)Qut<$C z2nuUq4{*aj;XSnXXh~$^$IGHEKBb9td|4CQ;toXO0E$0?1H(<%{@q+ke4BXQIs7KAqOmV$vl~2hR z<#9PHf008L7_b=6%OoUZ+)sKBwL?Z~YcGcskegxe2#`p!nj z-+UXJl)o~Exe}pFmCI$VMQf#LbN{IjU{#9Pg_DXK9#Z`P&X?+Rx05&KQ!xkc Date: Sat, 12 Nov 2022 11:23:28 +0100 Subject: [PATCH 09/23] Barrel drawing bug (lone pixels on left edge of screen) fixed! --- grafproc.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49134 -> 49134 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/grafproc.asm b/grafproc.asm index 10c3844..e0b1411 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2159,7 +2159,7 @@ goright lda xdraw sbc vx+1 sta xdraw - bne @+ + bcs @+ dec xdraw+1 @ ybarrel diff --git a/scorch.bin b/scorch.bin index a3601e45567451f85b504684e4863ccab993599c..91040648747bdac00c2bf4be2225282a470754f8 100644 GIT binary patch delta 16 XcmZo@U}|V!+K^| Date: Sat, 12 Nov 2022 12:18:07 +0100 Subject: [PATCH 10/23] Rounding proposal. --- grafproc.asm | 29 +++++++++++++++-------------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49134 -> 49134 bytes 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index e0b1411..f109b2b 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2109,24 +2109,25 @@ YangleUnder90 sta vy lda #0 ; all arithmetic to zero - sta fx - sta fy sta vx+1 sta vy+1 +; lda #128 ; ; add 0.5 to fx and fy (not vx and vx) for better rounding - it's my opinion (Pecus) + sta fx + sta fy - ;; add 0.5 to vx and vy for better rounding - ;clc - ;lda vx - ;adc #128 ; 1/2 - ;sta vx - ;scc:inc vx+1 - ; - ;clc - ;lda vy - ;adc #128 ; 1/2 - ;sta vy - ;scc:inc vy+1 +/* ; add 0.5 to vx and vy for better rounding + clc + lda vx + adc #128 ; 1/2 + sta vx + scc:inc vx+1 + clc + lda vy + adc #128 ; 1/2 + sta vy + scc:inc vy+1 + */ ; draw by vx vy ; in each step ; 1. plot(xdraw, ydraw) diff --git a/scorch.bin b/scorch.bin index 91040648747bdac00c2bf4be2225282a470754f8..026b8dffb9ad5d8c9e76e3a11f24a355f9dc0f98 100644 GIT binary patch delta 22 dcmZo@U}|V!+F)nPzPojMYfEeUW>?$YP5@@`33UJf delta 22 dcmZo@U}|V!+F)nP-qPCMy1RAzW>?$YP5@<833UJf diff --git a/scorch.xex b/scorch.xex index b213d4edbb9f7cefe9757529679f5b7fbce8555f..51842d1c0ad04a3a12909e7ce6c9eada0e2dc48d 100644 GIT binary patch delta 22 ecmaF&pXuFyrVUH$*mt*XZ*6I9-@K;I$q@jS>I@|S delta 22 ecmaF&pXuFyrVUH$*jrlLTX(l^-@K;I$q@jRP7Eag From 36fc60d5afb92106618804ea20283dccb017bbac Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 12 Nov 2022 12:59:09 +0100 Subject: [PATCH 11/23] SFX otimizations. Thanks @mikerro --- artwork/sfx/scorch_str9-NTSC.rmt | Bin 0 -> 3982 bytes scorch.asm | 16 ++++++++-------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49134 -> 49062 bytes 4 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 artwork/sfx/scorch_str9-NTSC.rmt diff --git a/artwork/sfx/scorch_str9-NTSC.rmt b/artwork/sfx/scorch_str9-NTSC.rmt new file mode 100644 index 0000000000000000000000000000000000000000..7454f22bfef72a2d1ea42635a2fb7f9271f8611f GIT binary patch literal 3982 zcmb_eU1(g#6+XLrSG&3zt#|e3l`KWun~khWiu|)CHYvGM$vyE&cSzZ=UK6dpzNZUryK)!KJB*2NPdU_$Iq2&rV*O zd@%WsNoVr8+rPbi>-Jx6|LD`zPxYy@Q!`UvPDQ7GHvR5&cKYwreENqoZ_fOB=1()L zGe4MpefC$gAI>h%YIA4i&d=F%f1X>P<8!h3*XPfD@h_u|escb9*Uzth_SdH*#y?*; z(ew7Z!#BPRU7mgFed+x4{QUgF0xc{o+>t{X-T7>Le2%e*!B}mrTmfmm&M3)*RL$z@ zidrp@40RcyF360vwhFa}96Du0D-t>Z$s(jhd%Lg@Y9gT)H>X+E-+4YYQZj^}hA7jUlD<7a*kcI1_&9QiU zM_2dplc!!fb7rRiw-Uyho2ge7x}A=@2Bx%W)E}lqn2a#A&DF&?Or?RWP%i-SaQLma ze9~uG8eM(F_C<==zDN=S5+z`)vr`22;4gYzwh5h5K)=u|V4zr6Fy@J7r$J>s!f4`%%tGoMHQV%4`Vd#PHjEEjM2#8yn!?9!CFLrfyv>$DY z8^}=II+q$ceP={;Ita*tvD2qT55zc*OQ~Wb7!{LHfgvhJ`GR#VOSV+XeMEKDHF`Lx zS0tDpNEVS|eiyFNWt4FzJO2xB@3tS0*Qfa_0>MggM!H@Z3{?0vpBIPj_4z#eTw zQpCFhxd9&(Y!D-w3M%VwmAo%CWJ`*^zKwW8Fe^(Y+0<(^y(YE2y~2k^oMOX4(aMB` z5v09{1Zfwfi*T5bpNC@P$E%6sW2~`Jc*Oye*F8>kgkg5_q(>}b#Ef`bdm=>Wl?#Y2 zREJ^6nEFCj;MTG}-Q&Laa1OV)6Yec;sDJ03qW^|yQ?rcG(cK>+0Eei~tCXtHZcvwT zk5Z+9vn~bBx_AjiDM#?VEPkYfEDD0BT|PprqeHF=;tSyQMD|Es)!>!^4GJwY)}CR^ z*vl^y;UL67b#8389L1C-NZ=NihmByDX;xugu9Yz`eUjop8y~BMZ&(~)e|OBxJl@ap>u3iNa!^QJ)YES zupDAFH9oo^EJ+V)eT;?~^#mRdS@lEK)%UFW_pGaztolpVdfKW@TLmRhtZ&+8C1jZ0&+yd@f0W_N8MAUZ zV?lh_H3l(R4%OD z5Z-RcNqLidkm}ap(?RPiLAHg(O_^6=5cw4b*9R>?vVuB@QV>xJX*rb(G6|JSer!=l zqa%^@XxfZn+fcEME_0!%x%2_gkLAbASWnqFbUQk@GH;>X&FaXSUwWnTHGSb?op0E$?-ytU%8dOHH631WRrLvJwkt1 z(RXm`;~apl>JM4|`z*hj16^>I`g*k{>=M}Lf7ILa#?r?Tysm^g4_@o;qW8B!TdbD#2w!9yQTjEO2v{2 literal 0 HcmV?d00001 diff --git a/scorch.asm b/scorch.asm index 4ee9766..70ff897 100644 --- a/scorch.asm +++ b/scorch.asm @@ -268,13 +268,13 @@ FirstSTART ; Change RMT to PAL version ; 5 values in RMT file ; not elegant :( - mva #$06 MODUL-6+$9af - mva #$10 MODUL-6+$ab1 - mva #$06 MODUL-6+$c0b - mva #$04 MODUL-6+$c40 - mva #$08 MODUL-6+$e85 - mva #$06 MODUL-6+$eb1 - mva #$06 MODUL-6+$f04 + mva #$06 MODUL-6+$967 ; $07 > $06 + mva #$10 MODUL-6+$a69 ; $12 > $10 + mva #$06 MODUL-6+$bc3 ; $07 > $06 + mva #$04 MODUL-6+$bf8 ; $05 > $04 + mva #$08 MODUL-6+$e3d ; $0a > $08 + mva #$06 MODUL-6+$e69 ; $08 > $06 + mva #$06 MODUL-6+$ebc ; $08 > $06 NoRMT_PALchange .ELSE mva #$7f SkStatSimulator @@ -1912,7 +1912,7 @@ font4x4 org $b000 MODUL ; equ $b000 ;address of RMT module ;opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str8-NTSC.rmt",+6 ;include music RMT module + ins "artwork/sfx/scorch_str9-NTSC.rmt",+6 ;include music RMT module ;opt h+ MODULEND ;---------------------------------------------- diff --git a/scorch.bin b/scorch.bin index 026b8dffb9ad5d8c9e76e3a11f24a355f9dc0f98..a95b75cfe225d7fffb53a7ebfc881635fc663389 100644 GIT binary patch delta 375 zcmZo@U}|V!+Q3&(&#`~YhEp3JZeZT1w=r2TxyRglAyZ83o?X$KY-_EkbVn@=B{v9iJ zT;B0-hr&+poe77&DXB5|B^}X;o4V)h9R?8isA^~*S=cfA7+>G^J4|NENn3aB+_`HP z!>(Psc7p*})$Tn|uonm>Zzu?5($JX9UZ_6VuuzrB*?DqAq0{EMh1N_==H`=c6`O4q zE=gr(($bn-Rj$dx#{*=nE!UiUr+h9*thz!|jE6@|3~VrnP?BI)l4=l?nlSlr#R?%I zA!ddKupAc$OBxSD2hZl^mFrmzIrjf&VEoU(1jH@hG+v|k delta 438 zcmZo@U}|V!+Q3&(AFzMRhEp3JZeZSMxG`ko+>IADzTe2YNo7;rrZt<+Z3^0aZL{!} zs4e@qoZq6jHDznn*40}-Ze`!*wJmmA<+gR(Zf?Ik@Oa=y%3(GaR7`Q-2@bLh-^U5_@!Q9Em%IAUP(<(IOA@V#tl9FJnK!lP6vyxPU zpwt8)d-BqX6*e|D%uq=#4wf_?h7KfDj>-mdfeJ#w$e0JHYjb?%dRD`L{r?#l|1&TF zF$?4Wf6Oua|Nm!a`~RPl8%T2iX|8{48T)zo{_`^b|Ns9VPs3#UdSkH(Kvhcr|4Huw X(#k+_mH+=_kL;fum?<&&MZE+7@&&I9 diff --git a/scorch.xex b/scorch.xex index 51842d1c0ad04a3a12909e7ce6c9eada0e2dc48d..c095c9312fe26fb8b0046d9fbc9290fd0f3fbbf8 100644 GIT binary patch delta 444 zcmaF&pJ~~DrVUa)vWYua3iKxLTFKVCclSz`-cP$%a`c+-19Fr1^={j2?sGr6zI}g? zZ-|M503)NohO7GyZ!wt+E^)?1>oWAkY#+MuaZnPpxOLIi7hC^rb=(%Rtzg^IZ5Os#Z};AwyM5O7|j#?NHe1y))s^HzhR&zoa8NaZ~r4y~6+m#ta`-4ecWfJ7yo_>)U>Z$t-E>&Ye4V z?PA!qYu9ct0I6cwy$1^R0>R`H8$y{hG$zY$RG;j*QI*Nrd2+!C+ta$FoNX*>)aJe&9LT+eFAvHw2<<9`MwAZB6w|BqQ@|NsB&Z2$jr zasz1&AkFoUO<_L|-+x}_|NsC0 GdI11uJ;k&D delta 487 zcmZ4XpXuFyrVUa)vMYD46zE;OYb9GR>z;1Rc+~vGxG~5`naqh+o8{cna-K4UqZqu4g=QagxzP4F- zOVpPATh4D$+?ukrYU}E)AGfk^^V$}>t#aGCZ8x{MY!BI9wteOHJKH69`0gm*v1-S$ z9Uphd?6ljNxpM`VT~;2$v{gJM%kHv>sxSb7F@t4pW&6UN7asG4UHh-%Rk!Nz&Rsyj zuxryu|-l)Ok<~BKZqtoU!8||2wtgI%# z*=)91eoF>3lYznH&h4693|t@+_;`TaZQC_j!Q9FBw$B5}*X_`hhsg8rNJ@g#fq{|) zvyxPUpwt8)Z}Q$9D{O3Rn4wZ!94u)(3>`?Q9F+~^0u_XUkueWY*XHt_>sbv0_Wx&K z{LjDy#4L>e|1rnx|Nozz?f-vHZXnG8q`CgFW$fqS`_Ie#|NsAgJPnh>_Z!Ph0IE{@ Z|4(`kkX8nYtNi~bdu0CuriV-`y#T6)%trtK From 56f33a0ee950d9563fc4c51ee10ffd7d87f89751 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 12 Nov 2022 10:58:37 -0500 Subject: [PATCH 12/23] angle 0 is great again --- grafproc.asm | 2 +- scorch.xex | Bin 49062 -> 49064 bytes weapons.asm | 6 +++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index f109b2b..3affb9b 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2111,7 +2111,7 @@ YangleUnder90 lda #0 ; all arithmetic to zero sta vx+1 sta vy+1 -; lda #128 ; ; add 0.5 to fx and fy (not vx and vx) for better rounding - it's my opinion (Pecus) + lda #128 ; ; add 0.5 to fx and fy (not vx and vx) for better rounding - it's my opinion (Pecus) sta fx sta fy diff --git a/scorch.xex b/scorch.xex index c095c9312fe26fb8b0046d9fbc9290fd0f3fbbf8..60ff83d309ec33182b8ee3fbbadb6ec409ace502 100644 GIT binary patch delta 2686 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 MI@fM{e5zmge?a}59{>OV delta 2651 zcmZuy3sjRw7S1H$4gOJshR9>Eq96)r74gyf?3UsWN(GfFHG&U(uq;Ivace>nejvew z$Us6MK@Sq-w~eAX)Ppu^yGs2zUFF!-ZfkYb)o!s$LwB|6?#kW-MD1yE&VTRy?sxCZ z+_^K;Ho$Kk;J4p=8`&MV-rnmK*tdtyUdno7W(AHWC8@HeDzF($?@6P4@e$jF^QdhvoeU5_ka{+FXuj}GtKQb>n4)r;|8ESb}o}A%c|uKa+|zeeo7v#n51wjc9m*N^>V$u zQQ53ymG7&!tJ{?)mFJY-DqYHdtNhhiov2=*PEqexXQ=h^Dz%LDV)nBE%uzbM%%hGR zRE2J z^#ley9~!5ZU7R86IR-m)+x~!Z3GgGMjD;atm<3){3Vxhdnq}rK}&U ze+0}Q5adRPLuo@S$x^MGoz1Yp0D*8<1q74~c=Te14I9?P5YN-yrPv_dS&BuvGZgJZ z`c=VWeN^nLKA%Bfm^yUkH!AmHgoBH*pQR*Q`2PN$lt<1`+8ER$PI7)m^$M+@QBIEP zw_o`r0rRsH(NZ&Z1QyG6Gzo~0l-K|s$V_tc5VheVbID`4DFFel&PIeB@; zRk4ACbCxjdm|-nqSbJkobCkm>_p?Lz$Ai|853F(Ed#3vb1xvm|(GeBUrRm}}`)V<> z$(|)mAtY}832v?y3oUZIdF~nQ5cvPC!PF>~(dIa>NO70i8AZs*Jk&6B=Hkkl?D<{2%~%0?5KDsbbiwV8^-#gIk1) z=<$L3QUeF>nT7%Y$D3TY21_s7@li)8NIjy@ru@4bVf$RXW2R7ZUDeo>o5g2B{cdkK&yvS+8LcjSYXP^jz782imdtmVLebLBHj_#8{vt8IXM`*96 z?Zmrg25Ka8YbNvU)#Ru0aKhAd!wa;Wj2W$|>FyRi!OK@P?`k>EW-?t^LrO?w;v*wI zSuAr_1Tsa=?@LCjS1hZ#|dUxYrg&j)yyl;zkh;qjd#XTt}uL`^pIF| zpZu4^z;iaSc6C4;f%Udw(M~p-Xlhf@hvZ`281kTY+N6$J`WkuObv|wGj(bXmI?nBK z&Tw~e2YIV5dd%8dRse@_6zn`c^#MG8FkkvOQP)imX&H1i|H{R>2l@#8M0OjuzzuiD z=zx0Fo6Nr0q-&&PIG)U|U*K0~O75&RCF6Xes*jm)()6_{uYRI=nb~Uo(R|Qk_rDAs z_=FqL{xIfQTc?LiF4eDeA7JyU0LCiAJ@xo;Jv^3`<~VegoG^z41G@Et-70NOL-Q!< z_}J-l7Ny{uq}ROC7q|&#x}ctfH$;x|7%UHmH0(V=;R6krA-fymqZ+N8ce|ITe?7?) z%&%~)Nw$N%(@ANAl>E>@#r+0*!*Ip}LR?|B9fV_PYk~8M8y!)N2nnr?cqEx@nL>?h zOtM|+^>i8CTeTJynG8hUM23jBd9yo{t)L|x=MQbpxNADB!H8LK-T*OG2D%j zxF%_cn=a~e`cwYD_O5S|q73q3QwYj%7@HpZDmqSo-gEtqPwcGZj5Rqsn8ud#mv04( zj#~Wgx&nPu+oykj=q;VKvQT5caQ8o=sk1ikDsAn!^w0lAM#aup@K$o_iUOnMU|Z*3 zzq|7^NIY(4X6{a-?TbraeSPhwaLnYiZK}G~ Date: Sat, 12 Nov 2022 11:04:58 -0500 Subject: [PATCH 13/23] angle 0 is great again and again --- grafproc.asm | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 3affb9b..2c1cfe2 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2115,19 +2115,6 @@ YangleUnder90 sta fx sta fy -/* ; add 0.5 to vx and vy for better rounding - clc - lda vx - adc #128 ; 1/2 - sta vx - scc:inc vx+1 - - clc - lda vy - adc #128 ; 1/2 - sta vy - scc:inc vy+1 - */ ; draw by vx vy ; in each step ; 1. plot(xdraw, ydraw) From 42f3e1c8899f4e286429efdc2e61023c1777065e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 12 Nov 2022 19:42:11 +0100 Subject: [PATCH 14/23] Liquid Dirt bug fixed! --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49064 -> 49064 bytes weapons.asm | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.bin b/scorch.bin index a95b75cfe225d7fffb53a7ebfc881635fc663389..fa4d55c6121f5ed0e090348574c3179853f48e64 100644 GIT binary patch delta 2689 zcmZuy3s93+7S2t=D+GRCB0&k)D60rnsv!745CH@HAjnfe%^AU*oQFwQ4OCif+{(cP<$=MNxe8v@blBv^!QL`y_dLBZ5Cx7Rm)z6ZgSnk6Q`*&>1Pb{Xz81jEv}2jZYQrP1aaY!50;fmF zt>pninFa_im(!bUj?Uvt91Nz@hb@`!{6~;6{ytg(X>t0`n`ujy)?QjQImH zCclG!ebXe|$C$r8mdQWLe>4dve~FqCH16wTEC5aca5ft^bG#m*v4H!s!{yC+$S+ZE z`vzzrhIU$B$vVOQT_JuzkQE_u(MFU(o2{*#DWC0pk;t~h`A@0ZK-A+E zVg8I75b8gp%p5hq({mKQSyTaGctCKD z6Tyv#F&VWR3r;+`rE3RR?+ML+LW>;LHXMW`7}zm9dvr8rgV8jwy;6TiK}H@3D7u@3 zuKd{b%n2wSyHf@Dd5QuDkl~dP=rRe5&4lma*!d`gT#2R8C&V#Mj?R#@xGiXyT#h@9 zwvgO-72tjG8&EWfT(u6}A=*_j9z!+fsHfaWkAOBD;(oFU@@!QwnoA_|Srtk3wl@Y2 z_a0u6PV1^U6)=Vmafd)Gt>G9DzO{i-9N&`3Il_Rd;e;SsYdCul*)>oz0y?jjvjZ_y z!?}Q1TFbeDNU5c}tBsOCilZ#fZLor{^TW0D)=xEeU%<|xwx@vP7r7xz; zdnx@+3Zj6^yb}&p1f!!jUKLaHJt9sBO3+oqG=|o~2(S*=i~=C{6;mPqvN;)bZbD$_ zI7x>Ts?)%*xUQrx&C8tT#f@03T=qkKnis7jl?lF1uSaJRW?DyR)OIVuw_;*c%}%wh z2yYAL-{SxeYYkk(S2Yv>xL0HOb~J0F1RfClfzTu9n;<+KC9osOK4P_xc=ScLWf~xf zSS=Bc5g9DWYoiNFB9GBH`0g!-jaxpm+xsxZ!Irfbj zc!vyxN|{2|rz}JiIhGO*UoJ(3+6cXRg;T%AEOrB@?}=u087%IVItMO#WU3F8T~_K6 zVa5?UgB(u{Me&47oy*TSLX>e*;+fVBy{a$G+cTuTyW8z&T$O(My_V0}Oy)WcAr5P1 zENax?U3(SgYB5t{PIX~QKPX8UIaZ>;K@C`?#l2cZYhm3b>NM|Q;j>GWMP{ByS^O{| z8`cCNLTcB{f&H4+}*5H*-wG8Uj!Bs#-Om_t}8$;tRD zswcwC?T98tnI=e+EUVG+nnvA3DR3{jmKEg`-XQN>)Bv52IA;gW%4^uyAku!R{ZSj$ zsBVmFI463_36K8FxpoW%zG~~Vkx5Q=7Wyw~&(3z9tykbZT6|IqUBo?S9?B=tIet?B z-LYrCsN@Ri2*FHtz=B%VzKYv=n% z>N)!kJ6qY>=I+%_=A^BiKks)q1rzg}65>F;@eEuD>8Cd52pI6{54<-R4J4a`VF`x#D?Kk?w@93;sXCze}fRV@eYf6PXfi zARO%e%$AbH8?!9=bN~_O?T)5&(7*OslZ_zRRL2mebl3Ow3_@X9!5IL~9RpeW*F@oCGJb1m)wzpbJbaGaL!uKmC>z>7x&P8LX!VY2{e@fioqT2T?BW{3wJ&bm>wo;@ zhavZf<#CC*@0K6bwSQ#(<|n(U5v#Trzq7AQ)q44Bi_5HVc}DSjx@*rwGXj&|Q8#_u z_06MSCHgmhuFY@$45pSX>jW2eoEIP&X)iqP=)p4oF}{>|lB6Pu!yj0Evv228)6Sw3 G?*9jY@_f$# delta 2677 zcmZuy3s93+7S2t0lkfuu2*~5gV}y!mk(XFRA`}FqH3Ldz6<@GY-33D6FG3rN zUJW56MJ-|Z?YM?XD+@JMc1Fe@r%vdI?(FWkR>hSq+N_VR(gpV}jWPH6;DAd%_t*R99)-V9;=J9rA}Czh+EdB$n7?AX_jF&G{qY2O zB$_}E$#s`D_?A&-$FW*=iDL03tTB|h8k`+q$Y)&e0P*q-M;b$lZwW#-$SJ==Fj(yG z%||9fH2xd%6?Ne0PTW+wvya|a$}KmE*>I*?m5u=)B;kQ2Xq}-YFa?3vwV<~Ii@bUj z8^y-fUIi_F0D`GDdKvtdItgsXYVm+!*&DHzz-8e*0(8pYuriGgew!j=9neZcb9^#F z?S`vs4kACMiD}kNm^>xArX52}Q@fL{bjO!WX*>UZ8GV3A6OPpPDtjx9EtJz4Rd0QG*Q`dd|}pBQ+W>|g7*Xtouq zzLuq!a~LZvHaznRcVR^fI6Xtg)`r+%B@m|9(q&dh=buvJ>BehOuBLw2$vbBsQf2|} zP)b=y$-*o!PX>1ECX3URP6jfidj3e+&v1#Zv?67$O0VODO$@c4_a%Qx^jpyXoA{p8qtj%pBdpT}<_QS0AY{Wj9m*vS*KG^3V^|M>Kv-4}0!jlsda8-_o7c$RB#-6# z238DFc!~*%6)7%JtUz&*qJM?jTT#-VbsYx5{FlFSZ zNuHLYXm`S2AB(a{{Q6aHa{10Pqpo+ZU82rjqE-s%2~xK{rXJ$ELso}hW&Js7J3klU z+>D2tSkDD5U_ncm(@H*oHFmS}c>dgI-Ug$^V4GFkrC_P|1QdOR#3T>7oH_wLV0&^q zewr=CL1Z>L4xJ~lDf#eKq^v*@#F#?c4KYyUZt`uKm;|M+K&MDvYB`!FL#e0HcJfY| z91W4%Y44&WlDMH5eM8h6*1JDxIZJ)Vy)+4E?Gf%j7C|0u2uGo0ae8ol#xd(f0-JaP zC*{%VW=;-_=_A|`5UX1_285(FERo}z^En3?h*~%s5IrrN9fH$!KVFg!j5v0P?N<)XKlpYEqC9u##uC zAgn>VS!@jhz1YpLxUI^#SsVwQv02R7w7*6nx{M%4a6ncEGM3>}zc6ZMy)4P#n&1LV z_Hc2wz=@h|p#Z=prTN>rg3S?lKnMVWNpNd{Ffm79UuH>!3W;#;#3h3xI-B(cG=r)T^nzKS3;@h|ovt=-l6@@4=l~rihp@b`?o493r zkZswkkcg1%SomJemZM&hy(!7@w$dnc1*iK&wW$`8d*+0~Sx(H6K*ts4#M|V4Oy?41 zP83QZS99I~(+@e5@C@DF?71l7*yyP13*4A@`u(2EY(6uBBZy<}l9&!9-d!U#HVc_5 zV~&Wa?yt&td9+H3!#c1`g-t4HZ)Mv6b(;4<<MjQTe ztkH6IdRuEVTXULJKjUcQbe~Q}66YeHgh#5*DUQ5>hbQRIB?Gj;pQ* z&M{tN&=(drAr@o?bZ;@ z1^9mt{|g#vA5)!~naNbC!k{S*=l4{t-d12PrGtn|$=*dG4ZL!PEIWf>XDIzM*t_-; zvA0Mwa)`BiW%0LI05cJDiKo@-`pD=+IsJk`rb>JkKkXVhG-q|1xAP!2h6qm$OWt|z zP@n&9>Au>gKU}@};OUQiambpK9S0gdGhDv=_$3vwHoc_&MDNheAKb#Sb~0W1uW#B* za9aM}X6^9htJiN&Jb3toig_zJy{P*4P3p6se>wh4;1QGh-rlO3-^qH;k3Mn^j84nl zdr&?6FNc7o8C4&4{^`Q_y&t`_ul Date: Sat, 12 Nov 2022 14:15:23 -0500 Subject: [PATCH 15/23] bad pixel when measuring distance with draw --- grafproc.asm | 2 +- scorch.xex | Bin 49064 -> 49065 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/grafproc.asm b/grafproc.asm index 2c1cfe2..f885e05 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -219,7 +219,7 @@ PutPixelinDraw bit drawFunction bpl @+ inw LineLength - bne ContinueDraw ; ==jmp + jmp ContinueDraw ; was `bne` - not good, because LineLength starts from $ffff @ bvc @+ DrawCheck diff --git a/scorch.xex b/scorch.xex index bca33836515f344ce102e8459230e683c4999e60..bc2379f9413d60e0dd0d957f29038b4ee95aabc8 100644 GIT binary patch delta 4447 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 ag}ms3LVj*sp{wAmU5c|ELtmX7l>HyHJ=# Date: Sat, 12 Nov 2022 20:51:05 +0100 Subject: [PATCH 16/23] Funky Bomb soildown fix. --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49065 -> 49072 bytes weapons.asm | 5 +++-- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scorch.bin b/scorch.bin index fa4d55c6121f5ed0e090348574c3179853f48e64..18592a0443f9ada0a1c6ca1e57a2d140211ea752 100644 GIT binary patch delta 4471 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 delta 4409 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 O{e#=XjcYUay8Q>XqG1pK diff --git a/scorch.xex b/scorch.xex index bc2379f9413d60e0dd0d957f29038b4ee95aabc8..d275e4c7c6aaf2789f86d618b2d412a451f942ab 100644 GIT binary patch delta 2591 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 diff --git a/weapons.asm b/weapons.asm index fdc9a9d..782751c 100644 --- a/weapons.asm +++ b/weapons.asm @@ -152,8 +152,8 @@ EndOfLeapping jsr SoilDown2 ; jsr cleartanks ; maybe not? - sta FunkyWallFlag mva #1 color + sta FunkyWallFlag mva #5 FunkyBombCounter FunkyBombLoop mva #1 tracerflag @@ -172,7 +172,8 @@ FunkyBombLoop mwa ytrajfb ytraj+1 mva #sfx_funky_hit sfx_effect jsr Flight - + mva #1 ExplosionRadius ; if no explosion (off screen) + jsr CalculateExplosionRange ; add end of flight coordinates to soildown range lda HitFlag beq NoExplosionInFunkyBomb mva #sfx_baby_missile sfx_effect From bbedaee3ac71b8651e50886b7536626bf0f8a7e1 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 12 Nov 2022 21:05:57 +0100 Subject: [PATCH 17/23] Faster soildown after Funky Bomb. --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49072 -> 49074 bytes weapons.asm | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.bin b/scorch.bin index 18592a0443f9ada0a1c6ca1e57a2d140211ea752..1f4d648d519995d94f769ac2bf82306f643a4b9e 100644 GIT binary patch delta 2452 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 delta 2498 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 delta 2460 zcmZuy4^&g<70*WkNJL)1pb!RpB2e)k_#fP<%G@gA1GOsZ(LzepN|iYQi`1i#ga;;& z1o(gu$O8`gfM-Rb=_%D2p{JGkm~+$}-O;t4`nSVwEM2SBy2?*GZuizw7JHvM@mZWRL z$MrnzJXK{qW9Ux$?pmI8m;lsx@ zCB#ci_bGmosgL53sh6Syb^NQS)Ps^heemKy-Kk!R%Vs~JI1MXM+z$40irdNFpav8} z_^wXuMK;|IwnO7=FsQ7CElHKB~FOpv@M34F71<8uNh_2EON}yANngJ1#CY!FU@IBbktE(EwY3ltc62Ehk}pHc7yan2x21JP>~W`o#b6kR@EP#@2BV_a@060{8>4S)6$-s2;L!&Qwro;`>BL4=x1cmINc8z zAF}I}VExOe`iV7Y3{gH`uXL?f3Lm<~ARdj<)>L?CW7e-Le)d+9)qQ((HlPXvB}fK+ z`AF6P?cXv`0AL{8A0_Z3X(9fm5P#1sjzgjTrcnPe3)*JvShj()3!zm~T1&pJC`1~P zRk;`Sk;|3$P&_$p%0ew9&>V$UlZEDa$VzsZ=b&s-Yu*&{gBcpW6WySY(v4>B0!&<^ zS=0%#%$U$(7Gm6@G0(CP6_8z)El5IoEomr^OsZM}?_X8v;G=e_D%o$f)#a}M?ivzQ zeHe09RnJiMSX|#xOt$L@#b~(SGdsA;%udL50n5qN>ZP(C3*AE$HCd?V*l%jkWKuIQ zpm>VcZD>1q{35@J>BofV$+X21EB@uO6w+S7Tzu4;%1Oo4P&M z+(WfV%5wkKL%E||b18Q?eoStXS?DqGsf~l1Afa~4#6Ik8%b6>wvj}aYoWL~d&%0m8B=!E@=`cZL9o2|d>-5$P&0j= znCj-EQ>3p>DLYSiaa1u!9ePSi>vQ1SG+gh5scN&@Cd{;&nkY3+A}bqK__bJ5&Nf?9 za3QH|h>QNrdfS@UkYL+t>##ktby>UQR|Q$sQz5|dDDHXZSr3`qXvh!`qiyp<3#-OA z8?cuRE~y&ZTr@yFv4sZ%`flF)I%7>^TaYSh*8HWvNW~AyceV^);4Zb%MPyxLRFFsK zC3t#cWej1S%_!__Qz3=SK298MwTobgQv$vT>F80oV|ggb&mxNAAyLaSpnbBzvbO60B$ zc{A7Gswo7lPBOOlnA-Q@4>bHLbrmxL#DIwKi5>W=c?r= z1_oT|_7qo|Jw?6Ue%=0Wdn_BvZiQbgtL|h9Qd3iz{DwGK@{~=-^ONRexU*>!F|qqr z6x!j!DiT)!!3t20N4U`5UoRVu)hcC8y;7#UOi{ zRbiRqUbrzlsU$Eeh7mHIt<6s+6!%`beDmw!z(vV#X71d3#KN8W;}_oqhsURF&nar? zJkvikqKHmbA0jQwk3BYERg?Tq(%=AYb?&_g`?Smo+hxu*$eP~~b?g&e-33OPTZDl+qIv+C?Ir&qT_ F@gLoIKVbj> diff --git a/weapons.asm b/weapons.asm index 782751c..937e127 100644 --- a/weapons.asm +++ b/weapons.asm @@ -153,7 +153,7 @@ EndOfLeapping ; jsr cleartanks ; maybe not? mva #1 color - sta FunkyWallFlag + mva #0 FunkyWallFlag mva #5 FunkyBombCounter FunkyBombLoop mva #1 tracerflag From 327b78a105138bf2421a73e0c2010e2bd8ded9d8 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 12 Nov 2022 21:41:50 +0100 Subject: [PATCH 18/23] Better, longer, faster... Funky Bomb. --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49074 -> 49104 bytes weapons.asm | 13 ++++++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/scorch.bin b/scorch.bin index 1f4d648d519995d94f769ac2bf82306f643a4b9e..33a4ddbca8cd36cc7a95cc2ec44e0cbc75aaf806 100644 GIT binary patch delta 2507 zcmZuy3s6&M7UoaFD-v!*!~_ZaVpy=?b9F)7Dj-_G3kVdA3MCUB3X1PtT8EW{aMhqZ ze@y@rQRK2-Ta-3-9JKLKQTB@KvO7a}Mz(C%2eX#lnz33f+krhvDAm?`XYM)YJKujE z|GD@6TCG5<6?CnXpkk6JS%SjJK1nd@A@Kx>*CqIf6qCTtlg8gE&(RwI$ zB|?|1ca|vxsGofOc1T5i#Tsp{HgB@Br^(*vxU5(D9>(t%Q^;Uja`E8}Q zewtpPPt}L(WB0$OS99)6D>sEXPb;gO>Qt910#yE!8vGgoE30rx+3NP9)14M6)4};L ztubuhWA_xMuS;<24vsj?Ua>FdDCRs)F*>5+@Ha1bmG8?*Ci!$Y`P=d^QHl|Vlm9JG ztB5$vxiRP2e5nUW4U^C2^Qd3MYWTQ%FD{PJaEQsrsYb{;<;Q-Y#=DE9{YPNI{m%bV zb|JoQRCCY=2d&|^w2mH@X=7N;<4{HeRp-Bk%UDfuBBQAn3_Eb|$pyr^A|mp~#WJ=4 zNCiMDWD9vWD5!w{Qb|gnt~FGX2Qiq}R2me<+7r5KIvB?bSKKBj=Z!xTcgE4Ytn*2ap;>*#WFa%~tZ*tkpEvzEbGH3nfx)GO_sci>+m_4?&5@zqmdy>Z+_NZ}|37>7kqfP3L z(%Oquo7;iX|6HW(p|*LHU4bu?lFUeSnHV!8pwX+DswqFfX~LYrH}-N4JAlMwMWfYZ zXV&U4?NOQ|6Yr7d8OJ-+OPueJ(_vc-gQ2x#Fe@S;{3s`cFUb!ki+AjX(+H{sm;BvD z@*OT$+s|B_BSiq&_wF%tiAb}H(O$AI+X{O&Z(Xz3h_U84rN*P=FY8u#=b4ha-!s8+ zMP{s@qpUKWGA(MdH_4kfH-Fk(YU&h^@S^(fdEc(*bH>heJISPA{W`(SCi2<(byLzU zYTVLH!^XI*RQ!p9lqzGqN*wgTdvF-5f z;X>=B4G4)gAIF2_>c%K)uqB2acHk-o9<~H7D65<|K8H*=V+zhvAl6gsi7aQw`e-wpARjn36v2j4UC(i}`PK*h-@tq10A~UC)&$6T{6q|Xm1q-FDK6I} zoebs72y#S{IwJj&5KN}#%2BX2GWVrdMa7{bEq^@s*XPJDI4o*;dg1mu^M?apK9K~? zS*qHy`v7;f{~^N5vdS9I-@Nw%Elfz+S<(D)@5qzqV`9p0hGMC@sC2jfM8~Wkd+&3)VGI5=Ni?kO7knSSc zw6geZlaFFooN%P~*cm-1y~&33tG8fQ5X*qv|Py8YPH{{zv8 BIsE_t delta 2458 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 delta 2441 zcmZuy4OA4@73M9=kFYW;AhKHEK_J11_)~*a6B8llNa6rm|Dq|n@)JeGR3SxT5te1Z z-DMY+3oHw}sF=ka63C-QU3uYDLwO|*0SNHRk|c6ze@#*j4UdmGIXve=os`67{)o9G*`G%s9K5@3Da zFUT?HZ}N^x!_?jS<>Bssck9{k&rxutZnd*?YnC4l{8RB^Um|lB?W_zU7Uvgx(n-Mg zT#;>iq22jh1(lE~u(mR$P^he_YOONvHSRsEI<7jU+NR#EKCK#54XbXdzE}CEBh*Ri zG&QSUtFBcm)yBOhwUYPa_VdA9FPl^2Ri})pQbZMx)aWM&GzUg1qrwVwwtmkNp5c0_ zu2mdNm5=Zce)0s)Dq%@gf>hUvge_HB+X{3%L8qY=#|QtA0L`g6zd$~Gg!kdD_I$;7 ze5u5w&1MH?(4`UY4)oC*f*Cycvm!u{>N<*~lqSRd32Jb0-YmttvrROXYSttn#5+lLe>KWuMXjLyHeQ;j=(3EKhn9yP-v=_#-Gqt$P{rouoyD@9rht>@AJ=9-g zaLv~lb`}iP{60h`Zl>RXe0nEKiMcj$sYC(qb8GM$TRVpsVP!2#qM)-jgUH}k?HeQq zvg*3XyKtwj8u8M7F7g~CYtlnEXnUBCgwbJNR-zH^iUQP{*+dV0n)pgb6Yo#CRk&}T zP@h%ogF3;0jLjOM0mT80a12GIcIJyhh-aO^pi!z3{80pJg#Z+%H9{h$FKvJ*ab6FxH)n zyNt0GF_=epvAYPjDhRE{KR?{bu#2HvJ1hD@9nQ1AyEqlSx4lkZB#-Q5=3YVx-)Q54 zkaE(xGF&ug=oF8e-)N_$K3o~@UKuW&^oZklGDhq!#$&pl%m#5 zbd}8_C>niPHTcz+kpifw-%kDr|E#}G=D}a|o5(?!V~8Wm;pc{V#0)it*(4uM7}iAI zH(({M#<$6RS&PBeKP(DShnR-Mz=H-M!6O>k4GYMxpr+w9B7uK2WRg;t)wmG9d5zWh zi@VvlbkcH@TP8%PZudA9eteA@?H0Y>YmGVmA|NnH)B z3zC~Q5!WF@6A5c+8XA({rz=)j)45;wBSY90606H@)j>*nPeY~HZMyY zXl8H04@WA%E*>ZU=JDesy4(xIBRbFweJ$Zo-4YhDwVC(DyA_K2Nl)*>9)el2{cyBp zzQQr)>iQoSFGh+0S!;{rKh1Ecbu0e1WF{vT>#WHfm}Js-FiN@@Hn+Vr>7XgYb-J7;?bFC#td z%M^1g~G=v z(ZP;MH!lp9dF1T%4oI^m#}??iiONMfzJMQlwd&_$9J^cGFU$RwX(Zd1Y;3=b{ypW9}%M;C%S`}SI1lvblBNB zEk&G3F3$A-1f|!7co6mrZ+IV!L~&N7v%m9RVCBHj`AfGwVGGk&E4S>ZG9Gq(IP%rB zn0eV7i}ti1Ir-ifB=qU@+=>?0$9DpL^0V}kn)(w17r&h}d)~sA*p;i-Z`#vk?>%|$ zv(G*L3i`~_&2Or@`u=+H^0ixE%HvWtlo<}5=)ZW?fA-o^9h|y+*DpSC>546CtM}>j zKCr;P7 Date: Sat, 12 Nov 2022 20:08:15 -0500 Subject: [PATCH 19/23] inventory ESC does not end the game, more dirt in liquid dirt --- scorch.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49104 -> 49108 bytes textproc.asm | 5 ++++- weapons.asm | 2 +- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scorch.asm b/scorch.asm index 70ff897..5336ea4 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800 ; 5200 ; or 800 +.def TARGET = 800 ;5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- diff --git a/scorch.bin b/scorch.bin index 33a4ddbca8cd36cc7a95cc2ec44e0cbc75aaf806..dd2947d3207ab3506f47041f247e50a4bf6faaf8 100644 GIT binary patch delta 5877 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 delta 6115 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 diff --git a/scorch.xex b/scorch.xex index d275b92f5f6488de015353822b1fc874db254815..149cfb5cdd866f158cc6214438cf85526024f385 100644 GIT binary patch delta 5995 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 delta 6124 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 XQ_<1mnSP8l9rir^QM+GDtL*;((Kn;Q diff --git a/textproc.asm b/textproc.asm index afd8a60..0b5d017 100644 --- a/textproc.asm +++ b/textproc.asm @@ -387,7 +387,10 @@ ChoosingItemForPurchase jsr PutLitteChar ; Places pointer at the right position jsr getkey bit escFlag - spl:jmp WaitForKeyRelease ; like jsr ... : rts + bpl @+ + mva #0 escFlag + jmp WaitForKeyRelease ; like jsr ... : rts +@ cmp #@kbcode._tab ; $2c ; Tab jeq ListChange cmp #@kbcode._left ; $06 ; cursor left diff --git a/weapons.asm b/weapons.asm index d2cc374..bb23a23 100644 --- a/weapons.asm +++ b/weapons.asm @@ -601,7 +601,7 @@ DiggerCharacter ; ------------------------ .proc liquiddirt mva #sfx_liquid_dirt sfx_effect - mwa #254 FillCounter + mwa #510 FillCounter jmp xliquiddirt .endp ; ------------------------ From 7cbd5ad77e6c54cef37915e461ccf13a36b2cdd3 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 13 Nov 2022 08:29:48 -0500 Subject: [PATCH 20/23] bytes left message --- scorch.asm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scorch.asm b/scorch.asm index 5336ea4..4b29d37 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800 ;5200 ; or 800 +.def TARGET = 800; 5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- @@ -1909,16 +1909,21 @@ font4x4 ;---------------------------------------------- ;RMT PLAYER and song loading shenaningans icl 'artwork/sfx/rmtplayr_modified.asm' - org $b000 -MODUL ; equ $b000 ;address of RMT module - ;opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str9-NTSC.rmt",+6 ;include music RMT module - ;opt h+ + .IF * > MODUL-1 + .ERROR 'Code and data too long' + .ENDIF + .ECHO "Bytes left: ",$b000-* + + + org $b000 ;address of RMT module +MODUL + ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_str9-NTSC.rmt",+6 ;include music RMT module MODULEND ;---------------------------------------------- .IF target = 5200 .IF * > ROM_SETTINGS-1 - .ERROR 'Code too long to fit in 5200' + .ERROR 'Code and RMT song too long to fit in 5200' .ENDIF org ROM_SETTINGS ; 5200 ROM settings address $bfe8 ; "01234567890123456789" From 8603308693c9a7a798bfb0f307fb2338d221d5c0 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 13 Nov 2022 23:57:09 -0500 Subject: [PATCH 21/23] no r+ opty, no bad seppuku frame --- grafproc.asm | 3 +-- scorch.asm | 4 ++-- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49108 -> 49071 bytes textproc.asm | 44 +++++++++++++++++++++----------------------- 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index f885e05..a084c0e 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1894,7 +1894,7 @@ EndPutChar rts .endp -; ------------------------------------------ +;-------------------------------------------------- .proc PutChar4x4 ; puts 4x4 pixels char on the graphics screen ; in: dx, dy (LOWER left corner of the char) @@ -1903,7 +1903,6 @@ EndPutChar ; all pixels are being drawn ; (empty and not empty) ;-------------------------------------------------- -; rts cpw dy #(screenheight-1) jcs TypeChar.EndPutChar ;nearest RTS cpw dy #(4) diff --git a/scorch.asm b/scorch.asm index 4b29d37..c7effa3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,12 +6,12 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800; 5200 ; or 800 +.def TARGET = 800 ;5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- - OPT r+ ; saves 12 bytes :O + ;OPT r+ ; saves 12 bytes :O ;--------------------------------------------------- .macro build diff --git a/scorch.bin b/scorch.bin index dd2947d3207ab3506f47041f247e50a4bf6faaf8..8315229bce176b3268d32dd91f5f82ded60d9be2 100644 GIT binary patch delta 6490 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 delta 6144 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 OJl=ff`2C|@%Krz|X!Uad diff --git a/textproc.asm b/textproc.asm index 0b5d017..6a06c05 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1798,13 +1798,9 @@ EndOfTypeLine4x4 jsr TL4x4_top adb ResultY #4 ;next line - ;seppuku + ;sure? mwa #areYouSureText LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering - mva ResultY LineYdraw - jsr TypeLine4x4 - adb ResultY #4 ;next line - + jsr _sep_opty ;bottom frame mva ResultY LineYdraw jsr TL4x4_bottom @@ -1825,17 +1821,22 @@ skip01 @ mva #$ff plot4x4color mwa #lineClear LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering - mva ResultY LineYdraw - jsr TypeLine4x4 - adb ResultY #4 ;next line - + jsr _sep_opty dec di bne @- quit_areyousure rts .endp + +.proc _sep_opty + mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering + mva ResultY LineYdraw + jsr TypeLine4x4 + adb ResultY #4 ;next line + rts +.endp + ;-------------------------------- .proc DisplaySeppuku ;using 4x4 font @@ -1856,11 +1857,8 @@ seppuku_loop ;seppuku mwa #seppukuText LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering - mva ResultY LineYdraw - jsr TypeLine4x4 - adb ResultY #4 ;next line - + jsr _sep_opty + ;bottom frame mva ResultY LineYdraw jsr TL4x4_bottom ; just go @@ -1868,22 +1866,22 @@ seppuku_loop ;clean seppuku mva #3 di - mva #4 ResultY -@ + ;mva #4 ResultY + lda #4 + sta ResultY +loplop ;@ mwa #lineClear LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering - mva ResultY LineYdraw - jsr TypeLine4x4 - adb ResultY #4 ;next line + jsr _sep_opty dec di - bne @- + bne loplop ;@- dec fs jne seppuku_loop quit_seppuku rts + .endp ;-------------------------------- .proc DisplayResults ; From cd1518de6e21af8b7d21529a83fec1d52e8986b5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 14 Nov 2022 10:12:57 +0100 Subject: [PATCH 22/23] Fix for lonely pixel #103 Pozor! It's not real fix, it's workaround! --- grafproc.asm | 9 +++++++++ scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 49071 -> 49086 bytes 3 files changed, 9 insertions(+) diff --git a/grafproc.asm b/grafproc.asm index a084c0e..c5c51da 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1344,6 +1344,15 @@ drawmountainspixelloop jsr ClearTanks NoClearTanks +; Fix for lonely pixel after nuclear winter :) #103 + lda #0 + sta xdraw + sta xdraw+1 + sta ydraw + sta ydraw+1 + sta color + jsr plot + ; First we look for highest pixels and fill with their coordinates ; both tables diff --git a/scorch.bin b/scorch.bin index 8315229bce176b3268d32dd91f5f82ded60d9be2..dd0e065c4c636fdcfd2ba5b4f273510ac57bf996 100644 GIT binary patch delta 3465 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 diff --git a/scorch.xex b/scorch.xex index ef3336fad6a7a425d28e94df9c070fc3f29fb02e..233331c12db8e6b4dcd0b0894adad290ac9207f0 100644 GIT binary patch delta 3501 zcmai03sjRw7G^?_SIi#}d8oi3a26B+m0IknZdZ1NYCtWA+E%Rrf{KD|2pEVGAmJAX zhSvb$kq9C`%ilJLrtX%lp}4zHgT-b&ReRd5eW@jNYiX^gcurUL{t43RcF*Q9ckaF4 zeay_A$Eg|K@CnJLyn8b{4_BpQA96T#bL_QJ+$Y0Wf!~$khGI5@ zma`k_Lbi%7Vukb})`eEE6kUva(y{Fb{+|4hnu*Sk=hN1pBBDzR<)LaakQTD$r6zH3 z8jf?cK7@5K)>9EzMWd2CE)=AK|Tgnc=Ar97%XvZlV=ra!bv; z=_4${D~Mw2cb+~fHca;l4_`COw*B3kV|ltU9>iY1E7l9roz2yJXjcY8Y2>|^OVBm* z#@*pOlx*Ig`7v5T>v2H`?#d>4QE2tG+B<(~*oD!UQGPNC|` zek>>@mkX0JAU&y#HV_j)EgnlTxm1X1I$_B-4*4?3)6WpCe-U8!WIdkG~ zoH(+-2**9{#xcY!`+PcUkT=E+&}rrL07D!q3WmA4RusZVrI7Faq6lC^4uwJc%%MgcYUbC!KrC1VGDUxE9MpdV3SM{oV%0y)oW!2>! zRqfm8fB&-|V#d_1H z#F>?ju8*_J2WimH-4I8&>>&bYR^oca#@;{5crb_`bV3)45$lq(kMB`jpm!hrDJaxU@W@shstMX%<4-AVHjjoT(^BC&_Ac1R5eQsCTc;r`d&|0KzQ+5Lh2Ti_>W~c&_IM zUR-oHDR#bYgkq8I9ZDQPrql}q0@UoII(MgTiDpTVUCj-b?;Nga1oi^Y%ZqbKwrLil z5|XcZ5}hTCX0?x9z3;Vg(HECSD1gPgip9jP!2u_gtS`j%cswqyT$l%OAJw@z;;Nxg z9N9Pfn zf;eUsL_q>wkYE-7GeH~hymZE34T5B<$c!5}>!u836x+o7* zoi%cbV`A$QkeX!IzrYjfiKSkQ%86IQlhAHxP(wA2HvGgM)oolf9S=@Oep5I+yc(NEm%&3wQ2?h*mxSB2-7b}*J;lAF z_(aqAxadAqF~`AcZVaCwXrsK-qTiKR+F%Pm{y(}kzy&(1W;CHRCMPq*O|GD7@$ zd_q1X%a-%u{iYkDB$hAJxp$ZALD(4*yt%|0(!jS1Y&_Oi_YDQtZx>rc8k+q{Qu7Ay zjbH

13fpmWrCm_2%TLiDvO#^03I=`?&)5ZJsS~PGw2pcFjaHX=w2ynJo+a3!CB5 z(Z%{gx#7kFZbv?sE*>Y^mQ_LLoT{G3R4f%Y~Px2f2+{hh(@tcp*sl7bw-*rj8!pMN5~jdTPTa zJWZzBpLYjrN;?#9YR6JvN1t`UD?5(;nZj>%U?ZvMhzm6vt@8%m;H_K(DgFxP{f@ZU zU%^P{{B-kimytOMrvTFn#{)K-V>%JypY6oaWThd7itbEguE6zv1@2h|$np%oK~mCe zh~(esa6m%H#|9yFwlk2qlKV?oh}WR!tt(@SDUo=JU}IdEthO&-;`Q42xMimy#j?YY zBH3@aVemF4z;`cv6UeK^Ak;~;##f?f1KgY?+;k$CPHONTrVV2ywmXu(d`=h!!eyM0 zgdJb7WKL!AqBc3Leg^h!^S51n;uBJL%Il4e&vD0x`1SjtZW7(U3H6x^`!BhnHj*^Z>`~3q-!s!eHRRKQ SAa?_6Jich?w0UM=Q1l<;b@v+p delta 3515 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 From d07c455b3843bf27e84be6dce66f9955fd31e9b6 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 14 Nov 2022 09:03:44 -0500 Subject: [PATCH 23/23] readme updt --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index 464e40a..ff5c14b 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,27 @@ With the advent of [fujinet](https://fujinet.online/) we are thinking about maki ## Changelog: +###### Version 1.18 +2022-11-04 + +This is the final round of weapon additions! Also. our beloved testers and players found a number of issues and we were extremely happy to address them. +* New defensive weapon "Lazy Boy" - aims at the closest enemy. +* New defensive weapon "Lazy Darwin" - aims at the weakest link, an enemy I mean. +* New defensive weapon "Auto Defense" - activate it to be automatically protected by shields and stuff (where available) +* New defensive weapon "Spy Hard" - quickly view energies, weapons and shields of your opponents. +* New SFXes, improvements in SFX, and music by @mikerro +* Shooting with angle 0 caused the sudden death of the operator. Fixed. +* Angles were asymmetrical, now you can go from 0 to 90 and to 0 again (181 degrees of freedom). Fixed with an improved arithmetic rounding of our sub-pixel accuracy. +* Drawing a barrel when a tank was on the edge of X==256 pixels caused a lonely pixel to appear randomly. Fixed. +* Liquid Dirt was overflowing from the right edge of the screen to the left. Fixed. +* Liquid Dirt volume increased significantly, it is now a formidable attack! +* A single pixel was erroneously plotted when measuring distance (was visible in e.g., Death's Head). Fixed. +* Not all traces were correctly erased after Funky Bomb, fixed again (for the 3rt time I guess). +* Soil sedimentation speed after Funky Bomb improved. +* Pressing [ESC] when in inventory/store was quitting the game, now it quits the menu only. +* BIGGEST OF ALL: the lonely pixel after Nuclear Winter was eliminated. https://github.com/pkali/scorch_src/issues/103 We have spent a disproportionately large amount of time trying to slap this bug. It is still there, but is not manifesting itself ;) + + ###### Version 1.18 2022-11-07