From c55d07c16df27a4c6e56268b26f21bc429676798 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Sat, 23 Dec 2017 19:01:16 -0700 Subject: [PATCH] Groundwork for span-based fill mode rendering --- V2Make.scpt | Bin 2460 -> 2460 bytes gamemanager.s | 15 ++- graphics.s | 4 +- gscats.2mg | Bin 819264 -> 819264 bytes input.s | 4 +- macros.s | 9 ++ terrain.s | 336 +++++++++++++++++++++++++++++++++++++++++++++++++- 7 files changed, 358 insertions(+), 10 deletions(-) diff --git a/V2Make.scpt b/V2Make.scpt index 050b92c37e624b7e7145f208a416c33e339945e9..eb180db3e574cd8fcbfb2819aeee9eaadc7db7d0 100644 GIT binary patch delta 22 ecmbOuJV$s#J{!|p_Q{28eoUK_HXmfW%>)2kdk8=P delta 22 ecmbOuJV$s#J{!}$?~@DJ{Fs&oZ9d3$n+X7C7YPFZ diff --git a/gamemanager.s b/gamemanager.s index 19a7c2e..0f4ee59 100644 --- a/gamemanager.s +++ b/gamemanager.s @@ -49,12 +49,15 @@ beginGameplay: gameplayLoop: jsr syncVBL + BORDER_COLOR #$0 ; Render the terrain if needed - lda terrainDirty - beq gameplayLoopKbd - jsr renderTerrain +; lda terrainDirty +; beq gameplayLoopKbd + BORDER_COLOR #$3 + jsr renderTerrainFillMode stz terrainDirty + BORDER_COLOR #$1 ; Render players jsr renderPlayers @@ -113,8 +116,10 @@ gameplayLoopVictoryCondition: gameplayLoopEndFrame: lda quitRequested - beq gameplayLoop + beq gameplayLoopContinue jmp quitGame +gameplayLoopContinue: + jmp gameplayLoop gameplayLoopShotTracking: jsr trackActiveShot @@ -287,7 +292,7 @@ fire: basePalette: - .word $0aef,$0080,$0861,$0c93,$0eb4,$0d66,$0f9a,$0000,$07b,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF + .word $0aef,$0080,$0861,$0c93,$0eb4,$0d66,$0f9a,$0000,$007b,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF diff --git a/graphics.s b/graphics.s index 19904d4..b5f449b 100644 --- a/graphics.s +++ b/graphics.s @@ -86,14 +86,14 @@ initSCBsLoop: ; ; X = Scan line ; -; Trashes A - enableFillMode: + SAVE_AXY BITS8 lda $e19d00,x ora #%00100000 sta $e19d00,x BITS16 + RESTORE_AXY rts diff --git a/gscats.2mg b/gscats.2mg index 6c51db7f466ffab9dfdace08e225550dc2d56c4b..b0f9d8dfaa787aac14834d9098be324d5a0e4856 100644 GIT binary patch delta 3540 zcmd^Bk5e4=760z;-Lf2;aM9S_ktpB%aN?=W>{y0b^9u;XgoF~Tsf`&oo+k%f3}YNf zvU{MnG`UWGt%zrOU`UUmRF-Dd7$$fc6d4@3Oc-xkr;}1^AT>6rk}Qon)@rWryLXth z)Bm8mu^<>y|?9E5E+22H!=!`1Objog z;yxy}a1rILV5*sB=6U8AGs1kte8KRx#kLi;O}6c}y|zwUzwM0e6Wh18x%Rv5W%h^d zjrK$K%9re?>>t`cx7*nHYyn%rRwv=%Sh5jpg>s)`KZVzWQrQ)#Ba}O8L3%VB_;&HqOQ`pBGMU-y z|FZBp3xdSLsKw2woU>F&=pNBSxnUMU_uCv2In&|NUqpU3%&MQ^LOy5(kwh4w&H{dr zMC{pB=8B6K)9gC)K7AZ%1^f)K!dy1PR+#IJ0{%Je7COa8zjIJ7E8fpKOb%ekoH}CB z9QBk%x2XM4zB-&q4wv&i964{vt20R?=gAcy=ZQG;G;J;aTB(lFbM8;!?MkIa(-?R9 z^ytL3RC0QqQJ|RFI)z$2Lz8u=uKj_u=;_lF2nlwuqdG|#An*TW|M)q}n|gt%*FMxd!SZ)L7|&nnS64Xp6C2g0rA4m&n)3EEH7d#DmLEBZI7A^&Dt)#8JLCshL2FfL^TmreVwUTqb zQ6!C(O2S+)JytFWJZqFlV{4@7I~%Emn^U|i;6z!IER&)8wvx!9^R zw+IyqGSjSZbK(u;oSiOHznc`Q%5BoHCswcb;Yv#=#9qf91MEMfH+d~Pc#}5+U*BAJ3Dxcj z1bl%52(Gs7Cn^0CKQQ2aw?g4psO~VO|J_2a__{R<>7aDeLZ*G)zaa=Q8vVmLDt~Kj z4a+9KJo}keS94zIMqSikZA~)w;slfY>d>|tUCr+Hkxf(Qu)`-sow(zwxO?qj9p)z4K=~5AXcb&IP;bcMa^AqE<4YhsfOlk#3{T z3p%4MpohV2gf}33md7nQn9tEg1g8%Ns&$d>q6kBVt$w`0kKby-e+0!>3x*~1N!Mu^Z=ve825 zM!D5FG=Ud1Co1CaZrl-d(UaCUm^13Oc&Ii=|VUODt00>Hp?{UNAdeR7*WUsMb&P&k9oTcrT zkL{OX+nsx4Z|8nlora><6xoX_bFl0O$Fw%tp+#g@;0V$V%Or3qVj>f!rG6qGmc3x5 z5C5_{W9-(aGRSK)NC?cgSZj?}N8SIRDno^d!{(yIw7D!XX%;2EG0PHH&GN+8W@Vzw zd?0be+?+_6(y-ti7BU;Wnnzr>hUVXvrTL7v!vbMoQDDHmGy@2%nnuzLAT1UG%?l->;$VlU7^{M$Rdl>b#uj%)r6lw z<2OV_TWPhWBI{cso!Kv&9A^Cqgpx}~hiDW^PJwh@URv4(3@GpjZVU1)k?;nI$mS6H zMa^W1FY!)`PU(dTgkY1GR8n6PNy#3WOZPW!}v76wgLupOQDkpj^U%48$g9gi16ra1VW n7#9`sk`sOw#52lqG1!aWaHJbcq^&-mT)ii)3;6%x`!xPHW>H^O delta 3588 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