From 86ae6d55b9a65adc422c799f401f295dec9da49d Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 24 Aug 2022 08:56:36 +0200 Subject: [PATCH] Background color indicates type of walls. --- MANUAL_EN.md | 17 +++++++++-------- MANUAL_PL.md | 18 +++++++++--------- grafproc.asm | 1 + lib/ATARISYS.ASM | 1 + scorch.xex | Bin 50917 -> 50937 bytes textproc.asm | 4 ++++ 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/MANUAL_EN.md b/MANUAL_EN.md index bf4c73a..d2f3a43 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -14,11 +14,12 @@ On the first screen, you can configure gameplay options: * frequency of suicides :) - if for a number of turns the game has not recorded hits (tanks are constantly shooting inaccurately), after one of such misses a tank commits suicide - here you determine how long they can "shooting for the stars" :) - if only people play the optimal setting is "norm", in the case of computer-controlled players ... you choose. * The height (and undulation) of the mountains from almost flat (NL - Kingdom of the Netherlands), to soaring and high (NP - Federal Democratic Republic of Nepal) * the way the walls (edges of the screen) work: - 1. none - projectiles that flew off the screen do not return - 2. wrap - the screen "wraps" and projectiles that flew to the right appear on the left side (and vice versa) - 3. bump - the right and left walls deflect projectiles that want to fly through them - 4. boxy - just like bump, except that the "ceiling" also reflects projectiles - 5. rand - at the beginning of each round, one of the above 4 ways the walls work is drawn. + * none - projectiles that flew off the screen do not return + * wrap - the screen "wraps" and projectiles that flew to the right appear on the left side (and vice versa) + * bump - the right and left walls deflect projectiles that want to fly through them + * boxy - just like bump, except that the "ceiling" also reflects projectiles + * rand - at the beginning of each round, one of the above 4 ways the walls work is drawn. + During gameplay, the current mode of the walls is represented by the color of the screen frame: none - black, wrap - purple, bump - blue, boxy - green. Translated with www.DeepL.com/Translator (free version) Select options with cursor keys or joystick. @@ -71,9 +72,9 @@ And here's a rundown of the description of how each weapon works, scoring rules, ### First, what we know about tank energy - Tanks have energy (and Ogres have layers - like an onion) - 99 units at the start of a round. - Energy of tanks is depleted in 3 ways: - 1. one unit after firing each shot, - 2. while falling (one pixel down takes 2 units of energy), - 3. when a projectile hits a tank or its proximity. The amount of energy subtracted depends on the distance from the center of the explosion and the type/power of the projectile. + * one unit after firing each shot, + * while falling (one pixel down takes 2 units of energy), + * when a projectile hits a tank or its proximity. The amount of energy subtracted depends on the distance from the center of the explosion and the type/power of the projectile. ### How energy subtraction works (and makes money!) diff --git a/MANUAL_PL.md b/MANUAL_PL.md index 2f40136..813bdca 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -13,12 +13,12 @@ Na pierwszym ekranie możemy skonfigurować opcje rozgrywwki: * częstotliwość samobójstw :) - jeśli przez ileś tur gra nie odnotowała trafień (czołgi ciągle strzelają niecelnie) jeden z takich pudłujących czołgów popełnia samobójstwo - tu określamy jak długo mogą “strzelać w próżnię” :) - jeśli grają tylko ludzie optymalne ustawienie to “norm”, w przypadku graczy sterowanych przez komputer… wedle uznania. * wysokość (i pofałdowanie) gór od prawie płaskich (NL - Królestwo Niderlandów), do strzelistych i wysokich (NP - Federalna Demokratyczna Republika Nepalu) * sposób działania ścian (krawędzi ekranu): - 1. none - pociski, które wyleciały poza ekran nie wracają - 2. wrap - ekran "zawija się" i pociski, które wyleciały w prawo pojawiają się z lewej strony (i odwrotnie) - 3. bump - prawa i lewa ściana odbijają pociski, które chcą przez nie przelecieć - 4. boxy - tak jak bump, tyle że "sufit" także odbija pociski - 5. rand - na początku każdej rundy losowany jest jeden z 4 powyższych sposobów działania ścian - + * none - pociski, które wyleciały poza ekran nie wracają + * wrap - ekran "zawija się" i pociski, które wyleciały w prawo pojawiają się z lewej strony (i odwrotnie) + * bump - prawa i lewa ściana odbijają pociski, które chcą przez nie przelecieć + * boxy - tak jak bump, tyle że "sufit" także odbija pociski + * rand - na początku każdej rundy losowany jest jeden z 4 powyższych sposobów działania ścian + W trakcie rozgrywki aktualny sposób działania ścian reprezentowany jest przez kolor ramki ekranu: none - czarny, wrap - fioletowy, bump - niebieski, boxy - zielony. Wybór opcji klawiszami kursora lub joystickiem. @@ -69,9 +69,9 @@ A tutaj zręby opisu działania poszczególnych broni, zasad punktacji itp: ### Najpierw co wiemy o energii czołgów - Czołgi mają energię (a Ogry warstwy - jak cebula) - na starcie 99 jednostek - Energii czołgom ubywa na 3 sposoby: - 1. jedna jednostka po oddaniu każdego strzału - 2. w czasie spadania (jeden piksel w dół 2 jednostki) - 3. w chwili trafienia w czołg lub obok niego jakiegoś pocisku - i tu ilość odejmowanej energii zależy od odległości od centrum eksplozji i typu/siły rażenia pocisku. + * jedna jednostka po oddaniu każdego strzału + * w czasie spadania (jeden piksel w dół 2 jednostki) + * w chwili trafienia w czołg lub obok niego jakiegoś pocisku - i tu ilość odejmowanej energii zależy od odległości od centrum eksplozji i typu/siły rażenia pocisku. ### Jak działa odejmowanie energii (i zarabianie kasy!) Po każdej rundzie wyliczana jest ilość zdobytych/straconych pieniędzy robione jest to na podstawie dwóch zmiennych gromadzonych przez każdy z czołgów w trakcie rundy. Te zmienne to: diff --git a/grafproc.asm b/grafproc.asm index bfe8a78..14f10bd 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2019,6 +2019,7 @@ EndPut4x4 ; and #$fc ; ora #$02 ; 2=normal, 3 = wide screen width sta dmactls + mva WallsType COLBAKS ; set color of background jsr WaitOneFrame rts .endp diff --git a/lib/ATARISYS.ASM b/lib/ATARISYS.ASM index 5b3e8ec..83cc301 100644 --- a/lib/ATARISYS.ASM +++ b/lib/ATARISYS.ASM @@ -350,6 +350,7 @@ COLOR1 EQU $02C5 COLOR2 EQU $02C6 COLOR3 EQU $02C7 COLOR4 EQU $02C8 +COLBAKS EQU COLOR4 RUNADR EQU $02C9 ;LOADER HIUSED EQU $02CB ;LOADER ZHIUSE EQU $02CD ;LOADER diff --git a/scorch.xex b/scorch.xex index 01939d1861fada07e6614d375ce2b1f7c210229d..63d6e723a7da02dc4cb4d075e515833878872809 100644 GIT binary patch delta 13155 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 L-)XA;rSty-YjJov delta 13086 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 Vl6