From ba30ba75a9d352a421fd34a6f9a6280cf55a94d5 Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 28 Sep 2019 08:35:48 -0400 Subject: [PATCH] Spare Change title animation --- Makefile | 3 + res/attic/transfer.dsk | Bin 143360 -> 143360 bytes res/title.animated/_FileInformation.txt | 2 + res/title.animated/spare.change#060300 | Bin 0 -> 95 bytes res/title.animated/spare.change.1 | Bin 0 -> 18432 bytes res/title.hgr/BUCK.ROGERS | Bin 8192 -> 8192 bytes res/title.hgr/NIGHT.STALKER | Bin 8192 -> 8192 bytes res/title.hgr/PITSTOP.II | Bin 8192 -> 8192 bytes res/title.hgr/QUADRANT.6112 | Bin 8192 -> 8192 bytes res/title.hgr/SERPENTINE | Bin 8192 -> 8192 bytes res/title.hgr/SPARE.CHANGE | Bin 8192 -> 8192 bytes res/title.hgr/WARP.DESTROYER | Bin 8192 -> 8192 bytes src/4cade.a | 3 +- src/prodos.path.a | 10 +++- src/ui.animation.a | 73 ++++++++++++++++++++++++ src/ui.browse.mode.a | 3 +- src/ui.offscreen.a | 19 +++--- src/ui.search.mode.a | 3 +- 18 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 res/title.animated/_FileInformation.txt create mode 100755 res/title.animated/spare.change#060300 create mode 100755 res/title.animated/spare.change.1 create mode 100644 src/ui.animation.a diff --git a/Makefile b/Makefile index 2cc1ac69b..d213f40ca 100644 --- a/Makefile +++ b/Makefile @@ -68,6 +68,8 @@ dsk: md asm $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/SS" "build/SS" >>build/log rsync -aP res/demo/* build/DEMO >>build/log $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/DEMO" "build/DEMO" >>build/log + rsync -aP res/title.animated/* build/TITLE.ANIMATED >>build/log + $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/TITLE.ANIMATED" "build/TITLE.ANIMATED" >>build/log $(CADIUS) RENAMEFILE build/"$(DISK)" "/$(VOLUME)/DEMO/SPCARTOON.11" "SPCARTOON.1." >>build/log $(CADIUS) RENAMEFILE build/"$(DISK)" "/$(VOLUME)/DEMO/SPCARTOON.22" "SPCARTOON.2." >>build/log $(CADIUS) RENAMEFILE build/"$(DISK)" "/$(VOLUME)/DEMO/SPCARTOON.33" "SPCARTOON.3." >>build/log @@ -113,6 +115,7 @@ md: mkdir -p build/ACTION.DHGR mkdir -p build/ACTION.GR mkdir -p build/ARTWORK.SHR + mkdir -p build/TITLE.ANIMATED mkdir -p build/ATTRACT mkdir -p build/SS mkdir -p build/DEMO diff --git a/res/attic/transfer.dsk b/res/attic/transfer.dsk index 00a333b0f5fc32f79cc32adcad4e200b0717181f..ef3b77f5590e960d481fd8662ae9ec3e9f22a3ae 100644 GIT binary patch delta 4810 zcmcIoT}%{L6ux(NXLpe0uQMyCAQrVH_NhR+cpPDAE<1Va} zuC+I`&JqYxOd4YvJ2xat8_^B{N}GViR%4oNWymVL?8=fRh+);9JHw11yR!;)6YdP` z-}jw!zVDoar16r*cloLMIj+!7#kE92iAJMt6qyYFlAH|npfruNkBqj32yNKFAykc9 z5E={UhltQ7ZVy7phb9Sqh$HMZb=&H;;q%weUk~WVUig*U1BVYiAoO-wwx?VBg$kn9 z%6JAhS7?!&1HTX7?U{{xP`Gc`c(Sjr6NRV#ow=93+(+oUwJy%(ayeZN7j_{bUsxmL z3B2GD+yW=K1gGE-uzK$m#AQAD%6As4*6`B%HBs4=3DT6`~LLO01jx3^(2XfFKV+`=dlE!8r(?Wnu zXz(#E|*i3hNGNi;1m!1;8?2$sIGnUz6POWR#zev;w&O}K) zsn?inWMIn3fDT#_^cM z1YcMBa&W2YGMk2?gL^<}J$Cx%DhXwAwC@?!JkNW0H_!1d-pM<7%pRI}(uIGDCZ^R## z5ZY2M#V*~si=*>@PY3lQG5gc_2_-glzmvJap;BqZqNlV0L%;JO1kHNkfRfgg<3Pw% z^Q#&9oFQbr^WS0!CtpF)`H^YkNX)j4V?da8GlcP6B5o+pDl1Sgp|@->>iW!5!ur?& zy1Z4c-c8<_#nZ8Wl0p5r*?Tc|V(w-#*~vN_0JK+Oj?cfHeP&=EpX1%{e77BQr|Yp- zelv_!s_tSb$udM)BS?;vG~^hxUMrX8Swv=8MD!!UBBG45h=8pgTHP?h>I!n2rLOcr zrXl(RUP(KpU_A?3G z+pu3@I}hb>5E$w+_Ia3J?48A*rN2L-{}lcGnBLm6yGKqlT4}ep>cwpG)-_wV*P-sT z>F`gyGCt`5!21e)1wOAYU-s7H8bW{09w*CX?G`y3Zdz+WYt{^38($@5JB delta 11889 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 literal 0 HcmV?d00001 diff --git a/res/title.animated/spare.change.1 b/res/title.animated/spare.change.1 new file mode 100755 index 0000000000000000000000000000000000000000..f7491b442937403347c8ff44acd1c1e207bcd7e2 GIT binary patch literal 18432 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 PXFntO>gC>&hLQ9MtT_?V literal 8192 zcmeHMO=ufO6nx-QxkWh-D*&whlHkK*03QPpj1p(2jpUf8Baqy#VvGryvgih<%uqG%D385-v&0PBZe z+DmVKUvF*%x*-_#uI!QT3g9?0w@N(Ei;D5Zgro-;&|~&Hn)Z8;Jj7 z%Ks+C|2@Qi^HpoVEX1FHJKg5r>{H{6geH{LAe#{^k7d)nXj}1yFgpV&AE))b)yYlr0Iy|KU7;$nifpi6-s% zC&d4?vr07oyW;Px75{?||MK}n>fM}*Gz^MB*qKe6R{ zqxL-fOQL_we-mtqnE&$lgYhrV|Gjf?;on@Zf7b*5*UAF_Iq?^>kNh7Nf7Q-5q6NT7 z;eYN6uW$S%41ZDZzii?E$-9C7+Bhh~3L;Gzf^}$8@93$21^*42|NG&e=bu9UkNIck z{NJei|JvP4DgRDfb@Fe4|6}IgL6d32KN&>hACZ5V)UCpJgZ%&4;eSKxiT}+t0sl_@ zg~cD3|A*CIF#hj}|7rcL5Bv|2<6nk36{T z;)~6@3wwLVW_|l81z%OQ^+(kbzW*~CubcblLd?qZUo1W&7-;=DEdOr2ia$ZFfm9j> zrOf3U8J7Q&dnn~Ydg)p9C!Yru5Pkr@eu00n{(y2Jfn!=4zn)_LFVz3e-gL_U@%^9s o{Tr#jDJ>!YXR5ooMyvmI^Zutt-d`M+!XQSslc;(m<(8xA!Z?*IS* diff --git a/res/title.hgr/WARP.DESTROYER b/res/title.hgr/WARP.DESTROYER index 79a6a6de24891b9eb131c645d3fd084aca42eee2..f9978edd473db2b3ba3e0efdd9ac58bc6aea5969 100644 GIT binary patch delta 11 ScmZp0XmHr@SDu-nbu$1Ptptbw delta 11 ScmZp0XmHr@SDx9Ybu$1Qkp$EL diff --git a/src/4cade.a b/src/4cade.a index 08d6bc1f1..48aa29a6f 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -82,8 +82,10 @@ ResetVector ; 6 bytes, copied to $100 ; these routines will only be called after relocating to language card !source "src/ui.search.mode.a" !source "src/ui.browse.mode.a" + !source "src/prodos.path.a" !source "src/ui.overlay.a" !source "src/ui.offscreen.a" + !source "src/ui.animation.a" !source "src/ui.credits.a" !source "src/ui.attract.mode.a" !source "src/ui.attract.hgr.a" @@ -91,7 +93,6 @@ ResetVector ; 6 bytes, copied to $100 !source "src/ui.attract.shr.a" !source "src/ui.attract.gr.a" !source "src/ui.cheats.a" - !source "src/prodos.path.a" !source "src/glue.launch.a" !source "src/glue.prorwts2.a" !source "src/okvs.a" diff --git a/src/prodos.path.a b/src/prodos.path.a index 719de80dd..805f3f251 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -16,6 +16,10 @@ kDHGRTitleDirectory !byte 11 !raw "TITLE.DHGR/" +kAnimatedTitleDirectory + !byte 15 + !raw "TITLE.ANIMATED/" + kHGRActionDirectory !byte 11 !raw "ACTION.HGR/" @@ -141,6 +145,6 @@ AddToPath @done rts -!if >kTitleFile != >kCoverFile { - !error ">kTitleFile != >kCoverFile, uncomment LoadTitleOffscreen block in ui.offscreen and disable this check" -} +;!if >kTitleFile != >kCoverFile { +; !error ">kTitleFile != >kCoverFile, uncomment LoadTitleOffscreen block in ui.offscreen and disable this check" +;} diff --git a/src/ui.animation.a b/src/ui.animation.a new file mode 100644 index 000000000..a2b0964dd --- /dev/null +++ b/src/ui.animation.a @@ -0,0 +1,73 @@ +;License:MIT +;(c) 2018-9 by 4am +; +; functions for animated title screens +; +; - MaybeAnimateTitle +; + +MaybeAnimateTitle + lda OffscreenPage + bne + + lda #$5F + +HIDE_NEXT_2_BYTES ++ lda #$3F + sta SAVE+1 + lda #$FD + sta SAVE + ldy #0 + lda (SAVE),y ; see if there is a hidden JMP to an + cmp #$4C ; animation routine for this screen + beq + + rts ++ + ldx #$20 ; copy new HGR screen to the other + ldy #$40 + lda OffscreenPage + beq + + stx @a+2 + sty @b+2 + jmp ++ ++ sty @a+2 + stx @b+2 +++ ldx #$20 + ldy #0 +@a lda $FD00,y ; SMC +@b sta $FD00,y ; SMC + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + + +LDADDR gGamesListStore ; if so, load the animation routine + ldx gGameToLaunch ; which is stored in a subdirectory + jsr okvs_nth ; and keyed off the current game's + +STAY @fname ; filename + jsr LoadFile + !word kAnimatedTitleDirectory +@fname !word $FDFD + !word 0 + + ldy kAnimatedTitleDirectory + sty ProDOS_prefix ; temporarily set 'root' directory to +- lda kAnimatedTitleDirectory,y;/title.animated/ so animation file + sta ProDOS_prefix, y ; can load other files in the same subdirectory + dey + bne - + + ldx #5 ; copy prelaunch code +- lda @titleAnimPrelaunch,x + sta $106,x + dex + bpl - + + jsr Launch + jsr ResyncPage + clc ; tell caller not to refresh screen + rts + +@titleAnimPrelaunch + bit $C082 + jmp (SAVE) diff --git a/src/ui.browse.mode.a b/src/ui.browse.mode.a index 13b289428..564cc82af 100644 --- a/src/ui.browse.mode.a +++ b/src/ui.browse.mode.a @@ -111,7 +111,8 @@ ForceBrowseChanged OnBrowseChanged ; in: X = game index jsr LoadGameTitleOffscreen - jmp DrawUIWithoutDots + jsr DrawUIWithoutDots + jmp MaybeAnimateTitle ;------------------------------------------------------------------------------ diff --git a/src/ui.offscreen.a b/src/ui.offscreen.a index 2ee6dfa84..77440fa77 100644 --- a/src/ui.offscreen.a +++ b/src/ui.offscreen.a @@ -8,6 +8,7 @@ ; - LoadCoverOffscreen ; - LoadHelpOffscreen ; - LoadGameTitleOffscreen +; - ResyncPage ; - ShowOtherPage ; - ToggleOffscreenPage ; - ClearOffscreen @@ -47,15 +48,15 @@ GetOffscreenAddress ; out: all flags and registers clobbered ;------------------------------------------------------------------------------ LoadTitleOffscreen -;;!if >kTitleFile = >kCoverFile { +!if >kTitleFile = >kCoverFile { lda #