diff --git a/scorch.asm b/scorch.asm index 0fe91c6..883a710 100644 --- a/scorch.asm +++ b/scorch.asm @@ -307,12 +307,13 @@ SettingEnergies ;jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height jsr SetMainScreen + jsr ColorsOfSprites jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks mva #0 TankSequencePointer -;--------------------round screen is ready--------- +;---------round screen is ready--------- rts .endp @@ -787,6 +788,20 @@ NotNegativeShieldEnergy :8 sta hposp0+# rts .endp +;-------------------------------------------------- +.proc ColorsOfSprites + lda TankColoursTable ; colours of sprites under tanks + sta COLPM0S + lda TankColoursTable+1 + sta COLPM1S + lda TankColoursTable+2 + sta COLPM2S + lda TankColoursTable+3 + sta COLPM3S + LDA TankColoursTable+4 + STA COLPF3S ; joined missiles (5th tank) + rts +.endp ;-------------------------------------------------- .proc WeaponCleanup; @@ -873,18 +888,7 @@ SetunPlots lda #$10 ; P/M priorities (bit 4 joins missiles) sta gtictls jsr PMoutofScreen - lda TankColoursTable ; temporary colours of sprites under tanks - sta COLPM0S - lda TankColoursTable+1 - sta COLPM1S - lda TankColoursTable+2 - sta COLPM2S - lda TankColoursTable+3 - sta COLPM3S - LDA TankColoursTable+4 - STA COLPF3S ; joined missiles (5th tank) - mva #0 hscrol - + jsr ColorsOfSprites ;let the tanks be visible! ldx #(maxPlayers-1) @@ -920,7 +924,7 @@ ClearResults rts .endp - +;-------------------------------------------------- .proc DLIinterruptGraph ;sta dliA ;sty dliY @@ -941,7 +945,7 @@ ClearResults pla rti .endp - +;-------------------------------------------------- .proc DLIinterruptText ;sta dliA pha @@ -953,7 +957,7 @@ ClearResults DLIinterruptNone rti .endp - +;-------------------------------------------------- .proc VBLinterrupt pha phx @@ -1007,9 +1011,7 @@ exitVBL bne @- rts .endp - - - +;-------------------------------------------------- .proc RandomizeSequence ; in: NumberOfPlayers ; out: TankSequence @@ -1127,7 +1129,6 @@ LimitForce rts .endp - ;---------------------------------------------- .proc MoveBarrelToNewPosition jsr DrawTankNr @@ -1161,7 +1162,7 @@ rotateLeft BarrelPositionIsFine rts - .endp +.endp ;---------------------------------------------- .proc SortSequence ; @@ -1291,9 +1292,8 @@ notpressedJoyGetKey getkeyend mvx #sfx_keyclick sfx_effect rts - - .endp + ;-------------------------------------------------- .proc getkeynowait ;-------------------------------------------------- @@ -1302,6 +1302,7 @@ getkeyend and #$3f ;CTRL and SHIFT ellimination rts .endp + ;-------------------------------------------------- .proc WaitForKeyRelease ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 5e6e66c..0efc4fd 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index cfd0055..8b79b17 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1602,6 +1602,8 @@ quit_seppuku .proc DisplayResults ; ;displays results of the round ;using 4x4 font + jsr RoundOverSprites + mva #1 plot4x4color @@ -1634,7 +1636,6 @@ quit_seppuku GameOver4x4 lda #song_game_over jsr RmtSongSelect - jsr GameOverSprites mwa #LineGameOver LineAddress4x4 mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw @@ -1991,7 +1992,7 @@ NextChar02 rts .endp ;------------------------------------------------- -.proc GameOverSprites +.proc RoundOverSprites ; fill sprites with bytes ldy numberOfPlayers dey