diff --git a/scorch.asm b/scorch.asm index f6b9c10..6490802 100644 --- a/scorch.asm +++ b/scorch.asm @@ -77,6 +77,7 @@ .zpvar UnderTank1 .byte .zpvar UnderTank2 .byte ;---------------------------- + .zpvar TestFlightFlag .byte ; For AI test flights ($ff - test, $00 - standard shoot flight) .zpvar weaponPointer .word .zpvar dliCounter .byte .zpvar pressTimer .byte @@ -335,7 +336,9 @@ SettingEnergies jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks - mva #0 TankSequencePointer + lda #$00 + sta TankSequencePointer + sta TestFlightFlag ;---------round screen is ready--------- mva #TextForegroundColor colpf1s ; status line "on" rts diff --git a/scorch.xex b/scorch.xex index aa117c6..c5bd32f 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 4184496..19371db 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1559,6 +1559,7 @@ ShotUnderGround ;-------------------------------------------------- .proc Flight ; Force(byte.byte), Wind(0.word) ; Angle(byte) 128=0, 255=maxright, 0=maxleft +; if TestFlightFlag is set ($ff) ne real flight - hit test only (for AI) ;-------------------------------------------------- ;g=-0.1 ;vx=Force*cos(Angle) @@ -1790,6 +1791,8 @@ NoWind mwa xtraj+1 XtrajOld+1 mwa ytraj+1 YtrajOld+1 + bit TestFlightFlag + bmi nowait lda tracerflag bne nowait lda color @@ -1828,7 +1831,9 @@ SkipCollisionCheck mwa xtraj+1 xdraw mwa ytraj+1 ydraw - + + bit TestFlightFlag + bmi NoUnPlot lda tracerflag bne NoUnPlot @@ -1841,7 +1846,8 @@ NoUnPlot Hit mwa XHit xdraw mwa YHit ydraw - + bit TestFlightFlag + bmi EndOfFlight jsr unPlot EndOfFlight mwa xdraw xcircle ; we must store for a little while @@ -1860,6 +1866,8 @@ EndOfFlight EndOfFlight2 mva #0 tracerflag ; don't know why + bit TestFlightFlag + jmi NoHitAtEndOfFight ; RTS only !!! - no defendsives check ; and now check for defensive-aggressive weapon lda HitFlag jeq NoHitAtEndOfFight ; RTS only !!!