diff --git a/grafproc.asm b/grafproc.asm index 2779518..6935036 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1263,20 +1263,37 @@ drawmountainsloop beq NoMountain sta ydraw sty ydraw+1 - jsr DrawLine +; jsr DrawLine +; there was Drawline proc + lda #screenheight + sec + sbc ydraw + sta tempbyte01 + jsr plot.MakePlot + ; after plot we have: (xbyte),y - addres of screen byte; X - index in bittable (number of bit) +; jmp IntoDraw ; jumps inside Draw routine + ; because one pixel is already plotted (and who cares? :) ) +@ + lda (xbyte),y + and bittable2,x + sta (xbyte),y +;IntoDraw + adw xbyte #screenBytes + dec tempbyte01 + bne @- +; end of Drawline proc NoMountain inw modify inw xdraw cpw xdraw #screenwidth bne drawmountainsloop rts +/* ;-------------------------------------------------- -drawmountainspixel +drawmountainspixel ; never used ? ;-------------------------------------------------- mwa #0 xdraw mwa #mountaintable modify - - drawmountainspixelloop ldy #0 lda (modify),y @@ -1287,8 +1304,8 @@ drawmountainspixelloop inw xdraw cpw xdraw #screenwidth bne drawmountainspixelloop - rts + */ .endp ;-------------------------------------------------- .proc SoilDown2 @@ -1761,31 +1778,8 @@ ClearPlot eor #$ff and bittable,x rts -.endp;-------------------------------------------------- -.proc DrawLine -;-------------------------------------------------- - mva #0 ydraw+1 - lda #screenheight - sec - sbc ydraw - sta tempbyte01 - jsr plot.MakePlot - ;rts - jmp IntoDraw ; jumps inside Draw routine - ; because one pixel is already plotted - -@ - lda (xbyte),y - and bittable2,x - sta (xbyte),y -IntoDraw - adw xbyte #screenBytes - dec tempbyte01 - bne @- - rts .endp - -; ------------------------------------------ +;-------------------------------------------------- .proc TypeChar ; puts char on the graphics screen ; in: CharCode diff --git a/scorch.asm b/scorch.asm index bced622..8da64e0 100644 --- a/scorch.asm +++ b/scorch.asm @@ -103,7 +103,7 @@ .zpvar Counter .byte ;temporary Counter for outside loops .zpvar ExplosionRadius .word ;because when adding in xdraw it is double byte .zpvar ResultY .byte - .zpvar FallDown2 .byte +; .zpvar FallDown2 .byte .zpvar xcircle .word .zpvar ycircle .word .zpvar vy .word @@ -643,7 +643,7 @@ ShootNow lda #0 sta FallDown1 - sta FallDown2 +; sta FallDown2 jsr Explosion continueMainRoundLoopAfterSeppuku @@ -658,9 +658,9 @@ AfterExplode mva #1 Erase jsr drawtanks mva #0 Erase - lda FallDown2 - beq NoFallDown2 - jsr SoilDown2 +; lda FallDown2 +; beq NoFallDown2 + jsr SoilDown2 ; allways NoFallDown2 ;here tanks are falling down @@ -812,7 +812,7 @@ NoPlayerNoDeath sta RangeRight sta RangeRight+1 sta FallDown1 - sta FallDown2 +; sta FallDown2 mwa #screenwidth RangeLeft ; We are randomizing the weapon now. @@ -920,7 +920,7 @@ NotNegativeShieldEnergy .proc Seppuku lda #0 sta FallDown1 - sta FallDown2 + ;sta FallDown2 sta ydraw+1 ; get position of the tank ldx TankNr diff --git a/scorch.xex b/scorch.xex index 06e314d..d393ec7 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index c7e3313..3178ecb 100644 --- a/weapons.asm +++ b/weapons.asm @@ -17,6 +17,7 @@ pha lda ExplosionRoutines,x pha +; inc FallDown2 rts ExplosionRoutines .word babymissile-1 ;Baby_Missile___;_00 @@ -61,7 +62,7 @@ tracer ; ------------------------ .proc babymissile mva #sfx_baby_missile sfx_effect - inc FallDown2 +; inc FallDown2 mva #11 ExplosionRadius jsr CalculateExplosionRange jmp xmissile @@ -69,7 +70,7 @@ tracer ; ------------------------ .proc missile ; mva #sfx_baby_missile sfx_effect - inc FallDown2 +; inc FallDown2 mva #17 ExplosionRadius jsr CalculateExplosionRange jmp xmissile @@ -77,7 +78,7 @@ tracer ; ------------------------ .proc babynuke mva #sfx_nuke sfx_effect - inc FallDown2 +; inc FallDown2 mva #25 ExplosionRadius jsr CalculateExplosionRange jmp xmissile @@ -85,7 +86,7 @@ tracer ; ------------------------ .proc nuke mva #sfx_nuke sfx_effect - inc FallDown2 +; inc FallDown2 mva #30 ExplosionRadius jsr CalculateExplosionRange jmp xmissile @@ -93,7 +94,7 @@ tracer ; ------------------------ .proc leapfrog mva #sfx_baby_missile sfx_effect - inc FallDown2 +; inc FallDown2 mva #17 ExplosionRadius jsr CalculateExplosionRange jsr xmissile @@ -163,7 +164,7 @@ EndOfLeapping .endp ; ------------------------ .proc mirv ; the whole mirv is performed by Flight routine - inc FallDown2 +; inc FallDown2 rts .endp ; ------------------------ @@ -171,7 +172,7 @@ EndOfLeapping mva #sfx_baby_missile sfx_effect mwa xtraj+1 xtrajfb sbw ytraj+1 #$05 ytrajfb ; funky missiles start point goes 5 pixel UP to prevent multiple explosion at one point if tank is hit (4 pixels tank height + 1) - inc FallDown2 +; inc FallDown2 ;central Explosion mva #21 ExplosionRadius jsr CalculateExplosionRange0 @@ -229,7 +230,7 @@ NoWallsInFunky .endp ; ------------------------ .proc deathshead - inc FallDown2 +; inc FallDown2 mva #30 ExplosionRadius jsr CalculateExplosionRange @@ -285,7 +286,7 @@ NoLowerCircle ; ------------------------ .proc napalm mva #sfx_napalm sfx_effect - inc FallDown2 +; inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm @@ -294,7 +295,7 @@ NoLowerCircle ; ------------------------ .proc hotnapalm mva #sfx_napalm sfx_effect - inc FallDown2 +; inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm @@ -359,7 +360,7 @@ CharOffTheScreen dec magic jpl RepeatNapalm ; after napalm - inc FallDown2 +; inc FallDown2 ;now we must check tanks in range ldx NumberOfPlayers dex @@ -407,32 +408,32 @@ EndNurnedCheckLoop .endp ; ------------------------ .proc babyroller - inc FallDown2 +; inc FallDown2 mva #11 ExplosionRadius jmp xroller .endp ; ------------------------ .proc roller ; - inc FallDown2 +; inc FallDown2 mva #21 ExplosionRadius jmp xroller .endp ; ------------------------ .proc heavyroller - inc FallDown2 +; inc FallDown2 mva #30 ExplosionRadius jmp xroller .endp ; ------------------------ .proc riotbomb - inc FallDown2 +; inc FallDown2 mva #17 ExplosionRadius jsr CalculateExplosionRange jmp xriotbomb .endp ; ------------------------ .proc heavyriotbomb - inc FallDown2 +; inc FallDown2 mva #29 ExplosionRadius jsr CalculateExplosionRange jmp xriotbomb @@ -441,7 +442,7 @@ EndNurnedCheckLoop .proc babydigger mva #sfx_digger sfx_effect mva #0 sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #1 diggery ; how many branches (-1) jmp xdigger @@ -450,7 +451,7 @@ EndNurnedCheckLoop .proc digger ; mva #sfx_digger sfx_effect mva #0 sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #3 diggery ; how many branches (-1) jmp xdigger @@ -459,7 +460,7 @@ EndNurnedCheckLoop .proc heavydigger mva #sfx_digger sfx_effect mva #0 sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #7 diggery ; how many branches (-1) jmp xdigger @@ -583,7 +584,7 @@ DiggerCharacter .proc babysandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #1 diggery ; how many branches (-1) jmp xdigger @@ -592,7 +593,7 @@ DiggerCharacter .proc sandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #3 diggery ; how many branches (-1) jmp xdigger @@ -601,35 +602,35 @@ DiggerCharacter .proc heavysandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag - inc FallDown2 +; inc FallDown2 mva #13 DigLong mva #5 diggery ; how many branches (-1) jmp xdigger .endp ; ------------------------ .proc dirtclod - inc FallDown2 +; inc FallDown2 mva #12 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc dirtball - inc FallDown2 +; inc FallDown2 mva #22 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc tonofdirt - inc FallDown2 +; inc FallDown2 mva #31 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc dirtcharge - inc FallDown2 +; inc FallDown2 mva #61 ExplosionRadius jsr CalculateExplosionRange jmp ofdirt @@ -637,7 +638,7 @@ DiggerCharacter ; ------------------------ .proc riotcharge mva #sfx_riot_blast sfx_effect - inc FallDown2 +; inc FallDown2 mva #31 ExplosionRadius jsr CalculateExplosionRange jmp cleanDirt @@ -645,7 +646,7 @@ DiggerCharacter ; ------------------------ .proc riotblast mva #sfx_riot_blast sfx_effect - inc FallDown2 +; inc FallDown2 mva #61 ExplosionRadius jsr CalculateExplosionRange jmp cleanDirt