diff --git a/artwork/talk.asm b/artwork/talk.asm index e109976..e620fb6 100644 --- a/artwork/talk.asm +++ b/artwork/talk.asm @@ -21,6 +21,7 @@ dta d"TAKE A HIKE!"^ dta d"MAKE MY DAY."^ dta d"KNOCK, KNOCK."^ +; end of Propaganda :) dta d"FROM HELL'S HEART I STAB AT THEE..."^ dta d"DO YOU FEEL LUCKY, TANK?"^ dta d"YOU'RE OUTTA HERE."^ diff --git a/grafproc.asm b/grafproc.asm index 5873c7a..4d87b54 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1648,7 +1648,12 @@ notZero sta temp lda xtankstableH,y sta temp+1 -AboveTemp + jsr Calculate4x4TextPosition + jmp TypeLine4x4.noLengthNoColor ; rts + +.endp +;-------------------------------------------------------- +.proc Calculate4x4TextPosition ; we have X coordinate of center of text in temp ; now we should substract length of the text-1 ; temp2 = (fx-1)*2 @@ -1746,11 +1751,8 @@ DOTOldLowestValue lda temp2 sbc #(4+9) ;9 pixels above ground (and tanks...) sta LineYdraw - - jmp TypeLine4x4.noLengthNoColor ; rts - + rts .endp - ;-------------------------------------------------------- .proc DisplayTankNameAbove ; TankNr in X txa ; TankNr diff --git a/scorch.xex b/scorch.xex index 96d633d..fcaa5f6 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index a53fcce..c69717c 100644 --- a/weapons.asm +++ b/weapons.asm @@ -382,7 +382,10 @@ GoRiotBomb ; ------------------------ .proc propaganda ; propaganda - jsr SetFullScreenSoilRange ; to change + lda #36 ; (max propaganda text lenght [17+1] * 4 pixels) / 2 + sta ExplosionRadius + jsr CalculateExplosionRange + mwa xdraw tempXROLLER ; save X coordinate of texts ; all text start from `talk` and end with an inverse. ; we go through the `talk`, count number of inverses. @@ -408,7 +411,14 @@ nexttext sty fx mwa tempXROLLER temp - jsr Display4x4AboveTank.AboveTemp + jsr Calculate4x4TextPosition + lda random + and #%00001111 + adc LineYdraw + sbc #8 + sta LineYdraw + jsr TypeLine4x4.noLengthNoColor + ldy #15 jsr PauseYFrames