diff --git a/constants.asm b/constants.asm index 65a464d..22cab8a 100644 --- a/constants.asm +++ b/constants.asm @@ -899,7 +899,7 @@ DefensiveEnergy = * - 48 .by 00 ; Fuel Tank .by 00 ; Contact Trigger weaponsOfDeath - dta 1,2,3,7,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 ; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15 diff --git a/grafproc.asm b/grafproc.asm index d57f6ec..c6e78ca 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1451,7 +1451,7 @@ EndPutChar ; ------------------------------------------ .proc PutChar4x4 ; puts 4x4 pixels char on the graphics screen -; in: xdraw, ydraw (LOWER left corner of the char) +; in: dx, dy (LOWER left corner of the char) ; in: CharCode4x4 (.sbyte) ; in: plot4x4color (0/1) ; all pixels are being drawn @@ -1505,7 +1505,7 @@ GetUpper4bits bpl CopyChar ; calculating coordinates from xdraw and ydraw - mwa xdraw xbyte + mwa dx xbyte lda xbyte and #$7 @@ -1516,7 +1516,7 @@ GetUpper4bits rorw xbyte ;--- ldy xbyte - lda ydraw ; y = y - 3 because left lower. + lda dy ; y = y - 3 because left lower. sec sbc #3 tax diff --git a/scorch.asm b/scorch.asm index 5341231..f4b3fb8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -427,6 +427,10 @@ AfterManualShooting ShootNow jsr Shoot + ;here we clear offensive text (after a shoot) + ldy TankNr + mva #0 plot4x4color + jsr DisplayOffensiveTextNr lda HitFlag ;0 if missed beq missed @@ -438,9 +442,9 @@ ShootNow continueMainRoundLoopAfterSeppuku ;here we clear offensive text (after a shoot) - ldy TankNr - mva #0 plot4x4color - jsr DisplayOffensiveTextNr + ;ldy TankNr + ;mva #0 plot4x4color + ;jsr DisplayOffensiveTextNr AfterExplode diff --git a/scorch.xex b/scorch.xex index 968ab5f..92e363e 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index ec07503..29881f5 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1305,6 +1305,8 @@ space dta d" " ;that's easy because we have number of tank ;and xtankstableL and H keep X position of a given tank + ;save vars (messed when printing...) + lda xtankstableL,y sta temp lda xtankstableH,y @@ -1425,12 +1427,12 @@ DOTNcharloop asl clc adc TextPositionX - sta Xdraw + sta dx lda #0 adc TextPositionX+1 - sta Xdraw+1 + sta dx+1 lda TextPositionY - sta ydraw + sta dy jsr PutChar4x4 inc TextCounter @@ -1448,6 +1450,7 @@ DOTNcharloop ;address in LineAddress4x4 ;starting from LineXdraw, LineYdraw + ldy #0 sty LineCharNr @@ -1460,8 +1463,8 @@ TypeLine4x4Loop beq EndOfTypeLine4x4 sta CharCode4x4 - mwa LineXdraw Xdraw - mva LineYdraw Ydraw + mwa LineXdraw dx + mva LineYdraw dy mva #1 plot4x4color jsr PutChar4x4 ;type empty pixels as well! adw LineXdraw #4 @@ -1477,10 +1480,6 @@ EndOfTypeLine4x4 .proc AreYouSure ;using 4x4 font - ;save vars (messed in TypeLine4x4) - mwa Xdraw xk - mva Ydraw yc - mva #4 ResultY ; where seppuku text starts Y-wise on the screen ;top frame @@ -1510,7 +1509,7 @@ EndOfTypeLine4x4 skip01 ;clean - mva #3 dx + mva #3 di mva #4 ResultY @ mva #1 plot4x4color @@ -1520,23 +1519,16 @@ skip01 jsr TypeLine4x4 adb ResultY #4 ;next line - dec dx + dec di bne @- - quit_areyousure - ;restore vars - mva yc Ydraw - mwa xk Xdraw rts .endp ;-------------------------------- .proc DisplaySeppuku ;using 4x4 font - ;save vars (messed in TypeLine4x4) - mwa Xdraw xk - mva Ydraw yc mva #20 fs ; temp, how many times blink the billboard seppuku_loop @@ -1564,7 +1556,7 @@ seppuku_loop ;clean seppuku - mva #3 dx + mva #3 di mva #4 ResultY @ mwa #lineClear LineAddress4x4 @@ -1573,16 +1565,13 @@ seppuku_loop jsr TypeLine4x4 adb ResultY #4 ;next line - dec dx + dec di bne @- dec fs jne seppuku_loop quit_seppuku - ;restore vars - mva yc Ydraw - mwa xk Xdraw rts .endp ;-------------------------------- diff --git a/weapons.asm b/weapons.asm index 47c428b..1f72fc4 100644 --- a/weapons.asm +++ b/weapons.asm @@ -102,14 +102,7 @@ VOID jsr xmissile ; soil must fall down now! there is no other way... - - ;first clean the offensive text... - ldy TankNr - mva #0 plot4x4color - jsr DisplayOffensiveTextNr - ; hide tanks or they fall down with soil - lda TankNr pha mva #1 Erase @@ -186,10 +179,6 @@ EndOfLeapping mva #21 ExplosionRadius jsr CalculateExplosionRange0 jsr xmissile - - ldy TankNr - mva #0 plot4x4color - jsr DisplayOffensiveTextNr lda TankNr pha @@ -1832,8 +1821,6 @@ EndOfFlight jsr unPlot mwa xcircle xdraw mwa ycircle ydraw -; mwa XHit xdraw -; mva YHit ydraw ldy SmokeTracerFlag beq EndOfFlight2