diff --git a/constants.asm b/constants.asm index 854b04b..8c14262 100644 --- a/constants.asm +++ b/constants.asm @@ -32,9 +32,13 @@ LevelNameBeginH .by >(NamesOfLevels+64),>(NamesOfLevels+74),>(NamesOfLevels+84) ;-------------- TanksWeaponsTableL - .by TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 + .REPT MaxPlayers, #+1 + .by >TanksWeapon:1 + .ENDR ;-------------- XtankOffsetGO_L .by 6,56,106,156,206,0 @@ -202,7 +206,9 @@ disktance ;tanks distance .by screenwidth/5 .by screenwidth/6 .by screenwidth/7 - ;max number of players=6 + .by screenwidth/8 + .by screenwidth/9 + ;max number of players=8 :) ; this table is for deciding where a tank should slide ; accordingly to what is below the tank @@ -221,10 +227,9 @@ SlideLeftTableLen = *-SlideLeftTable TanksNamesDefault dta d"1st.Tank" dta d"2nd.Tank" - dta d"3rd.Tank" - dta d"4th.Tank" - dta d"5th.Tank" - dta d"6th.Tank" +.REPT MaxPlayers-2, #+3 + dta d":1rd.Tank" +.ENDR ;------------------------------------------------- TankShapesTable .BYTE char_tank1___________ .BYTE char_tank2___________ diff --git a/game.asm b/game.asm index a48d2a2..7b3a508 100644 --- a/game.asm +++ b/game.asm @@ -783,12 +783,10 @@ B0 dey cpx #ind_White_Flag_____ ; White Flag bne no99 set99 lda #99 -no99 sta TanksWeapon1,x - sta TanksWeapon2,x - sta TanksWeapon3,x - sta TanksWeapon4,x - sta TanksWeapon5,x - sta TanksWeapon6,x +no99 + .REPT MaxPlayers, #+1 + sta TanksWeapon:1,x + .ENDR dex beq set99 ; Baby Missile (index=0) bpl @- diff --git a/scorch.bin b/scorch.bin index 698c2d3..dce86c5 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 6d8d41f..2dc8458 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/scorchC64.prg b/scorchC64.prg index 8d73a66..a02c5ec 100644 Binary files a/scorchC64.prg and b/scorchC64.prg differ diff --git a/variables.asm b/variables.asm index 933ad6d..209793e 100644 --- a/variables.asm +++ b/variables.asm @@ -23,7 +23,7 @@ GameOverColoursTable .ds MaxPlayers; .BYTE $80,$40,$c4,$20,$c0,$e4 ;---------------------------------------------------- TanksNames ; DO NOT ZERO ON GAME RESTART - ticket #24 ;:6 dta d" " - .ds 6*8 + .ds MaxPlayers*8 ;---------------------------------------------------- skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30) .DS MaxPlayers @@ -341,19 +341,10 @@ LaserCoordinate .DS 8 ; 2,2,2,2 ; Let 0 be "baby missile" ; from $30 the defensive weapons begin TanksWeapons -TanksWeapon1 +.REPT MaxPlayers, #+1 +TanksWeapon:1 .DS number_of_weapons -TanksWeapon2 - .DS number_of_weapons -TanksWeapon3 - .DS number_of_weapons -TanksWeapon4 - .DS number_of_weapons -TanksWeapon5 - .DS number_of_weapons -TanksWeapon6 - .DS number_of_weapons - +.ENDR mountaintable ;table of mountains (size=screenwidth) .DS [screenwidth] .DS 1 ; additional byte for fallout (sometimes 1 pixel)