mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 14:49:46 +02:00
Compare commits
153 Commits
release_129
..
145
| Author | SHA1 | Date | |
|---|---|---|---|
| 4fe360d63c | |||
| c9ceb58117 | |||
| e10514debd | |||
| 2907fe7a91 | |||
| a0d5d22e74 | |||
| 1ea62798c8 | |||
| 42facad64e | |||
| 2c98d73877 | |||
| 4ae4403448 | |||
| 242bc4586c | |||
| eda0e65189 | |||
| 8613854f80 | |||
| 1c277b0e6f | |||
| 623c9c9583 | |||
| ce55bf0d97 | |||
| 537f88e4c6 | |||
| 9aaa4fec69 | |||
| 67b5dfb110 | |||
| 4200e60d47 | |||
| 7324203925 | |||
| 634c2f83e9 | |||
| 18f88705e5 | |||
| fe6bd17a66 | |||
| 1d8f26d562 | |||
| 2bb8a743e1 | |||
| 708a7b4aa9 | |||
| 8153670711 | |||
| ab140ed5ca | |||
| cc3e2d1845 | |||
| 98e866abdd | |||
| ffa748fb68 | |||
| de047779ce | |||
| 3c685b2811 | |||
| c86dcd7c59 | |||
| f924868459 | |||
| 2992bd40b3 | |||
| b19d218670 | |||
| 8ab450ff48 | |||
| 5e2ab7f206 | |||
| cd69bf22db | |||
| ff8c4d9329 | |||
| 83e128a1b5 | |||
| cc8688263a | |||
| b5bf6ecc30 | |||
| e2c85c98c2 | |||
| c47a22a833 | |||
| cd4275226a | |||
| cb270be865 | |||
| 7df1d5eff9 | |||
| c3f6e2399d | |||
| 598860b7d0 | |||
| c1aa177767 | |||
| eb7f6369de | |||
| 41900d7671 | |||
| 6a6689b9b7 | |||
| 836c67afcf | |||
| 1b983b8d92 | |||
| 53e9f89012 | |||
| cf40bf905d | |||
| 91b613f166 | |||
| eace9eb5cf | |||
| 4c6b56a1e2 | |||
| 7b86fc98cd | |||
| 186cacf5ba | |||
| 031416b8e6 | |||
| 1394524a26 | |||
| ea6c621d79 | |||
| afd81c08c3 | |||
| a9703609b6 | |||
| d8bfda28a0 | |||
| 743114fd0d | |||
| 079abc062f | |||
| 853a597daf | |||
| 1eadc7f63e | |||
| 081cf282c8 | |||
| 4c3203854c | |||
| bf11a9967f | |||
| 0d7403d1c0 | |||
| 777f5c341a | |||
| 8f0bd8ca81 | |||
| c12049d0d7 | |||
| 6013986e51 | |||
| 0fbe3de569 | |||
| 9569b3365a | |||
| 6d9b2907c5 | |||
| 94e6caebed | |||
| 532ee7dc88 | |||
| 17e653b37d | |||
| bef3c0f080 | |||
| 7ff3858433 | |||
| eae8cb08d8 | |||
| f13d7ac801 | |||
| 0ddbe41005 | |||
| 7cd31450c7 | |||
| a556e50e53 | |||
| 9f1720e970 | |||
| 2df28af79c | |||
| defbde5b87 | |||
| 0820124f9f | |||
| aa74cf133b | |||
| 2c640c370a | |||
| 636e121bf7 | |||
| 3c1b0a02aa | |||
| be5652074a | |||
| a425500d4e | |||
| a721b82944 | |||
| 762b56567b | |||
| b11d22d1bb | |||
| c68ba09103 | |||
| e399754e0c | |||
| 381495fb5a | |||
| 17b57d1ed2 | |||
| 2fb04cabff | |||
| 457af6d6b9 | |||
| bdf0f10cc0 | |||
| 347e59d5a2 | |||
| 61ff5e47e1 | |||
| 2d8c71e9ff | |||
| fd1a61c1f9 | |||
| 571b3c137e | |||
| bd8ecad2dd | |||
| 7e24e44f1b | |||
| eb8360dcd0 | |||
| 3d8ec72da0 | |||
| 2f099897c7 | |||
| 26f82b59c1 | |||
| 9a3cf1251f | |||
| ec5838ebaf | |||
| 491dc2861c | |||
| 5e476eb742 | |||
| 661d4776c7 | |||
| 3701accfc9 | |||
| fb54230ea7 | |||
| fb86876d9f | |||
| 80bc302689 | |||
| d9645b9c37 | |||
| 620bcf5aa8 | |||
| d0a9fb0fbe | |||
| 68bf4a9541 | |||
| 7dd3ecd2bf | |||
| 08f7680563 | |||
| d9322221a3 | |||
| d766088b66 | |||
| de5bfab2a8 | |||
| 91b39e736b | |||
| 572bee982a | |||
| b37dc73f52 | |||
| 11ddf69de9 | |||
| 0ba4594712 | |||
| 8556dfe0d7 | |||
| 860d0917ad | |||
| 2de2c24373 | |||
| a6382c5dc0 |
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
*.bak
|
||||||
@@ -8,14 +8,15 @@ by Tomasz 'Pecus' Pecko and Pawel 'pirx' Kalinowski
|
|||||||
Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
|
Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
|
||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
Kaz - splash screen, ideas
|
- Kaz - splash screen, ideas
|
||||||
Adam - font, ideas
|
- Miker (@mikerro) - game sfx, ideas, QA
|
||||||
Emkay - splash screen music
|
- Adam (@6502adam) - font, ideas, QA
|
||||||
Miker - game sfx, ideas
|
- Bocianu (@bocianu) - important ideas, FujiNet implementation, QA
|
||||||
Bocianu - important ideas, FujiNet implementation
|
- Emkay - splash screen music
|
||||||
|
|
||||||
|
QA: Probabilitydragon, KrzysRog, Beeblebrox, EnderDude, lopezpb, Dracon, brad-colbert
|
||||||
|
|
||||||
You can contact us at pecus@poczta.fm or pirx@5oft.pl
|
You can contact us at pecus@poczta.fm or pirx@5oft.pl
|
||||||
home page of this project is https://github.com/pkali/scorch_src
|
|
||||||
|
|
||||||
This source code was originally compiled under [OMC65 crossassembler](https://github.com/pkali/omc65) and on 2012-06-21 translated to [mads](https://github.com/tebe6502/Mad-Assembler).
|
This source code was originally compiled under [OMC65 crossassembler](https://github.com/pkali/omc65) and on 2012-06-21 translated to [mads](https://github.com/tebe6502/Mad-Assembler).
|
||||||
|
|
||||||
@@ -31,12 +32,12 @@ Game source code is split into 5+4 parts:
|
|||||||
- display.asm - display lists and text screen definitions
|
- display.asm - display lists and text screen definitions
|
||||||
- ai.asm - artificial stupidity of computer opponents
|
- ai.asm - artificial stupidity of computer opponents
|
||||||
- weapons.asm - general arsenal of tankies
|
- weapons.asm - general arsenal of tankies
|
||||||
- definitions.asm - label definitions, moved to make it work better with Altirra debug.
|
- definitions.asm - label definitions, moved to make it work better with Altirra debug (it doesn't).
|
||||||
|
|
||||||
We were trying to use as much macros and pseudo-ops as possible.
|
We were trying to use macros, pseudo-ops and simple graphics primitives as much as possible.
|
||||||
They are defined in atari.hea and macro.hea files together with many atari constants. This way it should be relatively easy to port this code to e.g. C64
|
This way it should be relatively easy to port this code to e.g. C64
|
||||||
|
|
||||||
After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=ax+b :)
|
After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=a*x+b :)
|
||||||
|
|
||||||
Originally most variables were in Polish, comments were sparse, but we wanted to release this piece of code to public.
|
Originally most variables were in Polish, comments were sparse, but we wanted to release this piece of code to public.
|
||||||
Because of being always short of time/energy (to finish the game) we decided it must go in 'English' to let other people work on it.
|
Because of being always short of time/energy (to finish the game) we decided it must go in 'English' to let other people work on it.
|
||||||
@@ -46,10 +47,81 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin
|
|||||||
|
|
||||||
## Changes:
|
## Changes:
|
||||||
|
|
||||||
###### Build 138
|
###### Build 145
|
||||||
|
2022-06-26
|
||||||
|
Possibly last round of weapon additions!
|
||||||
|
@Pecusx added
|
||||||
|
- working White Flag -- it is a way to give up while not making opponents richer!
|
||||||
|
- Battery - a must for every tank with low energy.
|
||||||
|
- Strong Parachute - like a normal parachute, but stronger (it has energy and can work more than once)
|
||||||
|
- Nuclear Winter - a quick and efficient solution to global worming, err, warning, WARMING!
|
||||||
|
@mikerro added new SFX and in-game-tunes.
|
||||||
|
- Pressing [S] turns on/off SFX (when aiming). Pressing [M] turns on/off in-game tunes.
|
||||||
|
Tickets closed:
|
||||||
|
- https://github.com/pkali/scorch_src/issues/54 - holding joystick up or down longer speeds up force change. It makes playing with joystick much nicer.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/76 - a beginning of visual tweaks by Adam
|
||||||
|
- infinite defensive weapons purchase bug fixed, to chagrin of some...
|
||||||
|
|
||||||
|
###### Build 144
|
||||||
|
2022-06-19
|
||||||
|
Father's day release comes with the most anticipated new feature: defensive weapons. Thanks to @Pecus we have 5 completely new weapons and a more reasonably working parachute. The stub of the instruction manual describing these weapons is available here: https://github.com/pkali/scorch_src/wiki/Instruction-manual.
|
||||||
|
|
||||||
|
The new inventory system has been added. Call it by pressing the "I" key or short-pressing fire. Select the weapon to use by moving the joystick or cursor keys right. Switch between offensive and defensive weapons by moving the joystick left. Fire/escape to quit inventory.
|
||||||
|
|
||||||
|
Another significant playability change is #54 - it is not finished yet, but keeping the joystick up or down makes force increase/decrease faster. Also - short press of fire calls Inventory, long press fires the shell. The timings are experimental, please let me know if this needs a modification/improvement.
|
||||||
|
|
||||||
|
Tickets closed:
|
||||||
|
* https://github.com/pkali/scorch_src/issues/92 - less unnecessary cleaning of the offensive texts
|
||||||
|
* https://github.com/pkali/scorch_src/issues/89 - improved collisions with tank
|
||||||
|
* https://github.com/pkali/scorch_src/issues/71 - ditto
|
||||||
|
* https://github.com/pkali/scorch_src/issues/11, https://github.com/pkali/scorch_src/issues/26, https://github.com/pkali/scorch_src/issues/8, https://github.com/pkali/scorch_src/issues/20 - new inventory system
|
||||||
|
|
||||||
|
###### Build 143
|
||||||
|
2022-06-05
|
||||||
|
Rewrite build. We redone several important parts of the game to allow for bug fixes and requested features. Generally it was a great success, but some new bugs appeared. This build is nice for the eye, but beware, no mercy for testers again :)
|
||||||
|
Only visible changes listed, because you are possibly not as excited as we are for the new Flight routine and ground collisions by @Pecusx.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/84, https://github.com/pkali/scorch_src/issues/63 - tanks now say good bye properly!
|
||||||
|
- https://github.com/pkali/scorch_src/issues/74 - Press [ESC] to quit the game at any point, with a confirmation when the round has already started. Please note the keyboard is not checked all the time, so press it for a while, especially when AI tanks are ru(i/n)ning the show.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/56 - there should be no occurrences of frivolous weapon purchases. Please report all tanks getting their munitions from uncertified sources!
|
||||||
|
- https://github.com/pkali/scorch_src/issues/47 - It seems that the bad sequence of turns has been ameliorated. Fix is trivial, finding the culprit - far from it. Please pay special attention to fairness of shooting in case the fix is still longing for the fjords.
|
||||||
|
- ATTRACT mode works how it should - screensaver saves screen only when HUMAN should input something.
|
||||||
|
|
||||||
|
###### Build 142
|
||||||
|
2022-05-30
|
||||||
|
Late build. The bugs we tried to squelch turned out to be more difficult than usual. Some progress has been made though even if it is not yet visible.
|
||||||
|
- 4x4 font rewritten by @Pecusx as a prep for Y standarization. It makes the messages to appear faster. This is a good change.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/5 and #80 fixed (again) - no funkybomb traces staying on the screen
|
||||||
|
- https://github.com/pkali/scorch_src/issues/70 too strong Shooters fixed
|
||||||
|
- https://github.com/pkali/scorch_src/issues/63 - tank say goodbye when (mostly) visible
|
||||||
|
- several other small changes and improvements that will pay off in the following releases.
|
||||||
|
|
||||||
|
###### Build 141
|
||||||
|
2022-05-22
|
||||||
|
Debug build. Thanks to all testers for finding numerous bugs. We tried to fix some of them and we have introduced some new for your enjoyment.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/73 Fast forward. Press [START] to speed up the game where it can be sped up. Not in many places, mind you.
|
||||||
|
- https://github.com/pkali/scorch_src/issues/72 Screen glitches improved
|
||||||
|
- https://github.com/pkali/scorch_src/issues/70 AI shoot with more force than their energy allows. We might still have to revise this one
|
||||||
|
- https://github.com/pkali/scorch_src/issues/69 Explosions wrapping around the screen
|
||||||
|
- https://github.com/pkali/scorch_src/issues/67 Screen glitches after intro
|
||||||
|
- https://github.com/pkali/scorch_src/issues/65 Saved ~90 bytes by removing cosinus table
|
||||||
|
- https://github.com/pkali/scorch_src/issues/62 Empty list of defensive weapons gets corrupted. Plunged it with a new defensive weapon - "White Flag". Honor of the tank crew prohibits them from buying it (yet)
|
||||||
|
- https://github.com/pkali/scorch_src/issues/61 [SHIFT] was repeating the last key
|
||||||
|
- https://github.com/pkali/scorch_src/issues/57 Fire too sensitive on a real machine. Switched to shadow registers. First recorded use of Atari OS :O
|
||||||
|
- https://github.com/pkali/scorch_src/issues/55 Glitches in the status bar. This one was surprisingly tough.
|
||||||
|
|
||||||
|
###### Build 140
|
||||||
|
2022-05-15
|
||||||
|
Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds.
|
||||||
|
- few new sfx added (end of round, weapon change, soil eating weapons)
|
||||||
|
- added colors to tank name and level selection screen
|
||||||
|
- Bug https://github.com/pkali/scorch_src/issues/57 possibly alleviated by using TRIG0S instead of TRIG0. Please test - it did not show for me.
|
||||||
|
Other unlisted minor bugs and typos fixed.
|
||||||
|
"Nightly" version moved to `develop` branch. `master` will be updated with stablish and playablish builds only.
|
||||||
|
|
||||||
|
###### Build 139
|
||||||
2022-05-09
|
2022-05-09
|
||||||
The post midnight release with great, heavy new features:
|
The post midnight release with great, heavy new features:
|
||||||
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to @mikerro we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
||||||
- https://github.com/pkali/scorch_src/issues/42 New weapon - Liquid Dirt by Pecus. Try it from directly from the weapon store!
|
- https://github.com/pkali/scorch_src/issues/42 New weapon - Liquid Dirt by Pecus. Try it from directly from the weapon store!
|
||||||
- (fix) https://github.com/pkali/scorch_src/issues/53 - non-existing weapons are not displayed. This makes the defense menu empty when you are poor, but it is still better than the old way with "$0" prices
|
- (fix) https://github.com/pkali/scorch_src/issues/53 - non-existing weapons are not displayed. This makes the defense menu empty when you are poor, but it is still better than the old way with "$0" prices
|
||||||
- (fix) https://github.com/pkali/scorch_src/issues/49 - seppuku should always kill now
|
- (fix) https://github.com/pkali/scorch_src/issues/49 - seppuku should always kill now
|
||||||
@@ -91,7 +163,7 @@ Other small fixes:
|
|||||||
2022-04-10
|
2022-04-10
|
||||||
- https://github.com/pkali/scorch_src/issues/34 - plot pointer visible only when missile is out of the screen
|
- https://github.com/pkali/scorch_src/issues/34 - plot pointer visible only when missile is out of the screen
|
||||||
- https://github.com/pkali/scorch_src/issues/33 - Poor AIs do not purchase non-working weapons
|
- https://github.com/pkali/scorch_src/issues/33 - Poor AIs do not purchase non-working weapons
|
||||||
- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing from zero page LZSS routine by @dmsc
|
- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing LZSS routine by @dmsc from zero page
|
||||||
- https://github.com/pkali/scorch_src/issues/31 - STA WSYNC removed from missile flight delay
|
- https://github.com/pkali/scorch_src/issues/31 - STA WSYNC removed from missile flight delay
|
||||||
- https://github.com/pkali/scorch_src/issues/30 - player level remembered between rounds, thx @KrzysRog
|
- https://github.com/pkali/scorch_src/issues/30 - player level remembered between rounds, thx @KrzysRog
|
||||||
- https://github.com/pkali/scorch_src/issues/5 - funkybomb smoke stays on the edges of the screen
|
- https://github.com/pkali/scorch_src/issues/5 - funkybomb smoke stays on the edges of the screen
|
||||||
@@ -102,7 +174,7 @@ Other small fixes:
|
|||||||
- enhancement: https://github.com/pkali/scorch_src/issues/15 Add player colors to purchase screen. Still room to improvement!
|
- enhancement: https://github.com/pkali/scorch_src/issues/15 Add player colors to purchase screen. Still room to improvement!
|
||||||
- enhancement: https://github.com/pkali/scorch_src/issues/22 Redesign information panel (top 2 lines of the game screen). Now game might make some sense for a newcomer :)
|
- enhancement: https://github.com/pkali/scorch_src/issues/22 Redesign information panel (top 2 lines of the game screen). Now game might make some sense for a newcomer :)
|
||||||
- change: https://github.com/pkali/scorch_src/issues/28 remove white lines around out-of-the-screen point tracker. Now it is visible and looks better!
|
- change: https://github.com/pkali/scorch_src/issues/28 remove white lines around out-of-the-screen point tracker. Now it is visible and looks better!
|
||||||
- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @miker for the hint. Speed of the shell is configurable now, 5 speeds available.
|
- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @mikerro for the hint. Speed of the shell is configurable now, 5 speeds available.
|
||||||
- enhancement: https://github.com/pkali/scorch_src/issues/27 Remember game settings between games.
|
- enhancement: https://github.com/pkali/scorch_src/issues/27 Remember game settings between games.
|
||||||
- enhancement: https://github.com/pkali/scorch_src/issues/24 Remember player names between games. Thanks @bocianu
|
- enhancement: https://github.com/pkali/scorch_src/issues/24 Remember player names between games. Thanks @bocianu
|
||||||
|
|
||||||
|
|||||||
@@ -1,90 +0,0 @@
|
|||||||
MOVED TO: https://github.com/pkali/scorch_src/issues
|
|
||||||
|
|
||||||
TODO and BUGS file
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
Known bugs (+ means bug is fixed)
|
|
||||||
004. when parachute is on and the tank dies (e.g. hit by a powerful
|
|
||||||
weapon) the dead (invisible) tank falls on parachute
|
|
||||||
(and uses one parachute more than necessary)
|
|
||||||
005. tank stands still on a one pixel spike - it should fall
|
|
||||||
(possibly all that is necessary is adjust of WhereToSlideTable)
|
|
||||||
017: Observed MIRV loops - it shoots and shoots MIRV all over the screen. Very rare.
|
|
||||||
020: sometimes leftmost or rightmost remains of the funkybomb smoke do not get cleared
|
|
||||||
I think it happens when one of the bombs goes out of the screen
|
|
||||||
023: NEW BUG. After the last change (bug 007) now the last shell of any weapon gets removed and
|
|
||||||
the game switches to Baby missile.
|
|
||||||
|
|
||||||
Fixed:
|
|
||||||
+001. when bullet goes straight down very fast it misses the tank
|
|
||||||
it happens only when tank is standing on the bottom of
|
|
||||||
the screen (no ground below)
|
|
||||||
+002. points after the round are not calculated correctly
|
|
||||||
+003. if death's head explodes low, the lowest explosion wraps
|
|
||||||
and appears on the top of the screen
|
|
||||||
+006. After some attacks (like MIRV and leapfrog the OffensiveText
|
|
||||||
stays on the screen (and becomes a static decoration)
|
|
||||||
It possibly happens when a tank kills itself with mirv or leapfrog.
|
|
||||||
+008. After a round the last tank sprite stays on the screen.
|
|
||||||
This hurts only when the last tank is under the table with results!
|
|
||||||
+010. Even MORONS shoot their feet too often - increase min. randomised energy.
|
|
||||||
+011. High flying bullets sometimes cause brief screen garbage - like a DL damaged
|
|
||||||
for a fraction of a frame.
|
|
||||||
Update - these are NOT high flying bullets - it just happens during bullet flight
|
|
||||||
+012. (newly introduced) Death explosions are offset right and possibly up.
|
|
||||||
+013. sometimes demo mode does not work (it stops on results display)
|
|
||||||
+014: FunkyBomb shoots with too high angle
|
|
||||||
+015: Only first shoot of FunkyBomb is correct (with smoke and fast),
|
|
||||||
the next are like missiles
|
|
||||||
+016: Additional explosions after Frogger do not have falling soil (?)
|
|
||||||
-018: MINOR: ydraw, yhit, ybyte variable is sometimes treated as WORD, sometimes as BYTE.
|
|
||||||
Making it consistent would save both time and space (not much)
|
|
||||||
REJECTED: too much work - different routines depend on checking high byte.
|
|
||||||
+019: AI menu does not recognize keyboard up (prints "-" in tank name)
|
|
||||||
+021: check MWA, ADW, SBW macros - bad modifications of bytes found!!!
|
|
||||||
+009. When result in points is >99 then only 2 first digits are displayed
|
|
||||||
-022: shooting funkybomb decreases number of bombs too much! (2 instead of 1?)
|
|
||||||
+007. Decreasing of number of bullets after a shoot does not work correctly
|
|
||||||
(e.g. 2 bullets are deducted instead of 1) FUNKYBOMB!!!
|
|
||||||
it looks like it is fixed, although what I did was moving decreasing before jsr shoot
|
|
||||||
+000, Game crashes from time to time, code and/or screen gets corrupted
|
|
||||||
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
To do
|
|
||||||
*004. The game has no end!!! Add ending!!!
|
|
||||||
A good idea for an ending - a TIP pic - Red Army taking Berlin :)
|
|
||||||
Another - vector tanks like in BattleZone
|
|
||||||
Another - stickman tankmen
|
|
||||||
006. Add sound effects (maybe sampled? or mp0 (sound based on fft))
|
|
||||||
007. There is no defensive weapon handling (only parachute works,
|
|
||||||
but also provisionally
|
|
||||||
009. Make AI in the existing framework (ongoing)
|
|
||||||
010. It is impossible to look up a number of parachutes left.
|
|
||||||
018. Speed up soil down after soil eating weapons - correctly calculate
|
|
||||||
ranges as now range is very broad even when very little soil is eaten.
|
|
||||||
019. Purchase impossible with joystick only. Add buy on e.g. joystick right.
|
|
||||||
020. Not a bug per se, but ydraw variable is word, possibly it can be switched to byte
|
|
||||||
021. Add player colors to purchase screen
|
|
||||||
022. Make colors more contrasting
|
|
||||||
024. no visual indication of using defensive weapons
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
+001. Start each round with a)worst tank or b)random tank
|
|
||||||
(Worst tank starts first)
|
|
||||||
+002. Start each round with random angles (not always 45 degrees left)
|
|
||||||
+003. Add colour of the given tank to the screen
|
|
||||||
E.g. when a given tank is shooting it's colour could be behind
|
|
||||||
tank name on the text screen
|
|
||||||
+005. Add number of rounds to the options menu
|
|
||||||
+008. No computer operated opponents - make a framework for AI!!!
|
|
||||||
+011. Colouring the top status lines in a colour of the active tank.
|
|
||||||
+014. Demo mode - when all tanks are CPUs let them play non-stop!
|
|
||||||
(replace waiting for a key-press after a round with a small delay)
|
|
||||||
+015. Switch to mads for easier development (mads speeds it up, no doubt)
|
|
||||||
+016. Speed up death's head (e.g.: draw each second circle)
|
|
||||||
-017. Wide screen mode (with scroll?)
|
|
||||||
+012. Decreased number of bullets should be displayed just after the shoot.
|
|
||||||
+013. Check LineTable - possibly it is unnecessarily long. Checked. It is OK
|
|
||||||
+023. Make not implemented weapons raise NotImplementedError :] Done by making it impossible to purchase free weapons (price == $0)
|
|
||||||
@@ -33,7 +33,7 @@ loop
|
|||||||
ArtificialIntelligence .proc ;
|
ArtificialIntelligence .proc ;
|
||||||
; A - skill of the TankNr
|
; A - skill of the TankNr
|
||||||
; returns shoot energy and angle in
|
; returns shoot energy and angle in
|
||||||
; EnergyTable/L/H and AngleTable
|
; ForceTable/L/H and AngleTable
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
@@ -77,24 +77,22 @@ Shooter .proc
|
|||||||
lda PreviousAngle,x
|
lda PreviousAngle,x
|
||||||
clc
|
clc
|
||||||
adc #5
|
adc #5
|
||||||
bmi leftQuadrant
|
bmi @+
|
||||||
cmp #90
|
cmp #90
|
||||||
bcc continue
|
bcc @+
|
||||||
lda #(-90)
|
lda #(-90)
|
||||||
bne continue
|
@
|
||||||
leftQuadrant
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
continue
|
|
||||||
sta NewAngle
|
sta NewAngle
|
||||||
|
|
||||||
|
sec
|
||||||
lda PreviousEnergyL,x
|
lda PreviousEnergyL,x
|
||||||
sta EnergyTableL,x
|
sbc #5
|
||||||
|
sta ForceTableL,x
|
||||||
lda PreviousEnergyH,x
|
lda PreviousEnergyH,x
|
||||||
sta EnergyTableH,x
|
sbc #0
|
||||||
|
sta ForceTableH,x
|
||||||
jmp endo
|
jmp endo
|
||||||
|
|
||||||
firstShoot
|
firstShoot
|
||||||
; compare the x position with the middle of the screen
|
; compare the x position with the middle of the screen
|
||||||
lda xTanksTableL,x
|
lda xTanksTableL,x
|
||||||
@@ -108,7 +106,6 @@ firstShoot
|
|||||||
and #$1F
|
and #$1F
|
||||||
clc
|
clc
|
||||||
adc #5
|
adc #5
|
||||||
;lda #45
|
|
||||||
|
|
||||||
sta NewAngle
|
sta NewAngle
|
||||||
jmp forceNow
|
jmp forceNow
|
||||||
@@ -123,15 +120,17 @@ tankIsOnTheRight
|
|||||||
forceNow
|
forceNow
|
||||||
mwa #100 RandBoundaryLow
|
mwa #100 RandBoundaryLow
|
||||||
mwa #800 RandBoundaryHigh
|
mwa #800 RandBoundaryHigh
|
||||||
|
ldx TankNr ;this is possibly not necessary
|
||||||
jsr RandomizeForce
|
jsr RandomizeForce
|
||||||
|
|
||||||
endo
|
endo
|
||||||
ldx TankNr ;this is possibly not necessary
|
ldx TankNr ;this is possibly not necessary
|
||||||
|
jsr RandomizeForce.LimitForce
|
||||||
lda NewAngle
|
lda NewAngle
|
||||||
sta PreviousAngle,x
|
sta PreviousAngle,x
|
||||||
lda EnergyTableL,x
|
lda ForceTableL,x
|
||||||
sta PreviousEnergyL,x
|
sta PreviousEnergyL,x
|
||||||
lda EnergyTableH,x
|
lda ForceTableH,x
|
||||||
sta PreviousEnergyH,x
|
sta PreviousEnergyH,x
|
||||||
|
|
||||||
; choose the best weapon
|
; choose the best weapon
|
||||||
@@ -214,6 +213,7 @@ skipThisPlayer
|
|||||||
forceNow
|
forceNow
|
||||||
mwa #300 RandBoundaryLow
|
mwa #300 RandBoundaryLow
|
||||||
mwa #700 RandBoundaryHigh
|
mwa #700 RandBoundaryHigh
|
||||||
|
ldx TankNr
|
||||||
jsr RandomizeForce
|
jsr RandomizeForce
|
||||||
|
|
||||||
endo
|
endo
|
||||||
|
|||||||
+30
-5
@@ -45,11 +45,16 @@ regX .ds 1
|
|||||||
regY .ds 1
|
regY .ds 1
|
||||||
; --- MAIN PROGRAM
|
; --- MAIN PROGRAM
|
||||||
org $2000
|
org $2000
|
||||||
ant dta $F0
|
ant dta $80
|
||||||
dta $42,a(scr),$02,$02,$02,$02,$02,$02,$02,$02,$02,$82,$02,$02,$02,$02,$82
|
dta $42,a(scr),$02,$02,$02,$02,$02,$02,$02,$02,$02,$82,$02,$02,$02,$02,$82
|
||||||
dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82,$70
|
dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82
|
||||||
|
dta $42,a(verline)
|
||||||
dta $41,a(ant)
|
dta $41,a(ant)
|
||||||
|
|
||||||
|
verline
|
||||||
|
:37 dta d" "
|
||||||
|
build
|
||||||
|
|
||||||
scr ins "HIMARS14.scr"
|
scr ins "HIMARS14.scr"
|
||||||
|
|
||||||
.ds 2*40
|
.ds 2*40
|
||||||
@@ -68,7 +73,7 @@ pmg .ds $0300
|
|||||||
eif
|
eif
|
||||||
|
|
||||||
song_data
|
song_data
|
||||||
ins 'mmm_16.lzs'
|
ins 'mmm_16.lzs'
|
||||||
song_end
|
song_end
|
||||||
|
|
||||||
POKEY = $D200
|
POKEY = $D200
|
||||||
@@ -202,6 +207,19 @@ main
|
|||||||
|
|
||||||
lda:cmp:req $14 ;wait 1 frame
|
lda:cmp:req $14 ;wait 1 frame
|
||||||
|
|
||||||
|
; copy system font to $a000
|
||||||
|
ldx #0
|
||||||
|
@ lda $e000,x
|
||||||
|
sta $a000,x
|
||||||
|
;lda $e100,x ; i need digits only :]
|
||||||
|
;sta $a100,x
|
||||||
|
;lda $e200,x
|
||||||
|
;sta $a200,x
|
||||||
|
;lda $e300,x
|
||||||
|
;sta $a300,x
|
||||||
|
inx
|
||||||
|
bne @-
|
||||||
|
|
||||||
sei ;stop IRQ interrupts
|
sei ;stop IRQ interrupts
|
||||||
mva #$00 nmien ;stop NMI interrupts
|
mva #$00 nmien ;stop NMI interrupts
|
||||||
sta dmactl
|
sta dmactl
|
||||||
@@ -249,6 +267,11 @@ stop
|
|||||||
@ sta POKEY,x
|
@ sta POKEY,x
|
||||||
dex
|
dex
|
||||||
bpl @-
|
bpl @-
|
||||||
|
|
||||||
|
;no glitching please (issue #67)
|
||||||
|
lda #0
|
||||||
|
sta $D400 ;dmactl
|
||||||
|
sta $022F ;dmactls
|
||||||
rts ;return to ... DOS
|
rts ;return to ... DOS
|
||||||
|
|
||||||
; --- DLI PROGRAM
|
; --- DLI PROGRAM
|
||||||
@@ -339,8 +362,10 @@ dli7
|
|||||||
dli11
|
dli11
|
||||||
sta regA
|
sta regA
|
||||||
|
|
||||||
lda #$01
|
lda #>$a000 ; system font
|
||||||
sta wsync ;line=232
|
sta wsync ;line=232
|
||||||
|
sta chbase
|
||||||
|
lda #$01
|
||||||
sta gtictl
|
sta gtictl
|
||||||
|
|
||||||
lda regA
|
lda regA
|
||||||
@@ -431,7 +456,7 @@ quit
|
|||||||
ini main
|
ini main
|
||||||
; ---
|
; ---
|
||||||
|
|
||||||
opt l-
|
;opt l-
|
||||||
|
|
||||||
.MACRO SPRITES
|
.MACRO SPRITES
|
||||||
missiles
|
missiles
|
||||||
|
|||||||
Executable → Regular
Executable → Regular
Executable → Regular
|
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 190 B |
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
icl '../lib/atari.hea'
|
||||||
|
|
||||||
|
org $2000
|
||||||
|
joytest
|
||||||
|
mva #0 dmactls
|
||||||
|
|
||||||
|
@
|
||||||
|
lda trig0
|
||||||
|
beq pressed
|
||||||
|
mva #0 colbak
|
||||||
|
beq @-
|
||||||
|
pressed
|
||||||
|
lda #$0f
|
||||||
|
;ora jstick0
|
||||||
|
sta colbak
|
||||||
|
jmp @-
|
||||||
|
|
||||||
|
run joytest
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Executable → Regular
Executable → Regular
BIN
Binary file not shown.
Executable → Regular
Executable → Regular
Binary file not shown.
+101
-168
@@ -5,18 +5,24 @@
|
|||||||
;===================================================================================
|
;===================================================================================
|
||||||
;==========================CONSTANT TABLES, do not erase!===========================
|
;==========================CONSTANT TABLES, do not erase!===========================
|
||||||
;===================================================================================
|
;===================================================================================
|
||||||
TankColoursTable .BYTE $52,$32,$72,$92,$B2,$02
|
TankColoursTable .BYTE $88,$cc,$38,$1c,$6a,$02
|
||||||
|
TankStatusColoursTable .BYTE $80,$c0,$30,$10,$60,$00
|
||||||
|
dliColorsBack
|
||||||
|
:10 .by $02,$00
|
||||||
|
dliColorsFore
|
||||||
|
.by $0a
|
||||||
|
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
||||||
|
TextForegroundColor = $0c
|
||||||
CashOptionL ;(one zero less than on the screen)
|
CashOptionL ;(one zero less than on the screen)
|
||||||
.by 0,<200,<500,<800,<1000
|
.by 0,<200,<800,<1200,<2000
|
||||||
CashOptionH
|
CashOptionH
|
||||||
.by 0,>200,>500,>800,>1000
|
.by 0,>200,>800,>1200,>2000
|
||||||
GravityTable .by 10,20,25,30,40
|
GravityTable .by 10,20,25,30,40
|
||||||
MaxWindTable .by 5,20,40,60,80
|
MaxWindTable .by 5,20,40,70,99
|
||||||
RoundsTable .by 10,20,30,40,50
|
RoundsTable .by 10,20,30,40,50
|
||||||
flyDelayTable .by 255,150,75,35,1
|
flyDelayTable .by 255,150,75,35,1
|
||||||
seppukuTable .by 255, 45,25,15,9
|
seppukuTable .by 255, 45,25,15,9
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
|
||||||
LevelNameBeginL ; begins of level names
|
LevelNameBeginL ; begins of level names
|
||||||
.by <NamesOfLevels,<(NamesOfLevels+10),<(NamesOfLevels+20)
|
.by <NamesOfLevels,<(NamesOfLevels+10),<(NamesOfLevels+20)
|
||||||
.by <(NamesOfLevels+32),<(NamesOfLevels+42),<(NamesOfLevels+52)
|
.by <(NamesOfLevels+32),<(NamesOfLevels+42),<(NamesOfLevels+52)
|
||||||
@@ -30,31 +36,25 @@ TanksWeaponsTableL
|
|||||||
.by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6
|
.by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6
|
||||||
TanksWeaponsTableH
|
TanksWeaponsTableH
|
||||||
.by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6
|
.by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6
|
||||||
;-----4x4 texts-----
|
|
||||||
|
|
||||||
|
;-----4x4 texts-----
|
||||||
LineTop
|
LineTop
|
||||||
dta d"(%%%%%%%%%%%%)"
|
dta d"(%%%%%%%%%%%%)", $ff
|
||||||
.byte $ff
|
|
||||||
;# - vertical, () * +, % - horizontal
|
;# - vertical, () * +, % - horizontal
|
||||||
LineBottom
|
LineBottom
|
||||||
dta d"*%%%%%%%%%%%%+"
|
dta d"*%%%%%%%%%%%%+", $ff
|
||||||
.byte $ff
|
|
||||||
LineEmpty
|
LineEmpty
|
||||||
dta d"# #"
|
dta d"# #", $ff
|
||||||
.byte $ff
|
|
||||||
LineHeader2
|
LineHeader2
|
||||||
dta d"# RESULTS #"
|
dta d"# RESULTS #", $ff
|
||||||
.byte $ff
|
|
||||||
LineGameOver
|
LineGameOver
|
||||||
dta d"# GAME OVER #"
|
dta d"# GAME OVER #", $ff
|
||||||
.byte $ff
|
|
||||||
seppukuText
|
seppukuText
|
||||||
dta d"# SEPPUKU! #"
|
dta d"# SEPPUKU! #", $ff
|
||||||
.byte $ff
|
areYouSureText
|
||||||
|
dta d"# SURE? Y/N #", $ff
|
||||||
lineClear
|
lineClear
|
||||||
dta d" "
|
dta d" ", $ff
|
||||||
.byte $ff
|
|
||||||
|
|
||||||
|
|
||||||
;-----------
|
;-----------
|
||||||
pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background)
|
pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background)
|
||||||
@@ -189,99 +189,6 @@ sintable
|
|||||||
.by 255
|
.by 255
|
||||||
.by 255 ;anti self destruction byte
|
.by 255 ;anti self destruction byte
|
||||||
|
|
||||||
costable
|
|
||||||
.by 255 ;anti self destruction byte
|
|
||||||
.by 255
|
|
||||||
.by 255
|
|
||||||
.by 255
|
|
||||||
.by 255
|
|
||||||
.by 255
|
|
||||||
.by 254
|
|
||||||
.by 254
|
|
||||||
.by 253
|
|
||||||
.by 252
|
|
||||||
.by 252
|
|
||||||
.by 251
|
|
||||||
.by 250
|
|
||||||
.by 249
|
|
||||||
.by 248
|
|
||||||
.by 247
|
|
||||||
.by 246
|
|
||||||
.by 244
|
|
||||||
.by 243
|
|
||||||
.by 242
|
|
||||||
.by 240
|
|
||||||
.by 238
|
|
||||||
.by 237
|
|
||||||
.by 235
|
|
||||||
.by 233
|
|
||||||
.by 232
|
|
||||||
.by 230
|
|
||||||
.by 228
|
|
||||||
.by 226
|
|
||||||
.by 223
|
|
||||||
.by 221
|
|
||||||
.by 219
|
|
||||||
.by 217
|
|
||||||
.by 214
|
|
||||||
.by 212
|
|
||||||
.by 209
|
|
||||||
.by 207
|
|
||||||
.by 204
|
|
||||||
.by 201
|
|
||||||
.by 198
|
|
||||||
.by 196
|
|
||||||
.by 193
|
|
||||||
.by 190
|
|
||||||
.by 187
|
|
||||||
.by 184
|
|
||||||
.by 181
|
|
||||||
.by 177
|
|
||||||
.by 174
|
|
||||||
.by 171
|
|
||||||
.by 167
|
|
||||||
.by 164
|
|
||||||
.by 161
|
|
||||||
.by 157
|
|
||||||
.by 154
|
|
||||||
.by 150
|
|
||||||
.by 146
|
|
||||||
.by 143
|
|
||||||
.by 139
|
|
||||||
.by 135
|
|
||||||
.by 131
|
|
||||||
.by 128
|
|
||||||
.by 124
|
|
||||||
.by 120
|
|
||||||
.by 116
|
|
||||||
.by 112
|
|
||||||
.by 108
|
|
||||||
.by 104
|
|
||||||
.by 100
|
|
||||||
.by 95
|
|
||||||
.by 91
|
|
||||||
.by 87
|
|
||||||
.by 83
|
|
||||||
.by 79
|
|
||||||
.by 74
|
|
||||||
.by 70
|
|
||||||
.by 66
|
|
||||||
.by 61
|
|
||||||
.by 57
|
|
||||||
.by 53
|
|
||||||
.by 48
|
|
||||||
.by 44
|
|
||||||
.by 40
|
|
||||||
.by 35
|
|
||||||
.by 31
|
|
||||||
.by 26
|
|
||||||
.by 22
|
|
||||||
.by 17
|
|
||||||
.by 13
|
|
||||||
.by 8
|
|
||||||
.by 4
|
|
||||||
.by 0
|
|
||||||
|
|
||||||
linetableL
|
linetableL
|
||||||
:screenheight+1 .by <(display+screenBytes*#)
|
:screenheight+1 .by <(display+screenBytes*#)
|
||||||
linetableH
|
linetableH
|
||||||
@@ -569,6 +476,7 @@ WhereToSlideTable
|
|||||||
.BY %000 ; 11111111
|
.BY %000 ; 11111111
|
||||||
|
|
||||||
EndOfTheBarrelX
|
EndOfTheBarrelX
|
||||||
|
; right angles from 0 (vertically up) to 90 (horizontally to the right)
|
||||||
.by 4,4,4,4,4,4,4,4,4,4,4
|
.by 4,4,4,4,4,4,4,4,4,4,4
|
||||||
.by 5,5,5,5,5,5,5,5,5,5
|
.by 5,5,5,5,5,5,5,5,5,5
|
||||||
.by 6,6,6,6,6,6,6,6,6
|
.by 6,6,6,6,6,6,6,6,6
|
||||||
@@ -578,15 +486,16 @@ EndOfTheBarrelX
|
|||||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||||
|
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0
|
.by 0,0,0,0 ; not used
|
||||||
|
|
||||||
|
; left angles from 90 (horizontally to the left) to 1 (vertically up)
|
||||||
.by 0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.by 0,0,0,0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0
|
||||||
@@ -597,6 +506,7 @@ EndOfTheBarrelX
|
|||||||
.by 3,3,3,3,3,3,3,3,3,3,3
|
.by 3,3,3,3,3,3,3,3,3,3,3
|
||||||
|
|
||||||
EndOfTheBarrelY
|
EndOfTheBarrelY
|
||||||
|
; right angles from 0 (vertically up) to 90 (horizontally to the right)
|
||||||
.by 7,7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7,7
|
||||||
.by 7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7
|
||||||
.by 7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7
|
||||||
@@ -604,18 +514,21 @@ EndOfTheBarrelY
|
|||||||
.by 6,6,6,6,6,6,6,6,6
|
.by 6,6,6,6,6,6,6,6,6
|
||||||
.by 5,5,5,5,5,5,5,5,5,5
|
.by 5,5,5,5,5,5,5,5,5,5
|
||||||
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
||||||
.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
.by 4,4,4,4,4,4,4,4,4,4,4,4,4,4 ; one pixel Up for fix problems with colision check
|
||||||
|
; .by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||||
|
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0,0,0,0,0,0,0
|
.by 0,0,0,0,0,0,0,0,0,0 ; not used
|
||||||
.by 0,0,0,0
|
.by 0,0,0,0 ; not used
|
||||||
|
|
||||||
.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
; left angles from 90 (horizontally to the left) to 1 (vertically up)
|
||||||
|
; .by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||||
|
.by 4,4,4,4,4,4,4,4,4,4,4,4,4,4 ; one pixel Up for fix problems with colision check
|
||||||
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
||||||
.by 5,5,5,5,5,5,5,5,5,5
|
.by 5,5,5,5,5,5,5,5,5,5
|
||||||
.by 6,6,6,6,6,6,6,6,6
|
.by 6,6,6,6,6,6,6,6,6
|
||||||
@@ -623,8 +536,8 @@ EndOfTheBarrelY
|
|||||||
.by 7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7
|
||||||
.by 7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7
|
||||||
.by 7,7,7,7,7,7,7,7,7,7,7
|
.by 7,7,7,7,7,7,7,7,7,7,7
|
||||||
|
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
|
|
||||||
TanksNamesDefault
|
TanksNamesDefault
|
||||||
dta d"1st.Tank"
|
dta d"1st.Tank"
|
||||||
dta d"2nd.Tank"
|
dta d"2nd.Tank"
|
||||||
@@ -633,7 +546,6 @@ TanksNamesDefault
|
|||||||
dta d"5th.Tank"
|
dta d"5th.Tank"
|
||||||
dta d"6th.Tank"
|
dta d"6th.Tank"
|
||||||
|
|
||||||
|
|
||||||
WeaponPriceH ; weapons prices (tables with prices of weapons)
|
WeaponPriceH ; weapons prices (tables with prices of weapons)
|
||||||
.by >price_Baby_Missile___
|
.by >price_Baby_Missile___
|
||||||
.by >price_Missile________
|
.by >price_Missile________
|
||||||
@@ -683,13 +595,14 @@ WeaponPriceH ; weapons prices (tables with prices of weapons)
|
|||||||
.by >price______________45
|
.by >price______________45
|
||||||
.by >price______________46
|
.by >price______________46
|
||||||
.by >price______________47
|
.by >price______________47
|
||||||
.by >price_Heat_Guidance__
|
.by >price_White_Flag_____
|
||||||
|
.by >price_Battery________
|
||||||
.by >price_Bal_Guidance___
|
.by >price_Bal_Guidance___
|
||||||
.by >price_Horz_Guidance__
|
.by >price_Horz_Guidance__
|
||||||
.by >price_Vert_Guidance__
|
.by >price_Vert_Guidance__
|
||||||
.by >price_Lazy_Boy_______
|
.by >price_Lazy_Boy_______
|
||||||
.by >price_Parachute______
|
.by >price_Parachute______
|
||||||
.by >price_Battery________
|
.by >price_StrongParachute
|
||||||
.by >price_Mag_Deflector__
|
.by >price_Mag_Deflector__
|
||||||
.by >price_Shield_________
|
.by >price_Shield_________
|
||||||
.by >price_Force_Shield___
|
.by >price_Force_Shield___
|
||||||
@@ -697,8 +610,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons)
|
|||||||
.by >price_Super_Mag______
|
.by >price_Super_Mag______
|
||||||
.by >price_Auto_Defense___
|
.by >price_Auto_Defense___
|
||||||
.by >price_Fuel_Tank______
|
.by >price_Fuel_Tank______
|
||||||
.by >price_Contact_Trigger
|
.by >price_Nuclear_Winter_
|
||||||
.by >price______________63
|
|
||||||
|
|
||||||
WeaponPriceL
|
WeaponPriceL
|
||||||
.by <price_Baby_Missile___
|
.by <price_Baby_Missile___
|
||||||
@@ -749,13 +661,14 @@ WeaponPriceL
|
|||||||
.by <price______________45
|
.by <price______________45
|
||||||
.by <price______________46
|
.by <price______________46
|
||||||
.by <price______________47
|
.by <price______________47
|
||||||
.by <price_Heat_Guidance__
|
.by <price_White_Flag_____
|
||||||
|
.by <price_Battery________
|
||||||
.by <price_Bal_Guidance___
|
.by <price_Bal_Guidance___
|
||||||
.by <price_Horz_Guidance__
|
.by <price_Horz_Guidance__
|
||||||
.by <price_Vert_Guidance__
|
.by <price_Vert_Guidance__
|
||||||
.by <price_Lazy_Boy_______
|
.by <price_Lazy_Boy_______
|
||||||
.by <price_Parachute______
|
.by <price_Parachute______
|
||||||
.by <price_Battery________
|
.by <price_StrongParachute
|
||||||
.by <price_Mag_Deflector__
|
.by <price_Mag_Deflector__
|
||||||
.by <price_Shield_________
|
.by <price_Shield_________
|
||||||
.by <price_Force_Shield___
|
.by <price_Force_Shield___
|
||||||
@@ -763,8 +676,7 @@ WeaponPriceL
|
|||||||
.by <price_Super_Mag______
|
.by <price_Super_Mag______
|
||||||
.by <price_Auto_Defense___
|
.by <price_Auto_Defense___
|
||||||
.by <price_Fuel_Tank______
|
.by <price_Fuel_Tank______
|
||||||
.by <price_Contact_Trigger
|
.by <price_Nuclear_Winter_
|
||||||
.by <price______________63
|
|
||||||
|
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
; how many units (bulletd) of a given weapon we get for a given price
|
; how many units (bulletd) of a given weapon we get for a given price
|
||||||
@@ -821,13 +733,14 @@ WeaponUnits
|
|||||||
.by 0 ;_____________45
|
.by 0 ;_____________45
|
||||||
.by 0 ;_____________46
|
.by 0 ;_____________46
|
||||||
.by 0 ;_____________47
|
.by 0 ;_____________47
|
||||||
.by 6 ;Heat_Guidance__
|
.by 1 ;White_Flag___48
|
||||||
|
.by 3 ;Battery________
|
||||||
.by 2 ;Bal_Guidance___
|
.by 2 ;Bal_Guidance___
|
||||||
.by 5 ;Horz_Guidance__
|
.by 5 ;Horz_Guidance__
|
||||||
.by 5 ;Vert_Guidance__
|
.by 5 ;Vert_Guidance__
|
||||||
.by 2 ;Lazy_Boy_______
|
.by 2 ;Lazy_Boy_______
|
||||||
.by 8 ;Parachute______
|
.by 8 ;Parachute______
|
||||||
.by 10 ;Battery________
|
.by 2 ;StrongParachute
|
||||||
.by 2 ;Mag_Deflector__
|
.by 2 ;Mag_Deflector__
|
||||||
.by 3 ;Shield_________
|
.by 3 ;Shield_________
|
||||||
.by 3 ;Force_Shield___
|
.by 3 ;Force_Shield___
|
||||||
@@ -835,8 +748,7 @@ WeaponUnits
|
|||||||
.by 2 ;Super_Mag______
|
.by 2 ;Super_Mag______
|
||||||
.by 1 ;Auto_Defense___
|
.by 1 ;Auto_Defense___
|
||||||
.by 10 ;Fuel_Tank______
|
.by 10 ;Fuel_Tank______
|
||||||
.by 25 ;Contact_Trigger
|
.by 1 ;Nuclear_Winter_
|
||||||
.by 0 ;_____________63
|
|
||||||
|
|
||||||
PurchaseMeTable ;weapons good to be purchased by the robot
|
PurchaseMeTable ;weapons good to be purchased by the robot
|
||||||
;the comment is an index in the tables
|
;the comment is an index in the tables
|
||||||
@@ -899,8 +811,8 @@ WeaponSymbols
|
|||||||
.by $58,$59,$5a,$5b,$60,$7b,$7c,$7d
|
.by $58,$59,$5a,$5b,$60,$7b,$7c,$7d
|
||||||
.by $20,$00,$00,$00,$00,$00,$00,$00
|
.by $20,$00,$00,$00,$00,$00,$00,$00
|
||||||
.by $00,$00,$00,$00,$00,$00,$00,$00
|
.by $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
.by $02,$03,$06,$1d,$0a,$1b,$1c,$1e
|
.by $5f,$1c,$03,$06,$1d,$0a,$1b,$1b ; defensives
|
||||||
.by $3b,$3c,$3d,$3e,$3f,$5e,$5f,$00
|
.by $1e,$3b,$3c,$3d,$3e,$3f,$5e,$7d
|
||||||
|
|
||||||
; Names of weapons (16 chars long)
|
; Names of weapons (16 chars long)
|
||||||
NamesOfWeapons ;the comment is an index in the tables
|
NamesOfWeapons ;the comment is an index in the tables
|
||||||
@@ -951,26 +863,44 @@ NamesOfWeapons ;the comment is an index in the tables
|
|||||||
dta d"----------------" ; 44
|
dta d"----------------" ; 44
|
||||||
dta d"----------------" ; 45
|
dta d"----------------" ; 45
|
||||||
dta d"----------------" ; 46
|
dta d"----------------" ; 46
|
||||||
dta d"----------------" ; 47
|
dta d" " ; 47 ; special (no weapon) name to simplify display
|
||||||
|
|
||||||
dta d"Heat Guidance " ; 48 ($30)
|
dta d"White Flag " ; 48 ($30)
|
||||||
dta d"Bal Guidance " ; 49
|
dta d"Battery " ; 49
|
||||||
dta d"Horz Guidance " ; 50
|
dta d"Bal Guidance " ; 50
|
||||||
dta d"Vert Guidance " ; 51
|
dta d"Horz Guidance " ; 51
|
||||||
dta d"Lazy Boy " ; 52
|
dta d"Vert Guidance " ; 52
|
||||||
dta d"Parachute " ; 53
|
dta d"Lazy Boy " ; 53
|
||||||
dta d"Battery " ; 54
|
dta d"Parachute " ; 54 - no energy
|
||||||
dta d"Mag Deflector " ; 55
|
dta d"Strong Parachute" ; 55 - with energy (earlier Battery)
|
||||||
dta d"Shield " ; 56
|
dta d"Mag Deflector " ; 56 - with shield and energy
|
||||||
dta d"Force Shield " ; 57
|
dta d"Shield " ; 57 - shield for one shot - no energy
|
||||||
dta d"Heavy Shield " ; 58
|
dta d"Force Shield " ; 58 - shield with energy and parachute
|
||||||
dta d"Super Mag " ; 59
|
dta d"Heavy Shield " ; 59 - shield with energy
|
||||||
dta d"Auto Defense " ; 60
|
dta d"Super Mag " ; 60
|
||||||
dta d"Fuel Tank " ; 61
|
dta d"Auto Defense " ; 61 - with shield and energy
|
||||||
dta d"Contact Trigger " ; 62
|
dta d"Fuel Tank " ; 62
|
||||||
dta d"----------------" ; 63
|
dta d"Nuclear Winter " ; 63
|
||||||
|
DefensiveEnergy = * - 48
|
||||||
|
.by 00 ; White Flag
|
||||||
|
.by 00 ; Heat Guidance
|
||||||
|
.by 00 ; Bal Guidance
|
||||||
|
.by 00 ; Horz Guidance
|
||||||
|
.by 00 ; Vert Guidance
|
||||||
|
.by 00 ; Lazy Boy
|
||||||
|
.by 00 ; Parachute
|
||||||
|
.by 99 ; Strong Parachute
|
||||||
|
.by 99 ; Mag Deflector
|
||||||
|
.by 00 ; Shield
|
||||||
|
.by 99 ; Force Shield
|
||||||
|
.by 99 ; Heavy Shield
|
||||||
|
.by 00 ; Super Mag
|
||||||
|
.by 99 ; Auto Defense
|
||||||
|
.by 00 ; Fuel Tank
|
||||||
|
.by 00 ; Nuclear Winter
|
||||||
weaponsOfDeath
|
weaponsOfDeath
|
||||||
dta 0,1,2,3,7,8,9,15,16,17,18,19,20,21,22,23,24,25,26,27
|
dta 1,2,3,7,17,18,19,20,21,22,23,24,25,26,27
|
||||||
|
weaponsOfDeathEnd
|
||||||
joyToKeyTable
|
joyToKeyTable
|
||||||
; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15
|
; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15
|
||||||
.by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff
|
.by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff
|
||||||
@@ -989,7 +919,10 @@ scrcodes
|
|||||||
dta d"qrstuvwx"
|
dta d"qrstuvwx"
|
||||||
dta d"yz123456"
|
dta d"yz123456"
|
||||||
dta d"7890." ; "-"
|
dta d"7890." ; "-"
|
||||||
dliColors
|
;-----------------------------------
|
||||||
:10 .by $02,$00
|
gameOverSpritesTop
|
||||||
|
; end of the Gover sprites by number of players
|
||||||
|
; 1 2 3 4 5 6
|
||||||
|
.by 130,130,136,142,148,154
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|||||||
+118
-44
@@ -59,50 +59,124 @@ price______________44 = 0
|
|||||||
price______________45 = 0
|
price______________45 = 0
|
||||||
price______________46 = 0
|
price______________46 = 0
|
||||||
price______________47 = 0
|
price______________47 = 0
|
||||||
price_Heat_Guidance__ = $ffff ;_48_($30)
|
price_White_Flag_____ = $0 ;_48_($30)
|
||||||
price_Bal_Guidance___ = $ffff ;_49
|
price_Battery________ = 300 ;_49
|
||||||
price_Horz_Guidance__ = $ffff ;_50
|
price_Bal_Guidance___ = $ffff ;_50
|
||||||
price_Vert_Guidance__ = $ffff ;_51
|
price_Horz_Guidance__ = $ffff ;_51
|
||||||
price_Lazy_Boy_______ = $ffff ;_52
|
price_Vert_Guidance__ = $ffff ;_52
|
||||||
price_Parachute______ = 1100 ;_53
|
price_Lazy_Boy_______ = $ffff ;_53
|
||||||
price_Battery________ = $ffff ;_54
|
price_Parachute______ = 234 ;_54
|
||||||
price_Mag_Deflector__ = $ffff ;_55
|
price_StrongParachute = 1000 ;_55
|
||||||
price_Shield_________ = $ffff ;_56
|
price_Mag_Deflector__ = 245 ;_56
|
||||||
price_Force_Shield___ = $ffff ;_57
|
price_Shield_________ = 112 ;_57
|
||||||
price_Heavy_Shield___ = $ffff ;_58
|
price_Force_Shield___ = 268 ;_58
|
||||||
price_Super_Mag______ = $ffff ;_59
|
price_Heavy_Shield___ = 375 ;_59
|
||||||
price_Auto_Defense___ = $ffff ;_60
|
price_Super_Mag______ = $ffff ;_60
|
||||||
price_Fuel_Tank______ = $ffff ;_61
|
price_Auto_Defense___ = 512 ;_61
|
||||||
price_Contact_Trigger = $ffff ;_62
|
price_Fuel_Tank______ = $ffff ;_62
|
||||||
price______________63 = $ffff
|
price_Nuclear_Winter_ = 1000 ;_63
|
||||||
|
;Weapon indexes (numbers)
|
||||||
|
ind_Baby_Missile___ = 0
|
||||||
|
ind_Missile________ = 1
|
||||||
|
ind_Baby_Nuke______ = 2
|
||||||
|
ind_Nuke___________ = 3
|
||||||
|
ind_LeapFrog_______ = 4
|
||||||
|
ind_Funky_Bomb_____ = 5
|
||||||
|
ind_MIRV___________ = 6
|
||||||
|
ind_Death_s_Head___ = 7
|
||||||
|
ind_Napalm_________ = 8
|
||||||
|
ind_Hot_Napalm_____ = 9
|
||||||
|
ind_Tracer_________ = 10
|
||||||
|
ind_Smoke_Tracer___ = 11
|
||||||
|
ind_Baby_Roller____ = 12
|
||||||
|
ind_Roller_________ = 13
|
||||||
|
ind_Heavy_Roller___ = 14
|
||||||
|
ind_Riot_Charge____ = 15
|
||||||
|
ind_Riot_Blast_____ = 16
|
||||||
|
ind_Riot_Bomb______ = 17
|
||||||
|
ind_Heavy_Riot_Bomb = 18
|
||||||
|
ind_Baby_Digger____ = 19
|
||||||
|
ind_Digger_________ = 20
|
||||||
|
ind_Heavy_Digger___ = 21
|
||||||
|
ind_Baby_Sandhog___ = 22
|
||||||
|
ind_Sandhog________ = 23
|
||||||
|
ind_Heavy_Sandhog__ = 24
|
||||||
|
ind_Dirt_Clod______ = 25
|
||||||
|
ind_Dirt_Ball______ = 26
|
||||||
|
ind_Ton_of_Dirt____ = 27
|
||||||
|
ind_Liquid_Dirt____ = 28
|
||||||
|
ind_Dirt_Charge____ = 29
|
||||||
|
ind_Earth_Disrupter = 30
|
||||||
|
ind_Plasma_Blast___ = 31
|
||||||
|
ind_Laser__________ = 32
|
||||||
|
ind______________33 = 0
|
||||||
|
ind______________34 = 0
|
||||||
|
ind______________35 = 0
|
||||||
|
ind______________36 = 0
|
||||||
|
ind______________37 = 0
|
||||||
|
ind______________38 = 0
|
||||||
|
ind______________39 = 0
|
||||||
|
ind______________40 = 0
|
||||||
|
ind______________41 = 0
|
||||||
|
ind______________42 = 0
|
||||||
|
ind______________43 = 0
|
||||||
|
ind______________44 = 0
|
||||||
|
ind______________45 = 0
|
||||||
|
ind______________46 = 0
|
||||||
|
ind______________47 = 0
|
||||||
|
ind_White_Flag_____ = 48
|
||||||
|
ind_Battery________ = 49
|
||||||
|
ind_Bal_Guidance___ = 50
|
||||||
|
ind_Horz_Guidance__ = 51
|
||||||
|
ind_Vert_Guidance__ = 52
|
||||||
|
ind_Lazy_Boy_______ = 53
|
||||||
|
ind_Parachute______ = 54
|
||||||
|
ind_StrongParachute = 55
|
||||||
|
ind_Mag_Deflector__ = 56
|
||||||
|
ind_Shield_________ = 57
|
||||||
|
ind_Force_Shield___ = 58
|
||||||
|
ind_Heavy_Shield___ = 59
|
||||||
|
ind_Super_Mag______ = 60
|
||||||
|
ind_Auto_Defense___ = 61
|
||||||
|
ind_Fuel_Tank______ = 62
|
||||||
|
ind_Nuclear_Winter_ = 63
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; names of RMT instruments (sfx)
|
; names of RMT instruments (sfx)
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
sfx_set_power_1 = $00
|
sfx_set_power_1 = $00 ;A
|
||||||
sfx_set_power_2 = $01
|
sfx_set_power_2 = $01 ;b
|
||||||
sfx_lightning = $02
|
sfx_lightning = $02 ;c
|
||||||
sfx_dunno = $03
|
sfx_dunno = $03 ;d
|
||||||
sfx_nuke = $04
|
sfx_nuke = $04 ;e
|
||||||
sfx_baby_missile= $05
|
sfx_baby_missile= $05 ;f
|
||||||
sfx_death_begin = $06
|
sfx_death_begin = $06 ;g
|
||||||
sfx_plasma_1_2 = $07
|
sfx_plasma_1_2 = $07 ;h
|
||||||
sfx_plasma_2_2 = $08
|
sfx_plasma_2_2 = $08 ;i
|
||||||
sfx_napalm = $09
|
sfx_napalm = $09 ;j
|
||||||
sfx_dirt_charge = $0a
|
sfx_dirt_charge = $0a ;k
|
||||||
sfx_missile_hit = $0b
|
sfx_missile_hit = $0b ;l
|
||||||
sfx_funky_hit = $0c
|
sfx_funky_hit = $0c ;m
|
||||||
sfx_shield_on = $0d
|
sfx_shield_on = $0d ;n
|
||||||
sfx_shield_off = $0e
|
sfx_shield_off = $0e ;o
|
||||||
sfx_parachute = $0f
|
sfx_parachute = $0f ;p
|
||||||
sfx_smoke_cloud = $10
|
sfx_smoke_cloud = $10 ;q
|
||||||
sfx_riot_blast = $11
|
sfx_riot_blast = $11 ;r
|
||||||
sfx_sandhog = $12
|
sfx_sandhog = $12 ;s
|
||||||
sfx_dirt_chrg_s = $13
|
sfx_dirt_chrg_s = $13 ;t
|
||||||
sfx_digger = $14
|
sfx_digger = $14 ;u
|
||||||
sfx_silencer = $15
|
sfx_silencer = $15 ;v
|
||||||
sfx_next_player = $16
|
sfx_next_player = $16 ;w
|
||||||
sfx_purchase = $17
|
sfx_purchase = $17 ;x
|
||||||
sfx_keyclick = $18
|
sfx_keyclick = $18 ;y
|
||||||
sfx_shoot = $19
|
sfx_shoot = $19 ;z
|
||||||
sfx_seppuku = $1a
|
sfx_seppuku = $1a ;1
|
||||||
sfx_liquid_dirt = $1b
|
sfx_liquid_dirt = $1b ;2
|
||||||
|
sfx_battery = $1c ;3
|
||||||
|
sfx_white_flag = $1d ;4
|
||||||
|
;--------------------------------
|
||||||
|
; RMT songs (lines)
|
||||||
|
;--------------------------------
|
||||||
|
song_silencio = $00
|
||||||
|
song_end_round = $02
|
||||||
|
song_ingame = $06
|
||||||
|
song_game_over = $0b
|
||||||
|
|||||||
Executable → Regular
+18
-10
@@ -40,8 +40,8 @@ NameDL
|
|||||||
.byte $42
|
.byte $42
|
||||||
.word NameScreen
|
.word NameScreen
|
||||||
.byte $30
|
.byte $30
|
||||||
.byte $02,$30,$2
|
.byte $02,$30+$80,$02
|
||||||
.byte $10,2,2,2,$30,2,2
|
.byte $10,$02,$02,$02,$30,$02,$02
|
||||||
.byte $41
|
.byte $41
|
||||||
.word NameDL
|
.word NameDL
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
@@ -104,7 +104,7 @@ OptionsScreen
|
|||||||
OptionsHere
|
OptionsHere
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
dta d"Players : 2 3 4 5 6 "
|
dta d"Players : 2 3 4 5 6 "
|
||||||
dta d"Cash : none 2K 5K 8K 10K "
|
dta d"Cash : none 2K 8K 12K 20K "
|
||||||
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
||||||
dta d"Wind : 1B 3B 5B 7B 9B "
|
dta d"Wind : 1B 3B 5B 7B 9B "
|
||||||
dta d"Rounds : 10 20 30 40 50 "
|
dta d"Rounds : 10 20 30 40 50 "
|
||||||
@@ -136,13 +136,15 @@ WeaponsDescription
|
|||||||
dta d" - Defensive/Offensive weapon "
|
dta d" - Defensive/Offensive weapon "
|
||||||
dta d" "
|
dta d" "
|
||||||
dta d"Space"*
|
dta d"Space"*
|
||||||
dta d" - Purchase "
|
dta d" - "
|
||||||
|
purchaseActivate
|
||||||
|
dta d"Purchase "
|
||||||
dta d"Return"*
|
dta d"Return"*
|
||||||
dta d" - Finish "
|
dta d" - Finish "
|
||||||
EmptyLine
|
EmptyLine
|
||||||
dta d" "
|
dta d" "
|
||||||
LastLine
|
LastLine
|
||||||
:40 dta $ff
|
:40 dta $00
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||||
NameScreen
|
NameScreen
|
||||||
@@ -154,7 +156,7 @@ NameAdr
|
|||||||
dta d" "
|
dta d" "
|
||||||
NamesOfLevels
|
NamesOfLevels
|
||||||
dta d" HUMAN Moron Shooter "
|
dta d" HUMAN Moron Shooter "
|
||||||
dta d" Poolshark Toosser Chooser "
|
dta d" Poolshark Tosser Chooser "
|
||||||
dta d" Spoiler Cyborg Unknown "
|
dta d" Spoiler Cyborg Unknown "
|
||||||
dta d" "
|
dta d" "
|
||||||
dta d"Tab"*
|
dta d"Tab"*
|
||||||
@@ -166,11 +168,17 @@ NamesOfLevels
|
|||||||
textbuffer
|
textbuffer
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
dta d"Player: "
|
dta d"Player: "
|
||||||
dta d"Energy: 99 Angle: <99> Force: 9999 "
|
dta d"Energy: Angle: Force: "
|
||||||
dta d" Round: 99 Wind: <99> "
|
dta d"Round: Wind: "
|
||||||
textbuffer2
|
textbuffer2
|
||||||
dta d"Player: ******** Cash: 99990 "
|
dta d"Player: Cash: 0 " ; ZERO TO MAKE YOU RICHER ON THE SCREEN
|
||||||
dta d"----------------------------------------"
|
dta d"----------------------------------------"
|
||||||
|
;---------------------------------------------------
|
||||||
|
activateText
|
||||||
|
dta d"Activate"
|
||||||
|
activateTextEnd
|
||||||
|
purchaseText
|
||||||
|
dta d"Purchase"
|
||||||
|
purchaseTextEnd
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|||||||
Executable → Regular
+413
-275
File diff suppressed because it is too large
Load Diff
@@ -147,6 +147,7 @@ NMIST = $D40F ; rejestr statusu przerwa� NMI
|
|||||||
;-------------------------------------
|
;-------------------------------------
|
||||||
;additional system variables
|
;additional system variables
|
||||||
;-------------------------------------
|
;-------------------------------------
|
||||||
|
ATRACT = $004D
|
||||||
COLPM0S = $02C0 ;- - shadow register COLPM0
|
COLPM0S = $02C0 ;- - shadow register COLPM0
|
||||||
COLPM1S = $02C1 ;- - shadow register COLPM1
|
COLPM1S = $02C1 ;- - shadow register COLPM1
|
||||||
COLPM2S = $02C2 ;- - shadow register COLPM2
|
COLPM2S = $02C2 ;- - shadow register COLPM2
|
||||||
|
|||||||
@@ -76,6 +76,9 @@
|
|||||||
.MACRO WAIT
|
.MACRO WAIT
|
||||||
; WAIT
|
; WAIT
|
||||||
; waits one frame (1/50 s(PAL) or 1/60s(NTSC))
|
; waits one frame (1/50 s(PAL) or 1/60s(NTSC))
|
||||||
|
lda CONSOL
|
||||||
|
cmp #6 ; START KEY
|
||||||
|
beq ?nowait
|
||||||
LDA VCOUNT
|
LDA VCOUNT
|
||||||
ldy vcount
|
ldy vcount
|
||||||
?WA cpy VCOUNT
|
?WA cpy VCOUNT
|
||||||
@@ -83,6 +86,7 @@
|
|||||||
?wframe
|
?wframe
|
||||||
cmp vcount
|
cmp vcount
|
||||||
bne ?wframe
|
bne ?wframe
|
||||||
|
?nowait
|
||||||
.ENDM
|
.ENDM
|
||||||
;-------------------------------------
|
;-------------------------------------
|
||||||
.macro negw
|
.macro negw
|
||||||
|
|||||||
+388
-257
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
Executable → Regular
+589
-289
File diff suppressed because it is too large
Load Diff
Executable → Regular
+81
-68
@@ -8,31 +8,33 @@
|
|||||||
; compilation to e.g. cartridge
|
; compilation to e.g. cartridge
|
||||||
; zero page variables are declared in program.s65 module
|
; zero page variables are declared in program.s65 module
|
||||||
;=====================================================
|
;=====================================================
|
||||||
;--------------------------------------------------
|
|
||||||
;Variables
|
|
||||||
;--------------
|
|
||||||
TanksNames ; DO NOT ZERO - ticket #24
|
TanksNames ; DO NOT ZERO - ticket #24
|
||||||
:6 dta d" "
|
:6 dta d" "
|
||||||
;----------------------------
|
;----------------------------------------------------
|
||||||
;Options DO NOT ZERO - ticket #27
|
;Options DO NOT ZERO - ticket #27
|
||||||
OptionsTable .by 0,0,2,2,0,1,4
|
OptionsTable .by 0,0,2,2,0,1,3
|
||||||
RoundsInTheGame .by 10 ;how many rounds in the current game
|
RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||||
seppukuVal .by 75
|
seppukuVal .by 75
|
||||||
;--------------------------------------------------
|
;----------------------------------------------------
|
||||||
skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30)
|
skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
noMusic .by 0 ; 0 - play music, $ff - do not play music
|
||||||
|
noSfx .by 0 ; 0 - play SFX, $ff - do not play SFX
|
||||||
; 4x4 text buffer
|
; 4x4 text buffer
|
||||||
ResultLineBuffer
|
ResultLineBuffer
|
||||||
dta d" "
|
dta d" ", $ff
|
||||||
.byte $ff
|
|
||||||
LineHeader1
|
LineHeader1
|
||||||
dta d"# ROUND: "
|
dta d"# ROUND: "
|
||||||
RoundNrDisplay
|
RoundNrDisplay
|
||||||
dta d" #"
|
dta d" #", $ff
|
||||||
.byte $ff
|
|
||||||
|
|
||||||
|
;=====================================================
|
||||||
variablesStart ; zeroing starts here
|
variablesStart ; zeroing starts here
|
||||||
|
;=====================================================
|
||||||
|
isInventory .ds 1 ; 0 - purchase, $ff - inventory
|
||||||
|
;--------------
|
||||||
|
drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V)
|
||||||
;--------------
|
;--------------
|
||||||
sfx_effect .ds 1
|
sfx_effect .ds 1
|
||||||
;--------------
|
;--------------
|
||||||
@@ -43,31 +45,33 @@ flyDelay .ds 1
|
|||||||
;--------------
|
;--------------
|
||||||
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
||||||
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
||||||
GameIsOver .DS 1 ; 1 - it was the last round in the game
|
GameIsOver .DS 1 ; 1 means it was the last round in the game
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
moneyH ;we place zero at the end of prices and money
|
moneyH ;we place zero at the end of prices and money
|
||||||
;and have range from 0 to 99990 (not too much)
|
;and have range from 0 to 99990 (not too much)
|
||||||
;money players have (maybe one more byte is needed?)
|
;money players have (maybe one more byte is needed?)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
moneyL
|
moneyL
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
gainH ;how much money player gets after the round
|
gainH ;how much money player gets after the round
|
||||||
;it is gathered during the round basing on energy
|
;it is gathered during the round basing on energy
|
||||||
;opponents loose after player's shoots
|
;opponents loose after player's shoots
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
gainL
|
gainL
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
looseH ;how much player looses after the round
|
looseH ;how much player looses after the round
|
||||||
;calculated from REAL energy loss
|
;calculated from REAL energy loss
|
||||||
;(not only to zero energy)
|
;(not only to zero energy)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
looseL
|
looseL
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
Energy
|
Energy
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
|
ShieldEnergy
|
||||||
|
.DS [MaxPlayers]
|
||||||
EnergyDecrease .DS 1
|
EnergyDecrease .DS 1
|
||||||
eXistenZ
|
eXistenZ
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
@@ -78,66 +82,67 @@ ResultsTable ;the results in the gameeeeee
|
|||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
TempResults
|
TempResults
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
CurrentResult
|
;----------------------------------------------------
|
||||||
.DS 1
|
ForceTableL ;shooting Force of the tank during the round
|
||||||
;-----------------------------------
|
|
||||||
EnergyTableL ;shooting Force of the tank during the round
|
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
EnergyTableH
|
ForceTableH
|
||||||
.DS [MaxPlayers] ;maxplayers=6
|
.DS [MaxPlayers] ;maxplayers=6
|
||||||
MaxEnergyTableL ;Energy of the tank during the round
|
MaxForceTableL ;Energy of the tank during the round
|
||||||
;(limes superior force of the Shoot)
|
;(limes superior force of the Shoot)
|
||||||
.DS [MaxPlayers] ;1000 is the default
|
.DS [MaxPlayers] ;1000 is the default
|
||||||
MaxEnergyTableH
|
MaxForceTableH
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
AngleTable ;Angle of the barrel of each tank during the round
|
AngleTable ;Angle of the barrel of each tank during the round
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
NewAngle .DS 1
|
NewAngle .DS 1
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
ActiveWeapon ;number of the selected weapon
|
ActiveWeapon ;number of the selected weapon
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
|
ActiveDefenceWeapon ;number of the activated defence weapon - 0
|
||||||
|
.DS [MaxPlayers]
|
||||||
WeaponDepleted .DS 1 ; if 0 deactivate the weapon and switch to Baby Missile
|
WeaponDepleted .DS 1 ; if 0 deactivate the weapon and switch to Baby Missile
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
;format of the 3-byte static point number used in the game
|
;format of the 3-byte static point number used in the game
|
||||||
; 20203.5 => 128 : <20203 : >20203
|
; 20203.5 => 128 : <20203 : >20203
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
L1 .DS 1 ; variable used in multiplications (by 10:)
|
L1 .DS 1 ; variable used in multiplications (by 10:)
|
||||||
gravity .DS 1 ;only the decimal part (1/10 = 25)
|
gravity .DS 1 ;only the decimal part (1/10 = 25)
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
Wind .ds 2 ;walue displayed on the screen
|
Wind .ds 4 ;format: 0000.hhll
|
||||||
;multiplied by 16 (decimal part only)
|
;walue displayed on the screen is
|
||||||
;-----------------------------------
|
;decimal portion divided by 16 (>>4)
|
||||||
|
;----------------------------------------------------
|
||||||
MaxWind .ds 1 ;
|
MaxWind .ds 1 ;
|
||||||
WindOrientation .DS 1 ;(0-right,1-left)
|
WindOrientation .DS 1 ;(0-right,1-left)
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
Counter .DS 1 ;temporary Counter for outside loops
|
Counter .DS 1 ;temporary Counter for outside loops
|
||||||
HitFlag .DS 1 ;1 when missile hit anything
|
HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
xtankstableL ;X positions of tanks (lower left point)
|
xtankstableL ;X positions of tanks (lower left point)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
xtankstableH
|
xtankstableH
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
ytankstable ;Y positions of tanks (lower left point)
|
ytankstable ;Y positions of tanks (lower left point)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
LowResDistances ; coarse stank positions divided by 4 (to be in just one byte)
|
LowResDistances ; coarse tank positions divided by 4 (to be in just one byte)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
Erase .DS 1 ; if 1 only mask of the character is printed
|
Erase .DS 1 ; if 1 only mask of the character is printed
|
||||||
; on the graphics screen. if 0 character is printed normally
|
; on the graphics screen. if 0 character is printed normally
|
||||||
|
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
RangeLeft .DS 2 ;range of the soil to be fallen down
|
RangeLeft .DS 2 ;range of the soil to be fallen down
|
||||||
RangeRight .DS 2 ;it is being set by all Explosions
|
RangeRight .DS 2 ;it is being set by all Explosions
|
||||||
;-----------------------------------
|
;----------------------------------------------------
|
||||||
WeaponRangeLeft .DS 2 ;Range of the Explosion of the given weapon
|
WeaponRangeLeft .DS 2 ;Range of the Explosion of the given weapon
|
||||||
WeaponRangeRight .DS 2
|
WeaponRangeRight .DS 2
|
||||||
;--------------------------------------------------
|
;----------------------------------------------------
|
||||||
;xroller
|
;xroller
|
||||||
HowMuchToFall .ds 1
|
HowMuchToFall .ds 1
|
||||||
HeightRol .DS 1
|
HeightRol .DS 1
|
||||||
@@ -152,13 +157,12 @@ digtabyL .DS [8]
|
|||||||
digtabyH .DS [8]
|
digtabyH .DS [8]
|
||||||
; liquiddirt
|
; liquiddirt
|
||||||
TempXfill .ds 2
|
TempXfill .ds 2
|
||||||
FillCounter .ds 1
|
FillCounter .ds 2
|
||||||
;sandhog
|
;sandhog
|
||||||
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
||||||
;ofdirt
|
;ofdirt
|
||||||
magic .DS 2 ; was tempor2, but it was not compiling!!! (bug in OMC65)
|
magic .DS 2 ; was tempor2, but it was not compiling!!! (bug in OMC65)
|
||||||
;draw
|
;draw
|
||||||
DrawJumpAddr .DS 2
|
|
||||||
HowToDraw .DS 1
|
HowToDraw .DS 1
|
||||||
; bits here mean
|
; bits here mean
|
||||||
; 0 - negative X (go up)
|
; 0 - negative X (go up)
|
||||||
@@ -171,14 +175,14 @@ LineLength .DS 2
|
|||||||
;circle
|
;circle
|
||||||
radius .DS 1
|
radius .DS 1
|
||||||
xcircle .DS 2
|
xcircle .DS 2
|
||||||
ycircle .DS 1
|
ycircle .DS 2
|
||||||
tempcir .DS 2
|
tempcir .DS 2
|
||||||
;TankFalls
|
;TankFalls
|
||||||
IfFallDown .DS 1
|
IfFallDown .DS 1
|
||||||
PreviousFall .DS 1
|
PreviousFall .DS 1
|
||||||
EndOfTheFallFlag .DS 1 ; in case of the infinite fall
|
EndOfTheFallFlag .DS 1 ; in case of the infinite fall
|
||||||
Parachute .DS 1 ; are you insured with parachute?
|
Parachute .DS 1 ; are you insured with parachute?
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
;Flight
|
;Flight
|
||||||
;variables for 5 missiles (used for mirv)
|
;variables for 5 missiles (used for mirv)
|
||||||
xtraj00 .DS [5] ; 3 bytes of xtraj times 5. Lowest byte
|
xtraj00 .DS [5] ; 3 bytes of xtraj times 5. Lowest byte
|
||||||
@@ -191,7 +195,9 @@ vx03 .DS [5]
|
|||||||
MirvDown .DS [5] ; is given missile down?
|
MirvDown .DS [5] ; is given missile down?
|
||||||
MirvMissileCounter .DS 1 ; missile Counter (mainly for X)
|
MirvMissileCounter .DS 1 ; missile Counter (mainly for X)
|
||||||
SmokeTracerFlag .DS 1 ; if Smoketracer
|
SmokeTracerFlag .DS 1 ; if Smoketracer
|
||||||
; -------------------------------------------------
|
XposFlag .DS 1 ; bullet positon X (0 - on screen , %1000000 - off-screen)
|
||||||
|
YposFlag .DS 1 ; bullet positon Y (0 - on screen , %1000000 - over the screen , %0100000 - under the screen)
|
||||||
|
;----------------------------------------------------
|
||||||
;CheckCollisionWithTank
|
;CheckCollisionWithTank
|
||||||
vx .ds 4 ; 0,0,0,0 ;two decimal bytes, two whole bytes (DC.BA)
|
vx .ds 4 ; 0,0,0,0 ;two decimal bytes, two whole bytes (DC.BA)
|
||||||
vy .ds 4 ;0,0,0,0
|
vy .ds 4 ;0,0,0,0
|
||||||
@@ -203,12 +209,11 @@ Angle .DS 1
|
|||||||
Force .ds 3 ; 0,0,0
|
Force .ds 3 ; 0,0,0
|
||||||
Multiplier .ds 3 ; 0,0,0
|
Multiplier .ds 3 ; 0,0,0
|
||||||
Multiplee .ds 2 ; 0,0
|
Multiplee .ds 2 ; 0,0
|
||||||
Result .ds 3 ; 0,0,0
|
|
||||||
goleft .DS 1 ;if 1 then flights left
|
goleft .DS 1 ;if 1 then flights left
|
||||||
;--------------------------------------------------
|
;----------------------------------------------------
|
||||||
;SoilDown2
|
;SoilDown2
|
||||||
IsEndOfTheFallFlag .DS 1
|
IsEndOfTheFallFlag .DS 1
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
;unPlot
|
;unPlot
|
||||||
WhichUnPlot .DS 1
|
WhichUnPlot .DS 1
|
||||||
; max 5 concurrent unPlots
|
; max 5 concurrent unPlots
|
||||||
@@ -222,7 +227,7 @@ xtrajfb .DS 2
|
|||||||
ytrajfb .DS 2
|
ytrajfb .DS 2
|
||||||
;
|
;
|
||||||
tracerflag .DS 1
|
tracerflag .DS 1
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
;TypeChar
|
;TypeChar
|
||||||
mask1 .DS [8]
|
mask1 .DS [8]
|
||||||
mask2 .DS [8]
|
mask2 .DS [8]
|
||||||
@@ -240,24 +245,22 @@ UpNdown .DS 1
|
|||||||
temptankX .DS 2
|
temptankX .DS 2
|
||||||
temptankNr .DS 1
|
temptankNr .DS 1
|
||||||
|
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
;Variables from textproc.s65
|
;Variables from textproc.s65
|
||||||
; tables with numbers of weapons on the right lists
|
; tables with indexes of weapons on the right lists
|
||||||
; to be honest - I do not know at the moment what the above
|
|
||||||
; comment was supposed to mean...
|
|
||||||
; OK (2022) so, L1 is list of offensive weapons, L2 - defensive
|
; OK (2022) so, L1 is list of offensive weapons, L2 - defensive
|
||||||
NubersOfWeaponsL1
|
IndexesOfWeaponsL1
|
||||||
.ds 8*5 ; :(8*5) .by $ff
|
.ds 8*5 ; max 40 offensive weapons. this is wrong, should be 48, still only 32 defined.
|
||||||
NubersOfWeaponsL2
|
IndexesOfWeaponsL2
|
||||||
.ds 8*2 ; :(8*2) .by $ff
|
.ds 8*2 ; max 16 defensive weapons.
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
; variables storing amount of weapons on the first and second
|
; variables storing amount of weapons on the first and second
|
||||||
; list and pointer position
|
; list and pointer position
|
||||||
|
|
||||||
HowManyOnTheList1
|
HowManyOnTheListOff
|
||||||
.DS 1
|
.DS 1
|
||||||
HowManyOnTheList2
|
HowManyOnTheListDef
|
||||||
.DS 1
|
.DS 1
|
||||||
PositionOnTheList ; pointer position on the list being displayed
|
PositionOnTheList ; pointer position on the list being displayed
|
||||||
.DS 1
|
.DS 1
|
||||||
@@ -273,14 +276,14 @@ WhichList ; list currently on the screen
|
|||||||
OffsetDL1 ; offset of the list screen (how many lines)....
|
OffsetDL1 ; offset of the list screen (how many lines)....
|
||||||
.DS 1
|
.DS 1
|
||||||
|
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
;mark the level
|
;mark the level
|
||||||
PositionInName ; cursor position in name of the player when name input
|
PositionInName ; cursor position in name of the player when name input
|
||||||
.DS 1
|
.DS 1
|
||||||
DifficultyLevel ; Difficulty Level (human/cpu)
|
DifficultyLevel ; Difficulty Level (human/cpu)
|
||||||
.DS 1
|
.DS 1
|
||||||
;-------------------------------------------------
|
;----------------------------------------------------
|
||||||
;displaydecimal
|
;displaydecimal
|
||||||
decimal .DS 2
|
decimal .DS 2
|
||||||
decimalresult .DS 4
|
decimalresult .DS 4
|
||||||
@@ -295,7 +298,7 @@ FallDown2 .DS 1
|
|||||||
LeapFrogAngle .DS 1
|
LeapFrogAngle .DS 1
|
||||||
;laser
|
;laser
|
||||||
LaserCoordinate .DS 8 ; 2,2,2,2
|
LaserCoordinate .DS 8 ; 2,2,2,2
|
||||||
; -------------------------------------------------
|
;----------------------------------------------------
|
||||||
; Here go tables with weapons possesed by a given tank
|
; Here go tables with weapons possesed by a given tank
|
||||||
; Index in the table means weapon type
|
; Index in the table means weapon type
|
||||||
; number entered means ammo for given weapon possessed (max 99)
|
; number entered means ammo for given weapon possessed (max 99)
|
||||||
@@ -322,7 +325,7 @@ mountaintable2 ;table of mountains (size=screenwidth)
|
|||||||
.DS [screenwidth]
|
.DS [screenwidth]
|
||||||
.DS 1 ; additional byte for fallout (sometimes 1 pixel)
|
.DS 1 ; additional byte for fallout (sometimes 1 pixel)
|
||||||
MountaintableEnd ;good for table clearing
|
MountaintableEnd ;good for table clearing
|
||||||
;----------------------------------------------
|
;----------------------------------------------------
|
||||||
TextPositionX .DS 2
|
TextPositionX .DS 2
|
||||||
TextPositionY .DS 1
|
TextPositionY .DS 1
|
||||||
TextAddress .DS 2
|
TextAddress .DS 2
|
||||||
@@ -331,7 +334,16 @@ TextNumberOff .DS 1
|
|||||||
;--------------
|
;--------------
|
||||||
TankTempY
|
TankTempY
|
||||||
.DS 1
|
.DS 1
|
||||||
|
;----------------------------------------------------
|
||||||
;-------------- single round variables --------------
|
;-------------- single round variables --------------
|
||||||
|
;----------------------------------------------------
|
||||||
|
singleRoundVars
|
||||||
|
;--------------
|
||||||
|
escFlag .ds 1
|
||||||
|
;--------------
|
||||||
|
CurrentResult
|
||||||
|
.DS 1
|
||||||
|
;--------------
|
||||||
previousAngle
|
previousAngle
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
previousEnergyL
|
previousEnergyL
|
||||||
@@ -349,9 +361,9 @@ RandBoundaryHigh
|
|||||||
AngleTablePointer
|
AngleTablePointer
|
||||||
.DS 1
|
.DS 1
|
||||||
singleRoundVarsEnd
|
singleRoundVarsEnd
|
||||||
;----------------------------------------------
|
;----------------------------------------------------
|
||||||
; 4x4 texts
|
; 4x4 texts
|
||||||
;----------------------------------------------
|
;----------------------------------------------------
|
||||||
LineAddress4x4
|
LineAddress4x4
|
||||||
.DS 2
|
.DS 2
|
||||||
LineCharNr
|
LineCharNr
|
||||||
@@ -369,8 +381,9 @@ ResultY
|
|||||||
ResultOfTankNr
|
ResultOfTankNr
|
||||||
.DS 1
|
.DS 1
|
||||||
|
|
||||||
;----------------------------
|
;----------------------------------------------------
|
||||||
;PutChar4x4
|
;PutChar4x4
|
||||||
|
;----------------------------------------------------
|
||||||
LoopCounter4x4 .DS 1
|
LoopCounter4x4 .DS 1
|
||||||
y4x4 .DS 1
|
y4x4 .DS 1
|
||||||
StoreA4x4 .DS 1
|
StoreA4x4 .DS 1
|
||||||
@@ -382,6 +395,6 @@ plot4x4color .DS 1 ;1-white, 0-background
|
|||||||
|
|
||||||
|
|
||||||
variablesEnd
|
variablesEnd
|
||||||
;----------------------------
|
;----------------------------------------------------
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|||||||
Executable → Regular
+662
-406
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user