From 7a160512b357182d114edc7c2643f3cb13c9e78a Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 9 Jun 2023 00:26:49 -0400 Subject: [PATCH] sb: get the asplode text printing right --- games/sb/asplode.s | 147 +++++++++++++++++++---- games/sb/asplode_graphics/Makefile | 15 +-- games/sb/asplode_graphics/sb_sprites.png | Bin 18181 -> 18234 bytes 3 files changed, 132 insertions(+), 30 deletions(-) diff --git a/games/sb/asplode.s b/games/sb/asplode.s index 6a0d3a58..d7d93dfa 100644 --- a/games/sb/asplode.s +++ b/games/sb/asplode.s @@ -158,24 +158,7 @@ load_background: ;=========================== main_loop: - ;========== - ; flip page - ;========== - - lda DRAW_PAGE - beq draw_page2 -draw_page1: - bit PAGE2 - lda #0 - - beq done_flip - -draw_page2: - bit PAGE1 - lda #$20 - -done_flip: - sta DRAW_PAGE + jsr flip_page ;======================== ; copy over background @@ -235,9 +218,9 @@ no_move_head: ; draw head ;=========================== - lda #head_sprite + lda #>big_head_sprite sta INH lda STRONGBAD_X sta SPRITE_X @@ -372,7 +355,7 @@ adjust_shield: asplode_asplode: - jsr play_asplode + jsr do_asplode jmp main_loop @@ -394,6 +377,128 @@ wait_until_keypress: bit KEYRESET ; clear the keyboard buffer rts + + ;============================== + ; do the asplode routine + ;============================== + ; should move head to center + ; do the "YOUR HEAD A SPLODE" animation + ; meanwhile the player should explode + ; try to interleave the sound + ; in theory the background should pulse too but + ; that might be too much +do_asplode: + + ;=================== + ; copy background + ;=================== + + jsr hgr_copy + + ;========================== + ; draw head + ;========================== + + lda #big_head_sprite + sta INH + lda #16 ; center + sta SPRITE_X + lda #36 + sta SPRITE_Y + jsr hgr_draw_sprite_big + + + ;========================== + ; draw your + ;========================== + + lda #your_sprite + sta INH + lda #8 + sta SPRITE_X + lda #133 + sta SPRITE_Y + jsr hgr_draw_sprite_big + + ;========================== + ; draw head + ;========================== + + lda #head_sprite + sta INH + lda #15 + sta SPRITE_X + lda #133 + sta SPRITE_Y + jsr hgr_draw_sprite_big + + ;========================== + ; draw A + ;========================== + + lda #a_sprite + sta INH + lda #21 + sta SPRITE_X + lda #133 + sta SPRITE_Y + jsr hgr_draw_sprite_big + + ;========================== + ; draw SPLODE + ;========================== + + lda #splode_sprite + sta INH + lda #23 + sta SPRITE_X + lda #133 + sta SPRITE_Y + jsr hgr_draw_sprite_big + + ; play sound +; jsr play_asplode + + jsr flip_page + + jsr wait_until_keypress + + rts + + + ;========== + ; flip page + ;========== +flip_page: + lda DRAW_PAGE + beq draw_page2 +draw_page1: + bit PAGE2 + lda #0 + + beq done_flip + +draw_page2: + bit PAGE1 + lda #$20 + +done_flip: + sta DRAW_PAGE + + rts + + + .include "hgr_tables.s" .include "zx02_optim.s" .include "hgr_sprite_big.s" diff --git a/games/sb/asplode_graphics/Makefile b/games/sb/asplode_graphics/Makefile index e73d5293..7bf90f28 100644 --- a/games/sb/asplode_graphics/Makefile +++ b/games/sb/asplode_graphics/Makefile @@ -32,7 +32,7 @@ sb_title.hgr: sb_title.png #### sb_sprites.inc: sb_sprites.png - $(HGR_SPRITE) -s -l head_sprite sb_sprites.png 84 36 132 92 > sb_sprites.inc + $(HGR_SPRITE) -s -l big_head_sprite sb_sprites.png 84 36 132 92 > sb_sprites.inc $(HGR_SPRITE) -s -l player_sprite sb_sprites.png 98 138 181 192 >> sb_sprites.inc $(HGR_SPRITE) -s -l shield_left_sprite sb_sprites.png 0 138 83 192 >> sb_sprites.inc $(HGR_SPRITE) -s -l shield_center_sprite sb_sprites.png 196 83 279 137 >> sb_sprites.inc @@ -53,16 +53,13 @@ sb_sprites.inc: sb_sprites.png $(HGR_SPRITE) -s -l bullet13_sprite sb_sprites.png 168 92 181 98 >> sb_sprites.inc $(HGR_SPRITE) -s -l bullet14_sprite sb_sprites.png 168 99 181 105 >> sb_sprites.inc $(HGR_SPRITE) -s -l bullet15_sprite sb_sprites.png 168 106 181 112 >> sb_sprites.inc - - - - - - - + $(HGR_SPRITE) -s -l your_sprite sb_sprites.png 0 0 41 19 >> sb_sprites.inc + $(HGR_SPRITE) -s -l head_sprite sb_sprites.png 56 0 90 19 >> sb_sprites.inc + $(HGR_SPRITE) -s -l a_sprite sb_sprites.png 98 0 104 19 >> sb_sprites.inc + $(HGR_SPRITE) -s -l splode_sprite sb_sprites.png 112 0 166 19 >> sb_sprites.inc #### clean: - rm -f *~ *.o *.lst + rm -f *~ *.o *.lst sb_sprites.inc diff --git a/games/sb/asplode_graphics/sb_sprites.png b/games/sb/asplode_graphics/sb_sprites.png index 3075c682bd2f038b6c4c79d17c1b689ef8974b88..8c10700e61f3b678aef8fa8de1e617a23cd6cf70 100644 GIT binary patch delta 13969 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 e)^x-~MPtDuQ+pafncz?4lx$wF*V3 z5Nd^19ZW9$gC-40ii@M*T5#}ZvFhOBtgC~oAPD||xVktgx=4xNC509--f`T+d*AzV z_Z{GGRG4Z8MvP2)o;X4*6gyb% zU{*3z;%VZjqH2`y&$_H|-r}rQYOHln{=#rxTUq8htq~-#h$V;+AftvdDzFfvT_eRr zn$8m*{$a;2l1nC68H^kYs6vJ0_`(0+cYklq!qlXj6ixtLFSh+L284EjX5F^Gk8Qho z0tB9cE3NIXHh|er((7$4dIa=u0~gnAP2K}8cYvWMT{0v`3efTw3c&jreNzq?yajsK z+`hHWaryvcs8^{Q;NTD#FH-ip$Gdwv`}S{5tA9U2xpI>Y{%E`a01zQ*R9JLaO|wKV zgaRWlVP!QmFg9T=V`ecqEi_^^G%Yw{VrDI4H!)*jGGRGoIXIK+F{unNH#j*tF*7qa zG&eDmpfYg^HdHY+Ix#jnGcc1IGb9Q&R53L=F*Z6gFtbTBx&yQ3H(&?^vUZhblS)8A z2nG`nAG8!HYm<{eCw~VaNklJP4z*tEau~J49HVp-j6Y4=$4v7G<*#98cW4!ih z$wyQLAhh+aFowguK!&+LxPoy;_6xGF>|xqed4Gu#k1=g%q9*ndV|)|b+-Nsr7-ZT8 z#*NW<7@Vs71Q_yfyw02!or39Q+Qy!(QH?Zh<|v0xlU?ed$189NOdm(-d=$AJ3j>!A z8RoTJAmtD+E+BUZX_#I+N*l)DAu#lHAPhVhIm_5dfx#v#3ezh;fxjM}nG^QDt(<1?SG^f`mLk@3u5XpA-$&iDE!ciC&&lq(sXq7O~WJeh* zW$;MvM>xiT*io43p&>BxP29BagE3nt#3!lW$duKaxXy$qd;0{io*K4}VL8!|<)U-#SB+OeBMFH;g;ogNz#K+2r*6LKh^naG;0Z7w{@{KXF`lu>6uQ6Y0VA!z zCZof5frCtY5R8Y$VZ1HrSQzl^&PW(m^tEBlFc_~eJ_v@+6Wlq9p)k<(z37Now zF#1_AV)k^t`FyU+87 zUg#TVT+k+9HQ1+Npmz6}Q-SLOSs1(bRE2%F3utMc;EryPLT}zUt_ldHL3Vt@6?#=k z-x~bL=uOk3-Xu^4gWA5^ z1neQ22n;Gm{gQyV(gZN2ma47^XaNQc26dKtML;T=x&$pVsKUN42x#Ga5kIl!G_1%{ ziGZpVkSguYka(81V%gBOi=L*XxbMK=8ohMbi7FLS^?XE7DZrdl4u6K#RtsR5fWPd; zVW5$Pf%i;7Hj3nxVV@=o;~swubtWkE7QirpG8iThgK>Yw-2o=pSB!%ZG6vAd6<0$A7Fz-)Ch#a2bHo2M+T_r~oBa;}0000