diff --git a/constants.asm b/constants.asm index c9972fe..2b9874f 100644 --- a/constants.asm +++ b/constants.asm @@ -228,7 +228,8 @@ TanksNamesDefault dta d"4th.Tank" dta d"5th.Tank" dta d"6th.Tank" - +CheatName + dta d" 008.T" WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Baby_Missile___ .by >price_Missile________ diff --git a/scorch.asm b/scorch.asm index c7effa3..7a9cc8f 100644 --- a/scorch.asm +++ b/scorch.asm @@ -15,7 +15,7 @@ ;--------------------------------------------------- .macro build - dta d"1.19" ; number of this build (4 bytes) + dta d"1.20" ; number of this build (4 bytes) .endm .macro RMTSong @@ -1909,7 +1909,9 @@ font4x4 ;---------------------------------------------- ;RMT PLAYER and song loading shenaningans icl 'artwork/sfx/rmtplayr_modified.asm' +;---------------------------------------------- .IF * > MODUL-1 + .ECHO * .ERROR 'Code and data too long' .ENDIF .ECHO "Bytes left: ",$b000-* diff --git a/scorch.bin b/scorch.bin index dd0e065..928e251 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 233331c..1e4afa0 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 6a06c05..5361795 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1088,6 +1088,7 @@ NoArrowDown jsr EnterPlayerName bit escFlag spl:rts + jsr CheckTankCheat inc TankNr lda TankNr cmp NumberOfPlayers @@ -2357,6 +2358,9 @@ EndOfCredits ;displaying name of the defence weapon (if active) ;--------------------- lda AutoDefenseFlag,x ; Auto Defense symbol (space or "A" in inverse) + bpl @+ + lda #$5e ; Auto Defense symbol +@ sta statusBuffer+80+21 lda #$08 ; ( sta statusBuffer+80+22 @@ -2518,7 +2522,7 @@ AngleDisplay .proc PutTankNameOnScreen ; puts name of the tank on the screen ldy #$00 - lda tanknr + lda TankNr asl asl asl ; 8 chars per name @@ -2533,6 +2537,36 @@ NextChar02 rts .endp ;------------------------------------------------- +.proc CheckTankCheat +; puts name of the tank on the screen + ldy #$07 + lda TankNr + asl + asl + asl ; 8 chars per name + tax +@ + lda tanksnames,x + cmp CheatName,y + bne NoCheat + inx + dey + bpl @- +YesCheat + ldx TankNr + lda TanksWeaponsTableL,x + sta temp + lda TanksWeaponsTableH,x + sta temp+1 + lda #99 +@ iny + sta (temp),y + cpy #(last_defensive_____ - first_offensive____) + bne @- +NoCheat + rts +.endp +;------------------------------------------------- .proc RoundOverSprites ; fill sprites with bytes ldy numberOfPlayers