From 2c6ddc48ecbfde7390370107c4d4554868826b4c Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Mon, 26 Mar 2018 12:24:27 -0700 Subject: [PATCH] Fixed projectile flicker during tracking --- gamemanager.s | 40 +++++++++++++++++++++++++++------------- gscats.2mg | Bin 819264 -> 819264 bytes 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/gamemanager.s b/gamemanager.s index 61339b0..c3095a8 100644 --- a/gamemanager.s +++ b/gamemanager.s @@ -57,8 +57,10 @@ gameplayLoop: ;;;;;;;;;;; ; Update ; -; lda projectileActive -; bpl gameplayLoopShotTracking ; Skip input during shots + lda #1 + sta projectilesDirty + lda projectileActive + bpl gameplayLoopShotTracking ; Skip input during shots ; Check for keys down jsr kbdScan @@ -67,6 +69,11 @@ gameplayLoop: ; lda paused ; bne gameplayLoopEndFrame + bra gameplayLoopScroll + +gameplayLoopShotTracking: + jsr trackActiveShot + gameplayLoopScroll: ; Scroll map if needed @@ -112,11 +119,16 @@ gameplayLoopRender: jsr renderPlayers gameplayLoopProjectiles: -; jsr unrenderProjectiles -; jsr updateProjectilePhysics -; jsr protectProjectiles -; jsr renderProjectiles -; jsr updateProjectileCollisions + lda projectilesDirty + beq gameplayLoopProjectilesSkip + + jsr unrenderProjectiles + jsr updateProjectilePhysics + jsr protectProjectiles + jsr renderProjectiles + +gameplayLoopProjectilesSkip: + jsr updateProjectileCollisions ; lda turnRequested ; beq gameplayLoopVictoryCondition @@ -134,10 +146,6 @@ gameplayLoopEndFrame: gameplayLoopContinue: jmp gameplayLoop -gameplayLoopShotTracking: -; jsr trackActiveShot -; bra gameplayLoopScroll - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; trackActiveShot @@ -238,7 +246,9 @@ scrollMap: jsr unclipTerrain jsl unrenderTerrainSpans jsr unrenderPlayers -; jsr unrenderProjectiles + jsr unrenderProjectiles + + jsr updateProjectilePhysics ; Good idea? sta mapScrollPos asl @@ -252,10 +262,12 @@ scrollMap: sta mapScrollRequested jsr protectPlayers -; jsr protectProjectiles + jsr protectProjectiles jsr renderPlayers + jsr renderProjectiles ; Prevents flicker, but ads jitter to shot tracking lda #1 sta terrainDirty + stz projectilesDirty rts @@ -324,6 +336,8 @@ turnRequested: .word $0000 terrainDirty: .word 1 +projectilesDirty: + .word 1 activePlayer: .word 0 currentPlayer: diff --git a/gscats.2mg b/gscats.2mg index d4f23c905c266c71d974cb30bb145c6f1465891c..565db7d2a798e3e7806d1572900b30b89191d202 100644 GIT binary patch delta 1258 zcmYjQUuauZ7(e%>Npo**=4IVxk}5kJt8S%q*Dz{yp=MoHYnQEI=!4CJ>BDkPlBQje zKG>IB&@jfhDD2@H7hw}>dxwWj5JDabWlS*Or1;>2!kmbNFx#Z7MdyR{JNKr}1K&Nr z^ZWjs@B7YoSM~6!9=>zX?O!;uPeJHcjKzW9nIAR|IpjHqrrMsydBW!M1GT==sL8zgNPevn}r z-&+|L<~t%Es;dv#km;AjL&A`GTo!wa5zuP+dfAzY!&0L<#;#shl9`N|Y4!OH&LwvbQXmC~7zV|0zx+S+{9Zh+!DPQf$ z_{~0_h|SYJaeT_DX)DC@y{qwZ8m~IIli^*B1Bea)l5qeq5Z+-N08H3s0Q_c$8X<20 z9;t5l#6F?eqU8o*o3z{{tVLy5{vcUGf57^5E{b%CjBv zQR;u>9EIG<^RyBp3w)p^S%avq#CKUXM*~^Nc8g=Orv8HceRJa5 zC~13fw^B!FZSb2_5h-iyU>yqC*5>nj#Dm3ljz`+YFXZ{YZZ!y0dhr6p#VPxhPY~Yl z7)gK3+rrl}5YR^c=kU9G9G{-#LxePs^@!kil6D_J32j)**?K;^L8wlX>$j11*y=($ zuHW7nRs)s?=?A!`n`cP__N b5yS=31>y$rfOLa+K_n0v#J3bvl}rBu26xUh delta 1168 zcmYjQUyKt)7@wV`-EO;O_bljM8)eQv$Qgqx#-lkJDaskdN*jU?-X*%4ursZqycv1$ znrJ1&Y|!wqR%!wdc-MnTpf+Ciyd%xU2b*{aZzjHY#s@>>OhFA+g7us26`bUo`R(uf zeSb3FY^%JZRo-!NODOI<{J=d3{emI_oO(QzoEk7l0E`}cF28r;**yndoOsf*5JKT^ zk&2iec<%&awC%18L?By1JJHrR@5lo1!P(IK*^qSNOmczwZ>eU{K<*;*e^=eh%+@B49bSLJBEw>y=tYuPp3>&{4fBz=C@tn^4u8k&Fo zPibT`{=xA+RB>9`=`E@F(NU71yz5vpdEeo;oQ_P+JN&jd7aiUc=ZbUEXsvSDyFZFY zB-z^?#i@r>3K8!*{3a-J7Rr5mn2)jjVpWFuII}i!-TO3(6Vp2F+;?u+EEdqp5H+-O z!&eJv|LDIxx9iwkp~*Hzow%#e3koHlXf=u2HHDV1*CpiMbZl}h{@~}4pUHcgtJ7%Z zZL@e9xkHrH-LK9+{+K^(79FMJMy5$HWF-I;9nA?tB>p2$`Zz6`D@<>V2 zypLiy^M+2_1=RT?DOy^#ICT8$cptBKv1|zd2?0RaJ^%(1_L)8arWY^(E>e*yPG0~V zr(gYaEhKrPalB=EfmIunFS2Tr@&y)!RUKpS9iTMhtpJHHm@>c2qH{~BS1J+UD`BF% zTpeF0f1COrnPJdiHOp!-dQ7~7N#3A_oU0ajhM7fZIm2KmZB#Bzi)~=$kum1>$L2Pu zwY~igHbx<2;2)gkku-DD!Fb&!Z5zmvk1?CXO69-zO`bsrs#!0&2lBj0-9o+&kM&@% zAIg8P&`yLXS{tD&+rMjJG<{_a)X8LDZ32J*EeL@9P@cS+7uuM}|4m7h_={W*&b4}j z!WA4o2nEU3l9-4@#W-Tr{!HALShGOD{fa+9G?nPbBnqntS>gKEl%!rO1UCd;xS-Re zKp-CMFwc0a8?h;6yzWMv+7$Tx63?