From 48f7a03edf1b3d2a9df8b78cb799a860f1f055c8 Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Sat, 20 Feb 2021 16:30:45 +0000 Subject: [PATCH] More intro music, skippable now --- !TheEscape/!Run_Intro,ffb | Bin 1189 -> 3875 bytes !TheEscape/!Run_Intro,ffb.bas | 139 +++++++++++++++++++++++++++------- !TheEscape/Spr,ff9 | Bin 56292 -> 90084 bytes 3 files changed, 112 insertions(+), 27 deletions(-) diff --git a/!TheEscape/!Run_Intro,ffb b/!TheEscape/!Run_Intro,ffb index 8a8f20bbcc453a0896d1413fdf67bbf01be872e8..0fe20b67567e548be38daa3721ca32136d7addbe 100644 GIT binary patch literal 3875 zcmai14TuzF7~b2N$shVo(euBq*SXts)|-=^*}daVJjvVjF3U7L(~#)e+&On^Z)Vw@ z)4PZWiHeZOD5;RJ5Gjd>kdO*7i#S3hL?TMXe$cRzJg$i7?|tWQXKrtEP}b#<}G-sP8o zCX7nKEEsyfnJt?!$wi^(eGmW;jez`s7?5u>io-)e#G$4DBAw6bx>gJrIT|#wQPX#s z`2gY=vOlrx28bImwFP|_?5vW;;KopVt|2{KE^E4Jal`-HH;&ANqdnz5Qai0 zX)ls|h>tSQ>K+TLSlv@$0Z_%NaXudgql#7Id^Lo_;jjqMORwtI;++ufP%2(~i2CT3r=&H-$xlh0A!U zkKR`siPDMc4`C!l9J{BXkiinP6a6P@DG>c3arfi&VB`1JhP)vY>rTLNaJtmmY8Y2q32@cFk9wON z0Z=CnYas#q824xw;AiY5KiJuHeNbsXw1JODoN-UiBE_?ed+s1T+<;Fc-@aYrFAl9B z;yGwg8#=Sg3+|K)ht6?VlXiui&mjyZaC6gU9?v456_bzRe zDt1J|w&dPkKvP%k$+dVGfXj?~e+IxA#+_upxW#1L=UCnII4;c@&uGQ$sARp^xE}?? zkK_Db%0=*ATz08sHz;|FmMs#|X4xSXXZ%g8z@Gr8y8ectL!3R$__^Hyv>o+i@Zt6P zP9vw0Q1V=&tEF;4*-htU^)@BJ_+~YLbwh9uIhJE0<_Z|UDiP3d(>~d{GtcO9ti)0J@Ior%TUIwV z6Tu{|Bi@Wrc`YDLowPL+YUfk#Gvgn}a-U}WGfSq#GX4dt9r%OD?Ff!{8*Ga`qj<(e zt8GaBgJl5r%1;}^I(nr}Iu44;_)lBN>{W{dp3}*#jUkdYGbDPJK=`2v*Kife_^+&W zeTMPh%>%I8(ze3*pRqOkYAFT7lTxs< zmWAJHf(f&&JO~Z--JXC6jXV>iCfvbkQ9#)kHVe9juO$=D?~hcV-zen^8WYqxxIFBI zqsN)B2HkFrb?ze{9l|v>5|c+`=tS?tSLiDsZtfqzyA|HNHka@`l4@1kJ7n9OeHD{^ zYH}wNMu^2;WU;Sf0_Y-9alH=~iWFPLG>V!I#^4}iiQMoIRE!~QPhKlys0Wr~{|2sh zjx*A3MqY=O0$c;MK(`ke=sGx1GRqkMQCvz6<6Z>gu9$S0TFTf`GJYIYCLFsJ@ZRMa zaBa4xuqTBRDD*_j6WDEzUTca8W4K(Z!W0UX4knz#UaiSkmz6LN%!CW6DNsrx2n+CL M!j<~&s)c|51CWB2{{R30 literal 1189 zcmZuwO=#0l98W^ahVVA=V^i_tzqrnhzCx0wT{oPljDaF<(80umCDPZmtV>FgeH1*1 z2LJ$K%{ttNX8kj>Xv<$w_Ik$U=&s>j#bDD(2J|Ns;dqX=`2de`*#YiwHR`7 zwQT#YlQ+^TO&JutO_t{6+pMg%*X={PyYPMfWUSzDQ5^0GO zMjPS|CsJ*Q2b?h55Rb8T<=_U^Bz2AI*{N=w)a3bJ5DxRR!V$pV(ebO*VTz6nI^;;JLlcew?urok2p+Yk z(K9S+vPPQ7v{fS>g9dO04dCk0z%0=qd z{+$A=Shcu5q-ldhzI*rwsFN=9Jh1E<%(9wF?kl z@F$V$(a%Kw6Cq0HKpk==$K@#nC^{~PO$EN0WqSs4)0c>H;1mztwX3!@$NK3~jMid< zL^+-XSbqZQL@tl(jmtk##T_;ixWZJ#iQ7PT*=Uw112~1E;S?j8I$XhP;x*cf7E8=!L>cSb{O@*!W!&A5b6q_Kunm|nIh0eK$sw zYg%*SaTKdmPc*l_T|nn^^tZ?;kC+Fse7xry?qYqXW{_aDGnOs)U` diff --git a/!TheEscape/!Run_Intro,ffb.bas b/!TheEscape/!Run_Intro,ffb.bas index 318eee3..e1614d8 100644 --- a/!TheEscape/!Run_Intro,ffb.bas +++ b/!TheEscape/!Run_Intro,ffb.bas @@ -1,10 +1,79 @@ -MODE 4 +MODE 28 OFF CLS sprite_area% = FNload_sprites("Spr") +PROCdraw_sprite("intro_28",320,400) + + +DIM Notes$(12) +Notes$() = "A","A#","B","C","C#","D","D#","E","F","F#","G","G#" + +MaxComp% = 999 +DIM CompositionStart%(MaxComp%) +DIM CompositionNote%(MaxComp%) +DIM CompositionVolume%(MaxComp%) +DIM CompositionChannel%(MaxComp%) +DIM CompositionLength%(MaxComp%) + +PRINT "Loading composition" + +CurrentNote% = 0 +CurrentStart% = 0 + +REM DUn, dun, daan duhhn +PROCAddNote(CurrentStart%,1,"A4#",200) +PROCAddNote(CurrentStart%,2,"A5#",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,1,"F3",200) +PROCAddNote(CurrentStart%,2,"F4",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,1,"G3#",200) +PROCAddNote(CurrentStart%,2,"G4#",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,1,"C3",200) +PROCAddNote(CurrentStart%,2,"C4",200) +CurrentStart% += 200 + +REM DUn, dun, daan duhhn +PROCAddNote(CurrentStart%,1,"A3#",200) +PROCAddNote(CurrentStart%,2,"A4#",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,1,"F2",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,2,"G2#",200) +CurrentStart% += 200 +PROCAddNote(CurrentStart%,1,"C2",200) +CurrentStart% += 250 + +REM Duh +PROCAddNote(CurrentStart%,3,"A3#",300) +PROCAddNote(CurrentStart%,4,"A2#",300) +CurrentStart% += 200 + +REM Dun De Da +PROCAddNote(CurrentStart%,1,"F1",20) +CurrentStart% += 50 +PROCAddNote(CurrentStart%,2,"A2#",5) +CurrentStart% += 20 +PROCAddNote(CurrentStart%,1,"D2#",200) +CurrentStart% += 180 + + +PROCAddNote(CurrentStart%,2,"D2",50) +CurrentStart% += 50 +PROCAddNote(CurrentStart%,1,"A2#",30) +CurrentStart% += 30 +PROCAddNote(CurrentStart%,2,"G1",50) +CurrentStart% += 50 +PROCAddNote(CurrentStart%,1,"C2",50) +CurrentStart% += 50 +PROCAddNote(CurrentStart%,3,"A2#",100) +PROCAddNote(CurrentStart%,4,"F2",100) +CurrentStart% += 100 + +PRINT "Loaded" -PROCdraw_sprite("intro_25",320,256) SOUND ON VOICES 4 @@ -13,39 +82,55 @@ VOICE 2,"WaveSynth-Beep" VOICE 3,"WaveSynth-Beep" VOICE 4,"WaveSynth-Beep" -SOUND 1,-10,189,200 -SOUND 2,-10,141,200 +StartCents% = TIME -SOUND 3,-10,169,200,200 -SOUND 4,-10,121,200,200 - -SOUND 1,-10,133,200,400 -SOUND 2,-10,181,200,400 - -SOUND 3,-10,149,200,600 -SOUND 4,-10,101,200,600 +FOR NoteID%=0 TO CurrentNote% + IF CompositionChannel%(NoteID%) > 0 THEN + WHILE CompositionStart%(NoteID%) > (TIME - StartCents%) + ENDWHILE + PRINT STR$(CompositionChannel%(NoteID%)) + " " + STR$(CompositionVolume%(NoteID%)) + " " + STR$(CompositionNote%(NoteID%)) + " " + STR$(CompositionLength%(NoteID%)) + SOUND CompositionChannel%(NoteID%),CompositionVolume%(NoteID%),CompositionNote%(NoteID%),CompositionLength%(NoteID%) + Key% = INKEY(0) + IF Key% >= 0 END + ENDIF +NEXT NoteID% -SOUND 1,-10,93,200,825 -SOUND 2,-10,141,200,825 - -SOUND 3,-10,73,200,1025 - -SOUND 4,-10,85,200,1225 - -SOUND 1,-10,53,200,1425 - -PROCdelay(1700) -PRINT "Press any key" - -A = INKEY(1000) - +PROCDelay(300) END +DEF PROCAddNote(Start%,Channel%,RealNote$,Length%) + CompositionStart%(CurrentNote%) = Start% + CompositionNote%(CurrentNote%) = FNEncodeNote(RealNote$) + CompositionVolume%(CurrentNote%) = -10 + CompositionChannel%(CurrentNote%) = Channel% + CompositionLength%(CurrentNote%) = Length% + CurrentNote% += 1 +ENDPROC +DEF FNEncodeNote(Note$) + Octave% = VAL(MID$(Note$,2,1)) + IF LEN(Note$) = 3 THEN + Note$ = LEFT$(Note$,1) + RIGHT$(Note$,1) + ELSE + Note$ = LEFT$(Note$,1) + ENDIF + + + NoteByte% = -1 + FOR NoteCount% = 0 TO 12 + IF Notes$(NoteCount%) = Note$ THEN + NoteByte% = NoteCount% + ENDIF + NEXT NoteCount% + NoteByte% = 41 + (4 * NoteByte%) + ((Octave% - 2) * 48) + IF NoteByte% < 0 THEN + NoteByte% = 0 + ENDIF +=NoteByte% REM Delay routine - thanks Sophie -DEF PROCdelay(n) +DEF PROCDelay(n) T%=TIME+n:REPEAT UNTIL TIME > T% ENDPROC diff --git a/!TheEscape/Spr,ff9 b/!TheEscape/Spr,ff9 index d0611e8d802b5222cb5be825b673dd9a4ba8c310..5b1285f667e4b192a0f363e292f1518731314207 100644 GIT binary patch literal 90084 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 bo=$x5{p(qOrE3Rj2Wkgu2WkgChz|Te0A#c; delta 2524 zcmbtWK~EDw6n?`(E0Rz!MzXkc=Q-yn8jO=fvtk~hPlfJD+7mFN~zYfqqP|TW3?WBEwr8= zt!De8QYDb8)Ou(jesamPMVcmw1SAzGTw_ zr5L)upBhsG8n2s93>bii98XoSufV|clyHhm^=969IFek64Q82yC2 z$T?(AyIlsmapEw6W)+;ncG-pon$E7%HiCKLc%JQ)0cSBb`7t7C)GJ4!1ew>nk|)Lx zacz?|+9x(iS0S?PMiaF|3NTDEM#l-yQEEI-Vs4>4he)Oi;iX%;hh=G(1q~ZYAK0amhVYF< z2s*<SIuwG>ltOGvn0>rU<;dI072fh>mbaRCQ3773jM)25q@J3rx?C zwJ54Pw?_Tzu>KpSy-7sGFmVkp#x94j&}o=JekD6W!P^-8%$)dNZ3f?PN?X(DXB(mQ zDVMt6f)~I=%{uA2czNb_R;Vx;xD4GSBbnE#%h_vpn3KxMhC)@SNazTAI&8_)lk@9W=U63V#9C C7tmY)