From 29a2d148b21caa0912574d4b86eff91cb45df2c8 Mon Sep 17 00:00:00 2001 From: Bill Kendrick Date: Thu, 26 Jan 2023 21:57:56 -0800 Subject: [PATCH] Maze magic tool - sound effect --- docs/AUTHORS.txt | 10 ++++++++-- docs/CHANGES.txt | 6 +++--- magic/sounds/maze.ogg | Bin 0 -> 15669 bytes magic/src/maze.c | 20 ++++++++++++-------- 4 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 magic/sounds/maze.ogg diff --git a/docs/AUTHORS.txt b/docs/AUTHORS.txt index b88c97e36..903f45581 100644 --- a/docs/AUTHORS.txt +++ b/docs/AUTHORS.txt @@ -6,7 +6,7 @@ Copyright (c) 2002-2023 Various contributors (see below, and CHANGES.txt) https://tuxpaint.org/ -June 17, 2002 - January 7, 2023 +June 17, 2002 - January 26, 2023 * Design and Coding: @@ -26,7 +26,7 @@ June 17, 2002 - January 7, 2023 Albert Cahalan Bilinear interpolation code based on an example by Christian Graus - ( http://www.codeproject.com/cs/media/imageprocessing4.asp ). + (http://www.codeproject.com/cs/media/imageprocessing4.asp) Input Method (IM) Framework implemented by: Mark K. Kim @@ -109,6 +109,12 @@ June 17, 2002 - January 7, 2023 (https://freesound.org/people/MrFossy/sounds/590303/) Creative Commons 0 license by "MrFossy" + Maze magic tool and artwork + by Bill Kendrick + Maze sound effect: "01-35 Footsteps, Wood, Socks, Running 2.wav" + (https://freesound.org/people/SpliceSound/sounds/369834/) + Creative Commons 0 by Julian Evans + Mouse accessibility code and keyboard access Ankit Choudary , as part of GSOC 2010, with integration and fixes by Pere Pujal i Carabantes diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index 1106cfe63..4dd2f90ca 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -26,9 +26,9 @@ https://tuxpaint.org/ - needs sound effect - effect needs improvement - * [WIP] "Maze"; draw a maze pattern over part or all of - your drawing. - - needs sound effect + * "Maze"; draw a maze pattern over part or all of your drawing. + (Sound effect licensed as Creative Commons 0 by + Julian Evans, https://www.julianevans.info/) * Improvements to Magic Tools: ---------------------------- diff --git a/magic/sounds/maze.ogg b/magic/sounds/maze.ogg new file mode 100644 index 0000000000000000000000000000000000000000..88b94a0dd50b871fd7015e67d3e162afe6374b6f GIT binary patch literal 15669 zcmaia1yo%>v+q8*7b~tU6b|mz;>F$F-5rXS;_k&uad(&E?heJF6sHAR-1;{CfA@ah zyKk-gvT|~=Gs#Rc^PB9+UQw{HPyt|oe(ACxj4Aln=&~#TQEDCIXK#yF{?P*TA7%sJT)`_CAu)PbMf-9b1-9qJS4>AmBsk~ zQYl1jtsIfTwztBnV*G3@tX!<%gQ}FOtQbEFD}GHOG)Xol48r;P?qf=KT)3Vpg1pv?~t~BN(7a$enwiBbza@1 zvK>Ls$7OOm2D_?q-YbZj0`|TB*T0&AwXA!8%`q^{#@A2txjquYEVJ zp7P(NQ$T?1m%Pc_(A*b9x!-tmVS_@-VF1%7l~5ojynrU;Nfnw~S6XE>T9!51jn*=Z z)}sCG0zkknPbu3fz3~6Z=32>S|NksxIYb8tfw~-YA{lg|5>uucbY?*OtKlI4w5gCX zL%%bJgbT-@%NsCDxV{}uk{v&nefD2QcrrVPT~?BQCz4@M8_JBc&YT)9{EIGfi=Zl= zH1fZv4}b9jE`;)vd9t-X5__D{U$yvyYzcCZMA80{1a=6^`A(5OmHvC27bATqy9765 zwmV!kgQle&M9_`U){U`^GCURKy%T&#)xDUaXsjTL88|@{M>p(dxm5B> z+7vV_Xww%YDN92O{_!Z#s1&Ag!U%+aog^gHc?4Pndc}Vl?v!d0i*))w^5hwb5;irM zr`Z@)*!k5|)im7gv{Kwwnu7Jdx@|1_ZY)L{;D`KAVEwn}0HD(Z{q@Nt<0#g_%s_b& zkMF#d}};Wx)Lj+hdMoXT^(>E~{7qlNZ_^y2Pgr6KkE={AA$3P)NuCO30CA!NkhCe1&K3K zP{w2eb|`frw#jy8-i*|6eiDI9#HW00lkf^~5P%5&P;;i@o8t@cN)PGgOBBzdKW9dx5T)g!ehN3G2DZj?%DZfi+;+Zy0H z>L+?X0CZB9Y|WhVRiPzVB5fNdO;(em;#G*aHgdd8Kq@Mwf6MA zTp;07Z3U{Y$4X$=LH!c}WVM%_k0BymkdG@P&8R*G0y%F+Sh6G^TScm*0c2H> zk0&F|+K8)T&$>VYj>yN>k%A83s@O3Oq`w@X09g$`3I8i&Cp8IVl@^#FEnV?3L3u1Q z@rhMnjITku-&s{OsM}aq z41mI^3kYPSYZ~xu>{)k-q^&BRgqQT=>BNA-Rcts57p$KMI(GaE=`PY03v10 zeLmg$<`4HOElf)R{6{<XyI-LxhgdWI~u08l)&q2MxxQmZB~ILvs`oFrKrW zO41|&C-l!gVu)sp#u`H5s>()(6(lQ7Q}O}SXoVXHg@XPuZR?8quR=%_!3%6M)F2eh zEBaEk=>gyvoY3*#eS{i_Lj;5f@<6$~7MR9ky!#{^;Lb=Agh4lu8Hgc*^cIH3Ziz5!KcYYa_&5L(c=t%2icFW7e+MT2u7O8^|7Q^;V4Q`e4!*4i2#AsXiOR*X z|2~@7{wqjN{payNV)lPW@Bdp($EE^=+AZ;6P>Nbqf zh6UrO22lUt4zXYy$+@773T)at0{)WKP9Y!j>w2a)|Js@o47Nr7YWwM6pbXj~`w12$0Jz<102sFb#Z9#GW-G<4x_Ybr{K<)k0FG*44FSL+yz&0o;2r}BgHEOVi{7(S) z7mPvJU?`Uaa{i|+2^*C0H@r(yenKRunkT|vsQ#@XQ$DHdZ)eJX#y-V@AVguGcHx)% zRCyyWY&o`iU==Ngqyc|40C4(heFR+?qUg^IN|p(VbH+4g!cvalm8db3B9D8u?8xN-i0IQH+pp(`|ZBlC$BVEl7*hX7;%kbq9{;zc@d3`Xp;ILvsg1nfkd zBoMv;unF;h2KZCKhlPci$K>^H!&1F94a)EP4oCf${8S(z{c}`-`&<9#XfGuD5Bce6 z|0L!$J}Cz|I}7vV@a)pm&`57xSIc`fkEiDwv%+4}3+dtrgUPCn)cl&l=djrCU zn?y6^9C<-+l($${QQWtGgt699WsGXFwx4L!+C1?CKvbp-hvXw$O`u%uH+-j+%#@Oj z!+33l6B_R7ZNK@M?Cx`U{`?II`X7&9n=M-w>(0N%sevGLCFGz_sfs@Y(qWT=|1@}R zY(z)Kw?4Z(yqT>RY*@{DVKo@MdX}kQHn_xx4%~7j>BC`dN;F`NXnt-}*_(6~;1FFD z$5CajprSL`!SoM5+l;E-+`9Mr!7p&5xaZ9tD!8{>-@BWD){Dg}VyZM_JgqGrY}=2m zblpjNVF46Vd3R!HCdGM*s24Z@t4T4ftgu!YSjAzWjp_7**t4y{y_Lnl!`yjqg2D$rOWU+}yBQzGToB)sfTatHH1#d7)ADLjSg z(i|;kM>OSy1aUG;jpRAPRh=%pO!oe!wVDSqps)Sq6Gs@F18FY9xvhc#b{vA*%|}aW zBLJ=QE3tn2{jz!cr#I(+?5Cra)4w{8o{+HC53ak^m)%Isirz=z+~|g95nlS@z4r1H z3lOo9u2xymD?sLq`kHu*@!WlZbzPkp@0AMEKwj9RdDmn?bQ5;fGtmuuV^@3_trxAW zU;dO)nIKuP@=!-91qjKV$Z)z;)riKMDvQ^>IZ(Q!DqQ zQwZr~Y*STMPSQ~e?x4P?Na)VY`6w(PVB@={YvPvvE--8_6$1uynjRus_Pw5HlAR3j zv40?w?7#S+@aiGhrFYSyGjg~8;$Z9>B|S8yKl`$!z&Wc~%?w5>W5<~;`Z02804{Fy zoi3I*8u`%qYR7HE!cX-a|C_ivi4<&?9}(|4`7sjpC(V_Yp_6ZX7ZdPl&8=E&V1ji0 zFmhiJ(9-@S&R7ihwZzs>@EhIRlDUkc#cX8qs&jOFjAN5+u^rBASNOq}>FvbKzfP&4 zfdhn#-e~95cMoisO2~+hYDq$TtHiCV6G0zD^)=87Lw?mYJ}+-2vY1wAf|l=`0+$ba z>U)r5P(^4U@aEc_d;R^s`ud7K6TiU9`7O@qP4+9h%$HoRS5U@Y&diVq&DKr-LX54h z&4LHoWSuv>q^|CB)!7$Hqu4RIYBJ79w8T8SL-%8$I>K9Pc}Kyqv47&$3dI8)Fkt!g zh_E3Wq1HtokttA>@5hxX5ff(WvZ#GRppl~toK{@8(x(SF1UE>Mgh1hlurq=WDEx|K^{o#=s2PN$q0_U&pV-TpM7 z(&^KA@tqESGpQ}%#H3@1D`kNg5rKTt=0r@zz9498i=($HJK=E}fqejF>^Po(KBN!AJeVd-^aXs1m(d zJw}(S1(}hmL4%y#v@+)MsP~NfZtv1~NmJW9z8zR79#rD+`q>5a!ck72Cy+9%CIV!q z2+A_B*5unMUpk}8Aci>s`#%FpJrDXn;G&zQJRr-B%6rT~*3-U_Fue<`fF<*=2oHLR zVrV<7*|Fe9iuQ5xQt=*hDfQfQq)2KrbR^+PpOOxOYtt5r$RDah&2Sq{WXDH`m5tSpL3oY zv`9P8fQ-&xa3!tq7$CR5H0_$h>MjfZVy8{24)8X+&+9 z6-<|aJl~R!4!1^+1olH)!o$d_=|oT6=$bj9gvl)~L1?~Xg@18$ILj`RXMaX;bCB$NKvaG%^@To$Z-6VglN}3v4`CCQrd^9F5c-Hm( zH!C+YL1L<&ThGxOV!M&+drw94C}YwTbZUpo=y=0o!N$LhaP@g;ROqlqu(#!Kzs zwoKu|R`omKQD`^;kCwX0*xwMdm`=|dui>U5XQ*6DhunpIb&G6%7K)0gSZX^n#H?^+srjT zjZJP_uM|J+Mr^*NIt8SYpN)`d(Jvyh@Wr^>w%QxkUjYDa2hXazMs`KcfzkOJ_BhA4 zFtsbJR?!x`0C4x!NL0Ao()0CREdO*)2)3XmpSV%3A^<&3TsCiBg2Fh$o9D4@#&FcIg2?kf{ zrkUN|6~7Up9npV%1(6LbE`Zfhj*31l zf#{X8j`mqU{%oGprTNTx|6#yAVJ2inPHCNp;Dw5$J2_qM^B~fzpz^qrF1O2^E0xJ+ z(?r`f6Enp!9Qsqk&+ikHhiY5O*0WNaqMv<^Re)?I-p5f;35KVi)G`JN>+a{Gyfj$e zX3T`e=L?9KWq$XaJ`)#K$&<3L?PP~x>%+BNp7XTXHjF%7s{#Vhr9>i}uLKFD1pIh( z%@?xmx6A6VCca)}Ad*u9b{BN>IhOVCj&~FD9-XuHkEh114^b;KnoW~M$Jq4azjbvS z>bI^f1}#v~Swo$_=Bh1-7MY0Vq>%}=;o~bkur=~*e=;Y#vY%N*^gei)lV|(*#S$0p zl_|-~gN@1Ng6!Wzncb~s1fL0Lj3470W8ed{*&5yxDe-NqI3O@7FSo%XUP)OJotcib zhF*BUO?TkP&M?iNS5}Bd#J0ikxQ+1UHJ9Cp&^7<`ni9kMz<)~RM{|K$!Hfz#a?7I9 zL*(8F7l&w1n0sy4jJ)&9#aRM)I)5wv`qO;pO07fQ!E7<>Gw>PQ50wijRqJXX^8$A2 zMnnQwHfFzmAUyNI?jdLcz7tM*we%Zn%FPPobJwG*gtjUF9+;9^u0qrfxjnWQ_QY1o z`}L?LPj_4)+Rfl6PBVP7JW*nnzgfW+mbHUG3Jg6*?prP8gx@7F_!J=2Tz^fa>r(qh zaJ6fOnjao@N`mtvfHUoCkA|<$zE2OkVw)p9#zq(?dwWNY z+~Q)TTDci6mzBQt%%6Y|D6|tHSDF3jW7z#gmg?nvm@|y?bEnRndry5gO*FK;$!W1w z!34pzxLchU`CKFLrr0AfWZtFNqBZ{&$0yQ2$ud$JqFMcu(%@yj_Sv3F2ehCMLW;87 z;~G}Kv1?)D)S^T7Sj*EI!uN@**57}i&1n5$rcr?w&sCMzZ3?5WxYVA<$2SL2)^7K0 z^wZJ5DmF#^`OSS#f$De#A$V=}#9-L$>z{6nWLRi=!d))GJUl>h=AN@zdxR2c=ie== z1)Js&Q_3Tw?NE6q_M>wB*_i+|lkIhCgP;TisDE&sn)Gv5qmI4Vct&x-;>}l!qjNJ* z*OejF$%VM5nxToA%Dp4`RYxC)`f-o6KR{==42kM}^zX$da!WVa8j=&;z!0cns1qAR z!2bQ1U6|x&4kZ1Epkl0o5E}`+hiUGO$|8Uole zX@}BL_}U=ND3_3O-g*PFZx;kBnvm zf%5WYGM;c&zs{gaD(orwF zI}6f?{f3QGQRS}pdN~`}OBQpq0;x5$1pe5nADnFmS^IdIK3fSt;D~g=r=gCut5IHn z9ywlY317)^z>K+PS>O#0V5`f53Ggcuio6O3RrY9v#;@1z)QZa%G}!^eLi zei=pY0cl-XBQw#?*hD?OypMFk_|(gSCfWo;FqqM&m)#B?w=fUXQVW(4t z4o*8)gPaZg>DED$lw&W#b)SF*W54kmLwLA%zY2&L-CpY(63Nvg3~(KnB`<24=A}9t z6VLvsp5_cso-)8paP?&V)P8K(LZTY>){7(~*@3iCr|$VVde|^wS&?1@T4-6#Attsm z=6ljU&k?IrcNmtkiM6BJK2^rUqIGP5?DN2|sJ?LnS}==K{-3tg(lm%_(YEdqW%>K* zFx_+jh%<)Y2$0ms0~3`8GxFKrDyfqi)Kl7J{q z@3T=Lg}chihc}|g7*`**h$m4x(=j?G1ViQ#t$P4h?nsls~{*2hd#+bA}hIL|uZzzBnBe8r5 z+xe`eC5mYB&aS;Hr5I5Ib@kQEbL}Q0ocG=|VX(9z{a!;b9MevW_BSIBSAw_$?L)bE zVjt+cnUdr4?K11>d#k^$zeDgX=N|4Z;>!Mn(LoG!UJ%2ApCY<`@cirkLD%Phf24S# z2&Noyyl8E%`%>Rh|AiL(H1P_`$jnSbOUJ~*ygWBNIryca=}S#V$L$vq#%oxQeIzRr z2SExfZiroaa*Adxr6EA|IR2h`BUY8Cn^Vz*dN>1Yp;bs@#Hp}O(?H7`|5%C7x z6ul|lHo%47H>g{%6k-TWmpt&eq`QZAA7BCVMoh*Z7vQ|`rOEK=0Tdq=PF%k3Z+~st zCsEEOT?#_W7(~glGB+s6Prb^qn;}7Ls;bdcb1y zsq_7h%de^;DwN4lrlLqLs4o5aRP(p0Xcs(F8HDk>KT4K`V1E+6o?d$VEdCMym_z9& zb$$x-a--i};|F(Pn00R0ZC9NS{TKMLme;yz%H&RqX{Za`G#MCP<5iY;ZVOd269>X%NrEpT_+9bqgW?jgrgn;6DFDCIH@qkd}sC@N; z;NhovK@{t|z=Mao-GQ}-aJwIm$Is04vV`gQ0v2vH12WVm-1o!yvRvxLd)h5h=dyhy z9!!nP5eObDqjzByLfv?lBSg2@n)C8F9S;O8qPq}W^paZ_|{Xx&(n7Qgz1QU`lMOHVu;;G+Wr zhQ^s*k%x#e&!e^o$%Ndu`B-k%c4&H(f&Etd99xS1Sgr0Y+u5%BP4XuFNiwPPe3y6E z3hXDjxLkYnxZ<8Ja%l+!r^i!eD#O^MdY20LK4cs_yCx!kLZ@o~kd;#C4u(#P`n-6r z=Z8jyW_BGuIRECrrA(;S7NSP@5R(v8i`fB$=mOFuqb(Gl@FSa^2gNdGiNWYaS5JhYx`Wa zzQhCcc}OH?G2d@Cir}3=5wIEVvk|tW%jm4pf$C{QqjRAfEf(3PUb5x$uG4SzY2J0m zpIN_D7s#!QyvAR1<{GA?mCje8xQNF!l_{)6-_jVq5cQs2Whu!n*nhxj@l&AFXeLTx z|5mg!#3g{6|Lu1l2ElU1K6}iw&#gzFrbYGhoe`&_G!HI2?0(A3mBpJTTS*NIU*5wu zZ6WfDwZ?l1nWI|Mh7!Pfz%ESuI#e&zt_%?e7A(s1O0LOM)%(cw`G2%dl)dhG18Q8` zcY1MI3K8i2a#f$w^z~7Z9#y9;SIYY#i=rjcn^J~+fQ<4dhOxSN`LIx4e*j#6tH)^= zBRhi!6xU=Ysh5USkkh)N|T^Ml5y;Drq`lHG+5`*&%t z1!-?Z%Dhd-wfWy3M~cZ?^9bKhheo&2ex-YFSZ4SvMfyh`8ZBupzM-{;T)S7gX_y6` zx1;X&%X{$h)G=1t{GFL=iXpu4gB+D3H35G;t%ers!7CiVqN47j=-$ zkJ<7tcJG(#YVKV-I`JomuSMJqj!t;TPoa==DEeZ5?Y!1z+|ckUKBjVLPdC#}Y51q( z{SAZhs*%eQF^9#_kxEoJY{sb)WmgK`*J<7`j*zqalJXFlzLJRH+9c}sUtvc+O6&sE zz&#_nllx!?Ic+lw7oZWa2BBqxZYU-1qOCVao5l6cfZ<=fx#dMrfs>E^Y`yEa zXWKsEJzUg4=0ykke!P`W?&QZF<+y^;g)eNWsN)j*0zW8S6B|hM-1K(sCdWhK@zxEf z{{i=w?Gs^ro$C2=7NnZ)-8pI2_jfu|AF(s3NjUV;#Ny%?39vF8PZ@w29QKva5T~-*_QE{2UW-6OdE7R;Z4?g$;tddA~ z0RzU*hQIR|BDP%EjYss`YpQqiqMNyElFl6iTec$7>eM?uPj_8{xXF( z4;eoULxW;^*+j7Y3jGt%bLs%|)G`SO*J_ZcNiDdhk1$+PI^!NRT1sfn@$A+AzypA<26FsKq7l*f6kTPVUw zow~`;aSoZH!Wp5Af2kiInA(@{?uv65x-7N8cxE7lC*&&-Z~fGF2 zxKOtZ4NsMALK1-#6iK(SoDIs2F?8hi1=;q0R;6Yv8Pwgrq?S`R&KAvodzFw|ijhBQ zLZE0_hIsSQW-h<>desX?P*Iv}I);ebCS~6)-gBdDn1h}@#zLh%lL`TmyyPPO-LTRNT2C}jzb@PSw~oj z*eNfUFq!8Ph&|6S5=^jPkRtnsYPVgP+}(QEAM6V59nIR8`7he;&{hoylR4H^^UL^OCa>Z@Er8gFTClhs!jxen+HJ+gApr5*8WYU-> z%kUB}J)epWkv4!fuc@$QeDn>w&fG;(3YU70{A{Yyx2;PC#rG4wvQt=mZ^^3P*N@kJ z!)GfIpPBv9ig#2IXef#vU#zt+@v|7s+*;;2x$l)D@dypPqdd-f+Uf+;TYuPqgK!U& zE)+6MjKNn6cS zh%-BJMts+VsWzD342=)YWOvhm^(d66r8r%N`xY2$ow~C}xu`3Bh_Z-7b)}4o|7kemXdkbewAzqEW|MlAgy{iT}YiTuhP7(c;+Fa4Xk2m+eoY3EPMU1W)y-EQkW(;(w z=)dc6-*)gG?Ic99_$&&gHJOtzmEq8y`ZE4PnJJN;M-Q%;`I_DGF?6J~K--zKHyw6u zLvdKnzz%2pwKZNeZJ^`9?^v&ZJ))()my{xvoy>C(QKqB=ZCL+~IShgv;djT$OX#1! z%vZ0GvoLitgugSqCc{u!Z7?%R*=hpr6a%pc0DTHTKYX_Uw(JT@ z!szS-Oc(U^yG{2t`=UST9vH{#OFqxeHQ42sxCjSmeqYThn7z62?q&N{&aaZV%0`IL z9u;>|gP|w1%0EoQXcyYR8A$hPf+C2$C{7-^hP9O_`1z%Pu(8DJ^h%jA?*=Z}yytAe zfB1lxzU$viTVd!{I$fJHU%lF>i+GtJ19!w^Dc!Btf&Bti^7IzISh!W%2QX~KLis}? zp{!oZV|nU5jpXl31$6L`sLu5LA)i7+7BT)pv?6z1&Rw z!If+}ZH+D35m)hGgP4xwP}pu&ti9=z1=rk64xXVw6TaQq^RA`Jg7*2db1cP2mG>3s zyql{h=oZ4MYVm=g@pFxx)SA_yqq}q{00M%jZ6Lin01Ty=0Dyp{Z95!mHv|9aeGEJ@ zL72$R{3|JrEJR=}qby6ie3$M0%UNPKs@kfRKNbs{TUIacRx}lgvdHhFh#Q=TTd3kO z{fK9eEzTt29o`#7$K8-~++G`s-Pl{b#e!>Vy@}zyH7Sh0r>)Nw_kX`jLaCm}dx;$qQ+ByH&a?L>Rmkzjv&Gv$MQJw8il&2!b4Z|5zG z2~g)94>7+E1Dm7mC}2#kyNK-?pu^d_hH1o35~XHFXPpA;f7YEbARPG6DL}XPp zU{0S^`Vf8TiX+~*M5VI6T*`En99jDIF_6+ozVg+C*2;}}v-*$d2A)4BNdi2M_y<^2 zt9bA-Yp{j9kn=Kjc_y?)*V?dRG!(~!9*Lec}JjRA$nMl=+hrn^@gQ%3xI z0|QQc`QINmo^ECcQXIW}HaRpsIn~oUGFbbiwWHySK96k~TIFV0Q{qr_6YmKtWVx~Q zHlf%UcJp8mwy`9IOQ50x|HRh2(^hN8!(>*c7M@r0_lvBBm&1E01Jjxh`^3>6ZLRO6 zRWRdByElq1ElqCY+d`4~bpr!5w(YK?rnde>-gvharP#Xb;Cxcpn8qK;BN}fHLsINC zLU!#}z&w*}HGS!Z8QTn*ioR#axcXuN=X2Rc=sDBQC3w9i<)1%dlP$)Y$nrzgYYuBA zuunU-#G^QFiu!sJRqXhHxkA0s3clW&MlTy5jVO3N!M@WTrDyu5pT+DTety z`M?}&+H~$^q5uUr$wYOb8E-b4A1w#*TQP>)wtIJy^XWiAn4qo()%Fj|ajh@rm1AU> z+PXC=aYC~(3muz_U$PR3-fKgA=%{xDls^Fi#O>s-__4oSAU&HbM#7Za6#@^7JNVE9 z6bOMqM2q08U9_fOVJbUsap1cC@t%%?mK-~;pi`vP*5rjD8ylLj>*WQvh4cI2gZA(s z^Vw(|^XqmID`6B2pQ5(@gjwi7IeHIw{+bQDN49;^4u*7I+poO7pOJ63)G9K}OJA#< z$`w0dcnmCxShoq>*o`?xe#fAEKUu36tmdcvR(#?(*qd24mYo?>T~@`A&&ow|5iQnX z)4pNGRf?EpwMQ*;!ivZ>kM;v`>49x3c;M3~epo#e`e1QTfh0cJA!!LW3fMJl`P?um zQUcE0b%}L7Q9B1}E=P?A*JoF!af?1-OUP1v2ch5UMorVhmNVle@LL-OBYxl*=U-^4 zs{gLKZ&bqTo6md06+><$KTAJ47WwQYx*5fObQQD zzh|yjd%kUO-|FYI|_;y`EEqLR!a8an@{CgD;?5O z+IGkhRRJ>jnTmF&N3|gXg0-v3lrwjn;EkGe9LpKvw%VieiMfXcqCr_7^*lul3}F46 zBT}rh6O#{c#0Pu^0DbV_Auxn>JcCu-vFC>8D5(rHP=D*19>xMIH1lib*J!)ivB`vd z-^JFf-v|TyEW!H-GdkAvoQ1xY2k)(kTb+-1I4831^283YByqUFE&=C{_Jm^Hliu$o z8WDj<&zI1De7zfYd(*R)yNPBXz(%pV%%!Ou!T1MZ?cKz>MKQ(yHMT` zgh;FXAcx0^ZKk+&*Ak6Fyr7Euu(!Xs@J4j4sQD<{9X0>pp~yX^t(@!5q>;3G9IliG z@JQ7?^WnCx7sj<|EveM``inX@Vj(P9=2N}k@01TtVwkjX`vG6Zw;Et=zsh}RH_UoV zvmq25a-rlY8`^OsjCu3L3$4_26ky10mp}?(Lh15C1S(x1{ss=@!VtiJPY(bdC08Zz zO#@+H=-;Jbbj5GOm1^^zmDQ2LR}b3%mMvrTJQC-d-HU})ASY^WdC$XTGs5EFXi|_X zc)!)usi>q$XB02f{({U+*rOd_8NYlpD4X17Y}w7~8(IG1bA>z3;UQMAAf~-$(xNvB zeqKw7WpU0V18nNF^zOohs%?Ou;N1aJ6aQ*Vd+0`c)Ru|s$g@?m@fs;OkrAdUM2ti0 z4|va1@kEhlmeAoCkM~5((ph4eok-gN-9Il8p5B?)?~8zDba*nUHxlHQ)faKpUX?^b z6L1vh8pAvBvM~O~_-68vN**~yr#yQj!<~VblOE8?ZN8MD9r(hf`>=anhbl?9>vCW5 zM~*Q0@HfD(?hz#I1ePB~*X7|vx|h=qa_b0)%yU^I##Pr{n+l>H?x5gci80%(b0^}P(S@2*0@!%m+Flf^NAOOFl&QR z1WvJ}z&r2`8Sg3+(-1kq46gg!aLv|j z$%9HZi?~nUk8;lg31$9t_Bl?6?+%p=L{kT)W13rlm-^RJP|6`b>=lW% zU2s$8L_+l#$>5jeE_{T|So)`nB>4Dau->ZMFtHYr$L2U)^`*Zi!f8q2S$t@@J!Ywv zJ=$!Zy{A6eWx6Tci+(ppCA)?}Er6)Sf!!Q&?B3lMib3EmlzhUkBN0a`T>h;OCEWK9 zUCn#$nV^l1A+0p(>fwXNmi~dp!ZvzujQ)Xb)qTmHc>#+MoU@#LQC?^(y}FfjJ=RIPkHA}BCM67N4EUnqRPj3?}UW4U?RA8+AXNhXuCw*oi};Z z0DVi64AgIXoAu9YJX(0sO}sB^W*RTxiU9xL%rntTy6egDn&;hB9bQWr-{k0F&i5#m z*%x}qY6yF1ntD}mEUijIPJ1bX*~TCgFB7BtHBOz!c>IV(7*QejaVyw3Q^1RupWkV_ zI__{9p?m3*-~BX8sT^U3wV4&poG!%?8!s>>k;gYYa?YGmih>}Od?u}Y?!JS*(cSDt zHnG9X;3h+Q->k?auHUFBWg>UT;d!;;HD7efxI7}E9 z@Uu9%xH*0dWFLhcZd?4m8EEj{&2{&5i>eI2$`<>xs^M)Lju^F@ysumC2MhY(gdPJt zb2)R{^g<8+^9hT$0Xa%r%y}I>GB!A%l%^Aw~g060ogru5h|JT(D#(h8|4h L9L3e95rF>#nw5Fb literal 0 HcmV?d00001 diff --git a/magic/src/maze.c b/magic/src/maze.c index fc934591d..ff3932228 100644 --- a/magic/src/maze.c +++ b/magic/src/maze.c @@ -85,10 +85,9 @@ int maze_init(magic_api * api) { char fname[1024]; - /* FIXME */ -// snprintf(fname, sizeof(fname), "%ssounds/magic/maze.ogg", -// api->data_directory); -// snd_effect = Mix_LoadWAV(fname); + snprintf(fname, sizeof(fname), "%ssounds/magic/maze.ogg", + api->data_directory); + snd_effect = Mix_LoadWAV(fname); return (1); } @@ -179,10 +178,7 @@ maze_click(magic_api * api, int which, int mode, return; if (snd_effect != NULL) - { - api->stopsound(); - api->playsound(snd_effect, (x * 255) / canvas->w, 255); - } + api->stopsound(); maze_start_x = floor(x / MAZE_BLOCK_SIZE) * MAZE_BLOCK_SIZE + (MAZE_BLOCK_SIZE / 2); maze_start_y = floor(y / MAZE_BLOCK_SIZE) * MAZE_BLOCK_SIZE + (MAZE_BLOCK_SIZE / 2); @@ -201,6 +197,8 @@ maze_click(magic_api * api, int which, int mode, for (x = 0; x < canvas->w; x++) maze_color[y * canvas->w + x] = color; + api->playsound(snd_effect, 128, 255); + maze_render(api, canvas); num_maze_starts = 0; @@ -235,6 +233,9 @@ void maze_release(magic_api * api, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * snapshot ATTRIBUTE_UNUSED, int x ATTRIBUTE_UNUSED, int y ATTRIBUTE_UNUSED, SDL_Rect * update_rect) { + if (snd_effect != NULL) + api->stopsound(); + maze_collapse_contiguous(canvas); maze_add_start(); @@ -361,6 +362,9 @@ void maze_line_callback_drag(void *ptr, int which ATTRIBUTE_UNUSED, int xx, yy, idx; Uint32 color; + if (snd_effect != NULL) + api->playsound(snd_effect, (x * 255) / canvas->w, 255); + color = SDL_MapRGB(canvas->format, maze_r, maze_g, maze_b); x = floor(x / (MAZE_BLOCK_SIZE * 3)) * (MAZE_BLOCK_SIZE * 3);