diff --git a/display_main_menu.asm b/display_main_menu.asm index c0f923d..11056f8 100644 --- a/display_main_menu.asm +++ b/display_main_menu.asm @@ -29,7 +29,7 @@ OptionsScreenEnd ;----------------------------------------------- NameScreen2 - dta d" Tank 1 * 1 Name:" + dta d" Tank 1 * 1/1 Name:" NameAdr dta d" " NameScreen4 diff --git a/grafproc.asm b/grafproc.asm index ff18d03..21bf6d6 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -638,8 +638,10 @@ No6thTankHide jmp DoNotDrawTankNr SkipHidingPM - + lda TankShape,x + tax ldy TankShapesTable,x + ldx TankNr lda AngleTable,x cmp #91 ; left or right tank shape bcs LeftTank diff --git a/scorch.asm b/scorch.asm index c4d5d62..c8565ed 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1109,6 +1109,15 @@ deletePtr = temp cpw deletePtr #variablesEnd bne @- + ; ser initial shapes for each tank (tanks 0-5 has shape 0 now) + ldy #1 + sty TankShape+1 + sty TankShape+4 + iny + sty TankShape+2 + sty TankShape+5 + + mwa #1024 RandBoundaryHigh mva #$ff LastWeapon sta HowMuchToFall diff --git a/scorch.bin b/scorch.bin index cabb737..804cd64 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 7d1c941..5086e8d 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 1f23598..8c72510 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1162,9 +1162,13 @@ LastNameChar CheckKeys ldx TankNr lda JoyNumber,x - tax - lda digits+1,x - sta NameScreen2+12 + tay + lda digits+1,y + sta NameScreen2+12 ; display joystick port number + lda TankShape,x + tay + lda digits+1,y + sta NameScreen2+14 ; display tank shape number jsr CursorDisplay jsr getkey bit escFlag @@ -1223,13 +1227,16 @@ FirstChar lda #0 sta NameAdr,x jmp CheckKeys +;---- ChangeOfJoyUp ldx TankNr inc JoyNumber,x lda JoyNumber,x and #%00000011 ; max 4 joysticks sta JoyNumber,x + beq ChangeOfShapeUp ; change tank shape jmp CheckKeys +;---- ChangeOfLevelUp ; change difficulty level of computer opponent inc:lda DifficultyLevel cmp #9 ; 9 levels are possible @@ -1267,6 +1274,16 @@ ChangeOfLevel3Down jsr HighlightLevel jmp CheckKeys ;---- +ChangeOfShapeUp + ldx TankNr + inc TankShape,x + lda TankShape,x + cmp #$03 + bne @+ + lda #$00 + sta TankShape,x +@ jmp CheckKeys +;---- EndOfNick ; now check long press joy button (or Return...) mva #0 pressTimer ; reset diff --git a/variables.asm b/variables.asm index df02f59..4abdf3c 100644 --- a/variables.asm +++ b/variables.asm @@ -159,7 +159,9 @@ ytankstable ;Y positions of tanks (lower left point) .DS MaxPlayers LowResDistances ; coarse tank positions divided by 4 (to be in just one byte) .DS MaxPlayers -JoyNumber ; Joystick port number (from 0 to 3 or 1) +JoyNumber ; Joystick port number (from 0 to 3) + .DS MaxPlayers +TankShape ; Tank shape number (from 0 to 2) .DS MaxPlayers ;---------------------------------------------------- TargetTankNr ; Target tank index (for AI routines)