From bd0fdd341804478234ba3ce3eec4799fe72601e0 Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Sat, 20 Mar 2021 22:46:32 +0000 Subject: [PATCH] Explosion sound, and direct calling of sound API outside of composition --- !RunImage,ff8 | Bin 10692 -> 10772 bytes Makefile,fe1 | 37 +++++++++++++++---------------------- c/CTheEscape | 3 +++ c/Sound | 17 ++++++++++++----- 4 files changed, 30 insertions(+), 27 deletions(-) diff --git a/!RunImage,ff8 b/!RunImage,ff8 index 3ccef587f215802e78b713bd06f3126020ac4d35..f7b82fab08041da3dbf2a973b55dbab71244070e 100644 GIT binary patch delta 2567 zcmZ8i4Qx}_6+YLolbG0v9otD9$9_(n)`$|x-@2qrfC!}wG!{0Xkd12V1Z-4e-A3%kU7J{RV;a&{VBU8fcSN&v z^v?I4@0@$yedk_ZTH3M9L!`%)*@zOyvMJ#t`rGkAPmZW9v(gY%>xP+hqdbceH?{V- zfd3f$KfyP_pA7#7{0#Vy!v7Gy(ud$LQaGkx?PKP;{=$2RJ;^SKhQg=crno9$bTEm zo2hs{7zXN2#dCl@Lw*OCb``g0fQcgG0GRJ7jq_e6C7y*wL|fx+V0S9ru7802HagFI zx;4H7>^9_4P>_)pS&CHU}!+_k8$cIFLe9ziU~ zOU$mC4xmSYywh~U;@6GeS}3s&Gbq7-L1j~w;pl6!HiP>V+#1piH7AO{nMuB>+-q(Z zetyCd5}mxl;uAM`nM(Px0y0VBALjbA3&t?xXzu?DvF+8?4L4 zlRRMc`DfydKE~U*sU@CGm!z6>a_BLOO*ihcw64y_Jfu$IhOL^s{54HFv$%0m+1zXh zhyIs1EX@-V-v^JwilaR&Ys`8~;CUaMDx7E6jSGBgQq*&Fym0JRI--{BXHSl1S0kvj zfn42qlWTHZ;wm@f%qqQ@=GB4U3tv!8+=iyBv4$PbAs)zCZttC-TF*|~X0eD{Z1cn% z9=0XLzj@dm7RUIuy->WwmfWy-gQw;eTGnS!BAcDLKK}uDRMjOnV>o7EIA&vXgs&yO z61+_*#4bL9j5=V4!rm?Ej1|bZR{1canr|bzHXW@;^n(e}8C;sDiAJu;^LdV8_$=75 z7~&T--B9amyd}>k=JA2NChuOvZC4J&GfQhnlr9iZnr?ZIg~KIwv&RuNmG|=+N2B-> zpK*l6iyU)w+naE&I*_JjwvOAJA#s-bo#E05Zb~~!nh`sZryJJN>XA&8U7cFGTkhgJ z&XW&qkxiXab>;rz{1R_*74EuKqRApUB+q|clN9WdA*1~T7o;bV>p{yhj&1`JgxN-ah7`{Ms1t>$Jjr= z=QaPG3>vD#r@x3b)E&GD^@~<(((LGz|KwrMiynQmCf(??qEVCTyAD$7|6AzM!BT&Dtp=bKILtpN4ApKx&c7C`ScfbZt+EB$py-i{(Ai>GEo%JgKgq-hYL=l^0RDq}$;6Ye zLD)L*j&J%#o7hsMiLde_MU|qJ8;UCJ^{Dh1y(R1EpnQQ36-^Px`R7GpQO2?;BtB)U z*JrIz?}0sA##6mMkCsMJJk7YW=%5~(&#Rzwr6Un;@y-(O@fmN}`co5)sY~$pJnCI4 z?(^K@1)`nXibGBey~Zp9X_d&9n>TV+xwSfa*V436{d;-ULU9ve>iz2@FO8M@T%Ymaf|JxY#HyR zxAdHK?z{Lq!Oqn4#8^q}=#qKZMH`9C2t(KuE@h4-H$O5(SB_js}@ zr?}653cHV<+*kf?M&SJ0L@Qy(1w delta 2459 zcmZ8j4Qx}_6+SnyotW6kb8O={j`I?n%%BXCv{}<4IwvhFfdp^{39tkTjBTu4fsXzN zbw5NT>Bbh3aPl*xp}sN@N!ti$O1lzJ#vpCCiHZF%Q8ulypRQUkS&Kw9bsP1*>zEPk zNk{K|-}%nDKkwXY_piOU#!FI~CDhUv|s#0UC; zxPTvo|2Oy<@C)I;4?h#W5B^`^E4>H)0}AIIh`+-z;kGXZx(qbI=Y`vOKhS%1hWQ&X zZ>8cDU@iciOvTH9{HqM}ESTX`ya>#jKrg4_YCeOj4f6z;L#enE%m~oIRNMx1AM%fY z*`JDkZleSP?Mub~3G^@I_k(#s#ho96X+%a3nB7X_`Vh<}XhdUYybJ6TO83LRgZ(aM zZfoj{?*Y37BTVJA5yQ;X4D$*!&ms1;|BG1=`#oZdk)MV99ndt-(s-&c8Z?v8 z{53uDHfS2|Y52)ZyYnpK#VZYS6Jm9#S-k zVh(P$xa;=BIdHA|5EDo|O>rs)#Em`Zt5+2QJ^k1-0LTv7iTdCE2Cz(9+$*XPG+mWZSD?9AR zM;WK6VK!`jNp?}!6xDZ6S*TySxj8#r*sXG@E1rx}yqa3fY2@!3Zo7VQgb!x_S_p2j zuM=S&wFiPFSka%bIuCWkv+1H#olcq&vpNhj#?tGI#U57E8cpvA{oORB=S*licId+N%xWnQb?Y3hQ-f$+UXNdvNbm>e##4Teb%;2N@TMuHxT>*JgOR$JJB4qXpRTbIwH^! zUkTo!6k-=2Mn(h}Un4i*-(}tW)xK}l#sh*8+mn$SjdBhbit-?+D8Jfg`*oi#Dw3pUR*--ZJ)X+n6 z7vFNdAgugUzRy`kN2Q2%p%Gim9=?>nZ)2Z@#+S6~QsBH14MT(Nq_G9K8u94^vj0rknwuj`UZ1|?~IvMPfT-AY|z z#G>fMEX=nF>*(NH?tph=x(=bv)izz0xCW$yOFcgERes3xJht(a=QvK{2JcUTH#2E` z6+XrVY__@;cL@BZY|^Dg8<4+bG52}zww=24VBDK6x>VbJKgPMnJ#)k2GM}Cs67TZ+ zb3?9I(z8(tHxy^s>D#>kJ1`#mPcpG1nM}Ne_bS-ZJITb)pl;VOGx4${9LDWD;;Rr% ze8m@9{w?I3U9DpMvP^W!??GE4j>;97*=pE&)Oh#vWMT?6t5ItqdJ`E~3m(U24r zHMQuFv=F_59f?(AcS34)_#&(M+x~#JFpVC=+k&fwdW~3w5BUT3+;n6ypYzw^pnmEP z+s88KhPtdexx8?Vc#ZcIE))Ctd|?Q_EUXaEu`8g99b6pf$Cp6b$$=mTMuhL#vKdR@SXV|R@EFPdJwh*RtH-OYk)PuqOi5F^{{r> HX4roLCZC{_ diff --git a/Makefile,fe1 b/Makefile,fe1 index 02ad35f..8da425f 100644 --- a/Makefile,fe1 +++ b/Makefile,fe1 @@ -25,34 +25,27 @@ Linkflags = -aif -o $@ cc $(ccflags) -o @.o.Input @.c.Input # Dynamic dependencies: + +o.CTheEscape: c.CTheEscape +o.CTheEscape: C:h.swis +o.CTheEscape: C:h.kernel +o.CTheEscape: C:h.kernel +o.CTheEscape: h.Sound +o.CTheEscape: c.CTheEscape +o.CTheEscape: C:h.swis +o.CTheEscape: C:h.kernel +o.CTheEscape: C:h.kernel +o.CTheEscape: h.Sound +o.Graphics: c.Graphics +o.Graphics: C:h.swis +o.Graphics: C:h.kernel +o.Graphics: C:h.kernel o.Sound: c.Sound o.Sound: C:h.swis o.Sound: C:h.kernel o.Sound: C:h.kernel o.Sound: h.Sound -o.Graphics: c.Graphics -o.Graphics: C:h.swis -o.Graphics: C:h.kernel -o.Graphics: C:h.kernel -o.Graphics: c.Graphics -o.Graphics: C:h.swis -o.Graphics: C:h.kernel -o.Graphics: C:h.kernel o.Input: c.Input o.Input: C:h.swis o.Input: C:h.kernel o.Input: C:h.kernel -o.Input: c.Input -o.Input: C:h.swis -o.Input: C:h.kernel -o.Input: C:h.kernel -o.CTheEscape: c.CTheEscape -o.CTheEscape: C:h.swis -o.CTheEscape: C:h.kernel -o.CTheEscape: C:h.kernel -o.CTheEscape: h.Sound -o.CTheEscape: c.CTheEscape -o.CTheEscape: C:h.swis -o.CTheEscape: C:h.kernel -o.CTheEscape: C:h.kernel -o.CTheEscape: h.Sound diff --git a/c/CTheEscape b/c/CTheEscape index 3998433..f516371 100644 --- a/c/CTheEscape +++ b/c/CTheEscape @@ -451,6 +451,9 @@ void game_collider_tick() { NPCS[i].sprite = explode_shp1; NPCS[i].explodenextframe = tick + 4; + sound_play(1,-5,0,100); + sound_play(3,-15,0,1000); + sound_play(2,-10,1,100); } } } diff --git a/c/Sound b/c/Sound index 34f77fb..98c921d 100644 --- a/c/Sound +++ b/c/Sound @@ -38,15 +38,22 @@ void sound_set_voice(int voicenum, char* voicename) _kernel_swi(Sound_AttachNamedVoice,&inreg,&outreg); } -void sound_composition_element_play(struct CompositionElement element) +void sound_play(unsigned char Channel, signed char Volume, unsigned char Note, unsigned short int Length) { - inreg.r[0] = element.Channel; - inreg.r[1] = element.Volume; - inreg.r[2] = element.Note; - inreg.r[3] = element.Length; + inreg.r[0] = Channel; + inreg.r[1] = Volume; + inreg.r[2] = Note; + inreg.r[3] = Length; _kernel_swi(Sound_Control,&inreg,&outreg); } + +void sound_composition_element_play(struct CompositionElement element) +{ + sound_play(element.Channel, element.Volume, element.Note, element.Length); +} + + void sound_composition_init() { int i;