diff --git a/artwork/weapons_AW6_mod.fnt b/artwork/weapons_AW6_mod.fnt index ef44e8c..9b59364 100644 Binary files a/artwork/weapons_AW6_mod.fnt and b/artwork/weapons_AW6_mod.fnt differ diff --git a/constants.asm b/constants.asm index 4be4296..fe98e90 100644 --- a/constants.asm +++ b/constants.asm @@ -500,7 +500,7 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Riot Blast"^ ; 16 dta d"Riot Bomb"^ ; 17 dta d"Heavy Riot Bomb"^ ; 18 - dta d"Baby Digger"^ ; 19 + dta d"Propaganda"^ ; 19 dta d"Digger"^ ; 20 dta d"Heavy Digger"^ ; 21 dta d"Sandhog"^ ; 22 diff --git a/grafproc.asm b/grafproc.asm index 4a81f6c..5873c7a 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1648,8 +1648,10 @@ notZero sta temp lda xtankstableH,y sta temp+1 - ;now we should substract length of the text-1 - ;temp2 = (fx-1)*2 +AboveTemp + ; we have X coordinate of center of text in temp + ; now we should substract length of the text-1 + ; temp2 = (fx-1)*2 ldy fx dey tya diff --git a/scorch.asm b/scorch.asm index a4bb72c..25f7c58 100644 --- a/scorch.asm +++ b/scorch.asm @@ -32,7 +32,7 @@ ;--------------------------------------------------- .macro build - dta d"1.45" ; number of this build (4 bytes) + dta d"1.46" ; number of this build (4 bytes) .endm .macro RMTSong diff --git a/scorch.xex b/scorch.xex index cfb1537..7710ff5 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 2963738..75b0da7 100644 --- a/weapons.asm +++ b/weapons.asm @@ -41,7 +41,7 @@ ExplosionRoutines .word riotblast-1 ;Riot_Blast ;_16 .word riotbomb-1 ;Riot_Bomb ;_17 .word heavyriotbomb-1 ;Heavy_Riot_Bomb;_18 - .word babydigger-1 ;Baby_Digger ;_19 + .word propaganda-1 ;Baby_Digger ;_19 .word digger-1 ;Digger ;_20 .word heavydigger-1 ;Heavy_Digger ;_21 .word sandhog-1 ;Sandhog ;_22 @@ -380,9 +380,43 @@ GoRiotBomb ; jmp xriotbomb .endp ; ------------------------ -.proc babydigger - lda #1 ; diggery ; how many branches (-1) -GoBabydiggerSFX +.proc propaganda + ; propaganda + jsr SetFullScreenSoilRange ; to change + 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. + ; if equal to TextNumberOff, it is our text, printit + + mva #5 TempXfill ; number of text to display +nexttext +@ lda random + cmp #talk.NumberOfOffensiveTexts + bcs @- + + sta TextNumberOff + lda #$ff + sta plot4x4color + mwa #talk LineAddress4x4 + jsr _calc_inverse_display + ; now find length of the text +@ iny + lda (LineAddress4x4),y + bpl @- + iny + sty fx + mwa tempXROLLER temp + + jsr Display4x4AboveTank.AboveTemp + + dec TempXfill + bne nexttext + rts +.endp +; ------------------------ +.proc digger ; + lda #3 ; diggery ; how many branches (-1) +GoDiggerSFX sta diggery mva #sfx_digger sfx_effect mva #0 sandhogflag @@ -390,14 +424,9 @@ GoBabydiggerSFX bne xdigger .endp ; ------------------------ -.proc digger ; - lda #3 ; diggery ; how many branches (-1) - bne babydigger.GoBabydiggerSFX -.endp -; ------------------------ .proc heavydigger lda #7 ; diggery ; how many branches (-1) - bne babydigger.GoBabydiggerSFX + bne digger.GoDiggerSFX .endp ; ------------------------ .proc babysandhog