From de44bbaa268e91dbcd2ec2463abcb5b08c2991f9 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Sat, 25 Jul 2026 16:02:42 +0200 Subject: [PATCH] Example mod for audio_res service --- mods/audio_mod/CMakeLists.txt | 19 ++++++++++++++ mods/audio_mod/mod.json | 7 ++++++ mods/audio_mod/res/attribution.txt | 1 + mods/audio_mod/res/go.opus | Bin 0 -> 6249 bytes mods/audio_mod/res/go.wav | Bin 0 -> 62814 bytes mods/audio_mod/src/mod.cpp | 39 +++++++++++++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 mods/audio_mod/CMakeLists.txt create mode 100644 mods/audio_mod/mod.json create mode 100644 mods/audio_mod/res/attribution.txt create mode 100644 mods/audio_mod/res/go.opus create mode 100644 mods/audio_mod/res/go.wav create mode 100644 mods/audio_mod/src/mod.cpp diff --git a/mods/audio_mod/CMakeLists.txt b/mods/audio_mod/CMakeLists.txt new file mode 100644 index 0000000000..083a348ed2 --- /dev/null +++ b/mods/audio_mod/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.25) +project(audio_mod CXX) + +if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(DUSK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.." CACHE PATH "Path to dusk source root") + option(DUSK_MOD_USE_FULL_TREE "Use full build instead of the minimal mod SDK" OFF) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + if (DUSK_MOD_USE_FULL_TREE) + add_subdirectory("${DUSK_DIR}" dusk EXCLUDE_FROM_ALL) + else () + add_subdirectory("${DUSK_DIR}/sdk" dusk-sdk EXCLUDE_FROM_ALL) + endif () +endif () + +add_mod(audio_mod + SOURCES src/mod.cpp + MOD_JSON mod.json + RES_DIR res +) diff --git a/mods/audio_mod/mod.json b/mods/audio_mod/mod.json new file mode 100644 index 0000000000..7151999aa6 --- /dev/null +++ b/mods/audio_mod/mod.json @@ -0,0 +1,7 @@ +{ + "id": "dev.twilitrealm.audio_mod", + "name": "[DEMO] Audio Mod", + "version": "1.0.0", + "author": "You, the listener", + "description": "An example Dusklight mod" +} diff --git a/mods/audio_mod/res/attribution.txt b/mods/audio_mod/res/attribution.txt new file mode 100644 index 0000000000..5c9d15d0fd --- /dev/null +++ b/mods/audio_mod/res/attribution.txt @@ -0,0 +1 @@ +go.opus and go.wav are licensed CC0, from https://kenney.nl/assets/voiceover-pack \ No newline at end of file diff --git a/mods/audio_mod/res/go.opus b/mods/audio_mod/res/go.opus new file mode 100644 index 0000000000000000000000000000000000000000..d5373b60b19c60a8c5099fa94f569993f2d352cb GIT binary patch literal 6249 zcmV-v7?$TxXJ=CY0ssI20000005O9;(*OVf0C>KWt^pHIaCLJ?Wnp9i0XPAGy8r+H z002*CXHx(G0000000000F@rwS0RR91Zi05D0d!Arb#qi z00000F@rwS0ssI2Ath0YBmV*aC9AZ)#@p)i>D0i#wzIaoxv;69o0yM`h?RJFi-5bu z_}3W$g}U%ULB2iIZ8&=6$_G+Ax4OqbN{)^DS)JlHT-o;v z>PyxJsUY~nCGfi84zg>`0yQtB@kw)Vu_$pgZH)nM>ChxybXf+a5Wazj%+r*Ik;vhp z%9sr=2X6plZI&G1+?wq5=d0b`rp)rgxI`B$^;9|4nHh5APKAE^W)X?)xHde5S+4Op zWUDF_`T*(Jg^LO^PGc?nl)Bn|Vg<`JJRuJ|OHNSasYouPA%lY-ZVdcHkGBbKRPQc0 z1~Tj2Yg2@^2(q_#!SWPIWMIZi)!JiBes~!{U+HU-T(~vj5V*m37dX~Y+j2g__0pL@%<75ABJ z0bjMQu~1bYjYHXBc?4^Be{|W;N1h)AR{ojB6STXFV1>aA6tMv&TLD{&1V-8ezCI2k z69v5JLNh7oG3R+9Z^Ydtq$81XH_O$8d|)x9_#`M>BOXRLT9*^%455}b7b!Of=Q={! zGUw>U$Stiivl4CUil0!azECb^s?>(z_=?3+EjiCN|MCQg5B<+gH=0KHO(igqXL3kg zi~xcA{VW{zS(S6cM%0QK%LRPq^(>^9m9)-<0$B0YaQ`mBJn&)l%7X|ZMqgBbqZ2EE zJTVxT&6g{ENrpT&rQAI!?Uq*FrmQ+pAjol7<&)?)VfQ+x-u?>Wdo>g%Nt;R1N7Sk+ z5p|9t7ghtNJUCP|L~NK>zJ);oNo|&yF&Z+sbaZ@W6;n6+_^hORId`Z?c;&=v#CsOk zD=R9PY#AJLQNCJ$k*vuN5BJt@y+) zIPxqK?i2$(J@IkgxqG@O$h_Ux+*>8krzul$e`j7ih$`y!8Y>s@Yqx{kGVd_I*c9&raJT zuYd-ouYH*TLn&fTFfQ3e(y_;u?08ORd1kC7!m$W)phhV+mT1<(<_7|U$Qf3?)tvY& z<&v*w55kEYBKp=`Ip9R~MOBR4`@}FCkdBum_B$5C0AHc!_Dr_rlI5pTY-&rK2-TL# zydjryUE*}XP&f{^S@o_yHzS$hXZWu&Rsz5YLqJW8J9*{8FTmLS=-q)l#}o+%ct zv|g}d29Iun6jMd0>rI{>*0k;Zv~jmwX8LREU-GZ&V>e{dYM0gI_^qiR3VtQxaSh!nI+^WO4;&cI0sy5>PEZ>K zukLJ>yQU&v1-z2{NpKo7f<~cn6nSN3rBfw;WKs2C0dA@u$tNsS77O2ahFVAv$f{uq zO|RaJdX72LDRHdSSYgjYz0g7j38$`X{t2baYS`L(w)%+v937a)JW`bq>m4p+W(_}A zq_M+>$7y`@ItIZ;Ke#24{AqO1bdXmW51C3s5YB^i z#JOG6t8Lx%ucW0xJd*B)F0AeUl97_}G(i-*?A|?>P5nAwGL#fP%x0kZ=2AM|&uXBy z@w|;$9^TOSA|(c2^kUqAvBv z>>GZ4i3G-*R%|-IHz9yC55hZc&VkxUG- zOK5^}gwQi%?)Lwxxn`awKkv+TO0#DW4O5k4Z>+O|nH1wKz4#Xvx>DL>9{K8s8Qnb3 zgEcaO0Nu1UJX8os-wP--5WMb}__dQF0Tvict5nka_QCu67ihHQcJ)~3NXpiMT(9$N z)2%OjiFO+HXQ#t4QIW$WLDX!0wW%?llicehrrFVCzy#Y?z+z9n?R?rz`Mne+EINhZ z*FN`Hs)6rQUQxW{@} z1ZG_LA%pu+ZGwPEBvAqc1U6-;43im%DT5;ltLg+#(;W~=>ZZ9J#xHqsYWk)a561ki zlWt%7G^6_>f*oXOPY!N4d73?tcO{jFj(-`f#hJh?D(;fe&6;wbb_~KIOY^m>;PIMp zf>&Q^bg$}}8KR9Q`hG9c^hY_7GggNT{1L~cfAFZ!r4#vb_^h*VzQDVLw;yyh29>e$ z59!7@6W|(L6;VlRX3;?nyppyO(vZj4_}?n`e)tU65#B+90f;gVe(`j?e1~gkl1Zse z@m+~(T*%5`7yhMIT2I{vUf#&}(=1<|M{U361|Sxi;lG8WVHjMyoa-%K6Bf#;40?b2 zkBrP^aD*FrJF^H`0Dqy$5QHZ~T4H_%Z1aMd&^$uOmRrLXgiM39m=OZy=N!#yomXf= zc>P0BA182W@St_&EMkX*w1#hNh8VyyAUgDTJYG7>*v{#Q$4@?WDYsw|)7W!91Kdl} z_zc*zwPyB7EjP2Z`rGmn*cQS9h&$h3eBQ_aF8$3}p{ zG~wf|(ljohqP52i4R?6dV3=J;es07d`Gb)DWO3;~EYq}&)aLz+?l1&G!yV^Mfzwvq<(eVzBK!cWmbMOqTXo=`J0LlRMzUaza zNmW2U;W*;iYaH=EQaRl{nKI6|LRhn67mp$7dfQgE^JaprgH}szH{3#e?CEs7L)iD& zmIpI%()b1eT@AYi|KPB=rQ9=SYD0pCDcT?j+km4r7g=|y(jS(PRM(WGq1q9qG^7k~ z`&xcQ#FultHV)zPL@%K-4UYLBbnYU5W*7fLG&=fb%q2h_ExLj*!$8JAFx}GA%?^Kk zjyoA`SbR~q!FV)@Ev^H9kyFdoX??;K}282;X@g%0&B zK`_2!dGYy0mbXO(%!+jZ9%Lxi@LZquxBeEv>Ta5+IsEu5Hh%K?QgDZ|F3{$i>U+6= zQrrnjs4-Wh<4L#0`rf*4t|2qRfw!8qkcyERTLayXLq@&vfw_VCjn?u1`qoOBwR6*2 zOmo1n^kX9PYu6lH!)i%02SdAFWAH(U5_{_$3oME-Rve=mPmkO(S!L3R<_~IG$!Bb# z<)UU_$-rChX~!uM(Fc=-R_3zDzZG|Wfofoj{eJKnaZqq#_^@kSva${-tPJyi0=P^W zuPFEhWoguZfTR+Z;taonMWiHnQqEX6kH4ukqT4jIV#=Ar^$iJb1pjJAH@nXGya0U3>uw%ZAxCT?cxiSHk}I4Q69FYOIhM0t$_=Bof8B@@|cu}t&0Al_K>!U{Sw z1cv5kRmQR)y6BTd7s8S4ISncK9k$8ZqJr1((HD?8g^MA5m)FTCT*>m=E~nkkjsbD!!_1HbKtDlZw>}N9?k)L~1I^EekkR)eR5| zwnI$dpgKpJmG$4-Hsc69or{{8l&WQi4O`hzcsxZEH5yQj-jrud*WfXVUXJS`q&6n^ zhi1c{O$BQOQiR{g2m)n7@j}vkg{|N&8>QL=RZQ3wHcoZ0@}mIGLbqh5=dyl~%ru`k zO{gbO`6Sswj+-r`8Hr5`g!tz3fJb0ioaROykNHEj?r259$4diW?Oe-$COs#A za~8m2JIS)G);Uxrp;VAd%n^o+cr}E+6FS*Pz}$RL$34eobySn<>8FYRJ}#V7xbkk8TOKGH+u5v7ltQw*lLLA zRryyc4n`+YX3{QcIiu=a?qD#ku=hs<$;Ob!002*G8U<8$=0>#^bfVBhv34Y=iC|qW z?7H%i10?jpT-hKcyS$Ne^Gq(g5W>q|Oq<)`_yk?k+K9NRKblA?iR3i_ zlk&u|$OAmFYn~X|W9H4VK%~6RJI@sisSG9N3>3idB|kZC3s%y=b?!wW9|K%?2PJ?Z zc&N_DPt<15rvUi6IEjzh4XIiaAI5P$!X4zak3wg z34M)~S|B-^iNV)=p$top_z2onw?XYLN-o_{z8`l*&FReZPsX-aWdmvp*KR}=OYOPO z89BIu18%eN`D7x5r)!_+_`Tf!qH0gqBc~K~-Y^e7F6)#X%&n~3H^O+?aJ+Tgr8*kA= zzDZT#MO~*{5l_PqFXRxh8?f!idr)^Q#a ze^J>aMvEcWW_XK_?NRGZ-}FAMkO7-sGsP8Y%wfE;Rx`fE9zJy=$%B+Kwi#AXtHvu; z{?8N9P)57Y)A`=ecncOx)l}F2r`czHMY zZ4VoC#XN`%H*K93r;6?;kA(o}99Efe`oDwhRF!ms82C20kU2G$yCWe)4i+GFG+Nuuu4?vx^u2R+*l!K;>e=xLT?l3m8K6lXs*C4;5-&qD1Wr&3UF}ZJsA8I? zuqL_P-OJ`Aa@mpkS+@=fsJbkC+eORsht(FM`S+e%Ro9l6Ied4b7$49gZL{@@5fI^| zi%W6-DTUXN+2(S9nY-g`-YC!P1}@>v?L*9?a6k(1$<#Z8hNjCT@N~;l$#{%1xeAlT zAmtvuL2kNP1I1niKK6U<{_Z}ME;qE~HN*4xbqqt57)-N_J8?)_hHC?;F9j?UHa4Vs z%%gp9h*?n4+^8&5Z1+niiaxZ5PlP4QP2zw&{&f)yX&Tl}i>FR{I@Qa)l6fsLJxe*p zg<%>%TD^if+L|dr-QU9f^p^alVj>%EWE<;mC~X2%M~Od+z5VGS@tBKK7!bA7f@i@Y zff)(-iKq+aEJFS_amlrqs}czPM>f0y>3_%^dlXo&zW)hechdWX`P-mbAot<67LMKd^rvrfbW9Egd-Mq_@0{{SsrlSdHVGju4 z01hxUboLx6S`D2(VMgfe33FIzdFqPYYXb)Q`J?{^3KxhvAYqg*`0H7o^#{q=@E8+j~!=Y^$Cv1!v9dG%U8xcL4 z`f7%Mr9OUreEa%ZQH~&hA;2WT|0G~FEcH>WC^rbfutO*>Guj6a;88uWzA#$1{KJHC z!xDx8L-Rj6)(_)@A;&Jv0$4u)<$>7&OL%|`PyrHJ!p4%&8UgKv{F8}c>C+uU_dj0$ zlY@=Gcw#w*3eyA|*N3pL4U>uzQO-n^j$y{yF^pI{j2I9diWZ~yY0#%NW`m6;2eZIm*U|29KVSO>2L=+KL#$*uw$tIvU zi2tOLQCgoAEdL)@tc;Doe2n=V0Qz*s{D-ymMNyw``{EbNjVMYi?zI16PluMxsD-uv zY-~YmIyC7~+W&a;*|`rd=7YYtz;ZHb7Yr$8EzD+E)MNIR_vnd7bkKxAf zVl5cPz6;Y9{)YmKjJ~VS8vnBjR->T_Q=KbTzN6SLM z2CxI{QMw52&qKNOabTdo*cc8<feLim@{0ToK)qBynxc&HE}Is#ik`fLlKV@asTwCFDz z<)A|G&{3>rv|nEY!RSaVaR=h!2YFA(DpVBY%)K zBnSD9q$Agm`$!X#i_u&4LpGBbCqrcm^;JKswAtBY9O0ZM?Qs9;5!I=;Q~`MtijI( zsw~OSVtBK)6pDoIn6i!cjW><<$a%sKuo8&HyMYTKKIlzZOdbWDH&!8Wgc#gT0*$ho ztRp_a2LQqFFmts&-8>FhL$osYbM8{+f&S1%le_VT;fZM#JOR3A7NBwQ&BQbBgBz@V z=1k}gaWr`rl40$^7ZUOTDq$ienDUXd6g&<&1Euf@lb5vttOHiSpMW|%9<;ZJtbYM5 z5P@qTxsaR)MFbZ>XG*pv0TZo3Iv-7uF4APQG(t4Min~R+M-C#5B1cdj6Yt>f5nkZm z0t{pxwBEeWw9&c`DTBtDRhDU>JGjR3)0_ru0$-XVO~Jr%JOU=;it$sxa9}y%FEIuY znZ_Dtnu{%CESHTTMo)`_H2@-lmw+wSJ+J{UB{YC*@KeY^w6*jA+Et&NQo`mv_(u#_;Da1We^CsSG|-$>615s1+6Q3L8mXojj68|sbsH5Iy> z;BvATVLpC5c{0_3HksWkc*(m-KSt>$ zAX)BPSkQl97*RxB&v;Kmh%!Qd+*QcNdKd~fMW_dA2&Pl!d6o#A0}Y{HV$`rl^IEz0 zIR_Z71P|!BWuT=;|Gsx>_YtMOw^(&i8)BJ<)Iu|nY7(2VlKztFO1V$`h(8TFS~u#) z=w|5e>o)20to!k&aH-ZgmQuI_7zrFe?!wcc^^gv!#@|9W3s!3wqyj|X1!$%zMK@Bn z!mz_IQGeNFLBa@UNhY$6a*-a+ieL<&ETVW**@RcH57G(E)BWlBqDj2dfO#1zUmN(Hr@-bsnY*#l{yBVGeu1HR&>k&Y7I;`R{INUv~r zpg8Cu)Mj!v2Ab`y6QN85hfgFztxf`mqx1I_5{YjiE+ma7b(2`s5Lzy|9)B79h=9;WbE~n# zbk*8m`DUDA5#i2)wWbAzXV%r=THF=QTkTaGm=;||{aE9VTQ_{rDRQ5TRCnX4+ z3wc|fnWmfCjPDFDjkB#uP_5;yB?=#*f8CKw^&UtEsJ0!xSo8HT0jtj2u_F}gvQ8J&;oBamz!2wcLNQC zX+#fP8ptBdAgm&QWF}=XQHH;Wdk1WX2g8}xtH!~`$?#Fo1$tq=itNLS!9@rYUqZf5 zOJXcytR~gK^%ieyj%A<4)B4FGGKZUK&}d{4;(!bX+JPg$U0gM(hqMTP8o!GaK->gw z2X+9D;WyA6BnRCqErA^&H|uKaU?c_<0SS;h(f}}#DR2O;i*OZu3%y3F@SE^yz!sd0 z)I_KP%D@HWDyo_+BTu5dAtmF!;%1Ue#Ba!EbGXHVJi*-t2LkTk9h?z-1vG4&{ zr?Tp;qj41kKd{WQ&O8~?BmI!S&~S7wvjT$63056k4hJEtz-Zh=+zwCxEQP(GVCxRc zR7-`W9dgDkB5opp==#CNUB-*Za>@b%4jN}VVmzk5p>5DFwM1ISSVFBm=$PT=g%*j3x$=!@#7$ay-#16cOBqeVp*^y^acT#_odWqrG6vj5jYuZ9uG;J+)5a|<+295(a zfwMpj&YM(4Hjw6!PLuf*3aJKvlaNaqMs6Z%2oDKN!WH~#ybJy^E)>19%)w`pNfd}+ zLu?@brub3Vr2BA?Hmv8NYJ+aBL1uboNwq96PBnb7%!Oy0o%IU6hiSF>kktnn3iu#w zXqTnXY&E*;vejD6be%*yNFAZVtFEf{YRe1{jA4c&`UeJAOC?f(3&k-JrA2OeWu0u) z^&IKy*Sk+UNFQbxX1rc)>m7^|L#62k5(Ka;PYjjDMdrJvB4dFm z&axZ21}8(S%}Wf9#vn_UWxMH(Nd&8b8;A*>35sz4A&acHOr82yC`zG4XGwu`aG&w- zfMbxWb)Q9IMW4Y)>9m*3I93hg1653ILk}^il#PU7TriG^9wro^9024$a35Yk2qYdP zFQks9Wztow3ho46CFee?mv$VrXe~`jyFlWRc2J@z*GUb;wWv=g5blsBGd^<6Tr)2~ z(8CMooaK1(9JohW-KA5thHu2=rcc30)i3qDLV$==$exehb|O2Z2-3*_#4&L4)CS z(0eqx|5z58hnpKL^{^2*3x^rmnt8p?dZwuz3<;)KQ;8|qEH#n!57YzIPjv=Ejc%gm zt!ALkQ(vY_Q1g3IdIGflj1$bq&9{xk`cT766CUyh9|APXdBagdkIqXg)_WKo4GZ+m zdO$DJmZ`<+Sj}=H)jG+lvYfP5S!1jREH%cbdY!IQ*QOtCdTU;7ZZ|DA`J$e%gT`C# z84jV5;D^w0b$9{sCvga|5bub;j;lwX+v35Q_&Yc*h^`gZPo`I;2-*qy1@amEGh8PwA5S7br0-zY z@p^#(t#T+Aegxlx^wuAc9r7J6 zwCIeZjU$X@`rFz$8mV@g9yDGwT8xPCwZWu!3>+TAsRS_*pGIXnZ?RvmeXXE9b^qTo}!^> ziEj~4%Nomks1nMBrXhj2EW&6qm$8P&5&H2?u|BZIaCPWm(RmhwJ(R6xsu`0RZnSn% z0^vDfKdF|IL>)`bq!JigSRNcJH$eDEvcb;QcCmQ1P$^m<$+GDZtl@s+Oy;_A)ttTD zaBeeeJ1ve>OngK-NLoaEPt2y|FmAGLF@G~WSpzbYnHG>Q>e2 zp5(3*3a3s|Z-pjH<y@^%?WDHWW_2U4{!H!JM(0j%m4DBp_T-ik9b1&0 zy~BIYbsto;w$JOZ?S#79R5jXSO^$MfVoK*|)d<5}<5+E6PghTnuG=g|_sCsHCvG!t zHX?zyB3FPJzy;(zaueKzKZeqK+lk zQZ_Nn%sGrnwCVJHEDGledkQ<5UCsH!^AflT+r-|sn{DSyZi(wer^Rz^NTLGnF3u`0 z!s%uIVQ*yLWld!*Wy|;jY#Jru;`f5j`~*HMSR?L~6iO$EPjModwd{OOCUZO8NKa-8 z*r`kMxsrS!p!G{$`TNy;SRAkYblH}5hT3_AU3!z|+iL#RGfXRj^N zEY&^LEmfaY?(6!}xu{#-yIEzU>{Q%q|JBmJxve?B#ne*Xa<`?eCA_t|Wp2x|mO(AC zZS#8;>M!f3Yi6j%^gQk4w_j{+Xp8LF(pp|Srt)YNr*U|vZI7>$ zF*QIPu*w<@ZNdpih4>%lUZtkJva43BHSIA67<@FFH8DmC5=>;$A2B)1tIRQ+wR~rh zSQNvZ#!Oa#P|3;#3_`O^fN36)@Eu6@ee7V*2;d*4->Ei$--dqGT{?$ zIr};%nsbu%mbr^Ffq#I1oBv2a6%G`2*$k1=r5Uy-WId7{ToFx1^zK2lRlIDf^Y-4Y*}Msm_iIu+6)z_9IP1GzODU+;zjq19{b*go^GXm zcei47hgh+%>uPsc_loX#1+A%8URRk`sV=`&vbVr1ue<Z$x~-R!2crn08ft=AQcluuM4TD`uXJIl*U1yXx;#)0{iiL;w54U_yyhu>?4Ly0?1E zGozTBIQ;~X;&SN|nVrK&hszG_Uu)k?v zY_~^(6GrkB0=l%w&SHC7`c*p2ZoU0Y#~DulIno`A9l1_*4s-3fvW>Q6Ntvia7$W5J zS8#0D3z-Y3OGyLCIgF>5Tlnw~`dLt01)r}@%Z)W?Jppa`A{OM##GYT^?@Ht36x z(YJ82NI?gJ-wf=47Ha%)x*lAEEc8l6> z*L780svKPH)wrfLyoJ}as-?KIUR9^dH2ySKS|Xv>z+J)v@=Nk4LN`K(2LTXqA!81D zk1(-R>Ze~}&P3Jb${jA#p*BEE5(@B?2ZX)+e52}wx z{}p~BpM~C#ca-n&0oen>y|qp)l3<~m;GJlh{~xRxlxLFg&) zXY>U953&bdY9*ppwCYD0Zt3eZTYL9*hbiv1zH8dlsIQ+^<5O8(zQ6LDd|pjJ?ebdZ z+Ql_jZkkAJEm=2T_zg6?;A?mgS%*o4Q))tFx3|0U#JbN#OL9Bag#|ynAbRq zSzfd|r2Y6d(1~z}dYZMHtKv6_U)!y6n(HymZ_&Usf9C;d{n2AlU$tL-e{Uae*Kx9a zwp{zoP6}s+%UhR0ZjK)5p0|9z`-cza4DK4x<8#aNgqz%+D-Pk(S#RhQsXxg5D4%Eq z^lqNRYNel}ZDow+BnebDha`c5QOp=>EM+Qr46y;1gsiX{OyMStS!=y+-ECfGj)e?h zHi1b>AZ;Q|!ViRk4TrQNbpqog%W&ukQ~~{k0{}1FFv3r~456DMwbyzxJ6+rQH(6>Q zR!u1%R(85#Ne#ZCynbx$*y^zA$F;eQ(zb$jaa&B&@47g-ZKX#=ZprnWQ@?YPfBek- z6P4dlxvU|)X?OjpI#a7aJ=Nf$|Dmo?B-Rv^%qrhgv$q;5>tDXLPNrC{aj}d6wgVne zqNM_!hJQ{BA)O?agR>w7w3eWzZlEz~d5oLvCiW!WAn65X$nB{|o)2NLJaA6nuz=G; zOapKpO?KfTZ|-S^nLeMBCvvpk=Jv}o%`Ep3c*7`>@L1C|qoav$x@x9 z;1Tl^wR6ux<<_p8wkvg0N-J}Lzr9&Iv;FcT%kIlh*R<81uYXhTSL<7Kt}MEkQ&67$ z-ycn?O**SUQDbeJ*}kB0Ro(t3L&xH-uJ$X9ZE{L!eE!{n8RaXgMb)6(Qa!xkZQHco zI{kLT6RkzVH9WP10H=wMX)_s%sVbr)8KV2J<*eB(n3d0}WqsxGY+gv_OKfG{uFw17 z`nkD!I!?1!$pkVVyQg;1vSj;0r$mpte)k7`8Fa{(>vr3z#wFcln(a;YVycCbOdUo) z#k$IIX9qAZG4HZ}bG6)stXRr-;yKC=c8vfQD0p-DO9f0`80#-%FT+UtL^(u$Ly4uk zvPA5kY+ue?b|dozN?%0vL!Th&WP9QlQWh9bjug-CFs@>c{oZ8YAn`gUE_al@ao*)uq)_t7lXlC?8w8xtLzK zJKv%3OsS^wV$GNO=MAT0{Q16mHZpKc>GZLOJ5K`-$raxC6f;#B&ff>Xb~)xV>- z(^2JUtbxV&kGNx~#CgUsCU@&F;3Iw>fr5WbD5p;otPsZwF7jpzPf7D+)ehk<(e7v5 zXSjyCWV`5HLY-~xBW&LAYq(SSA~DOZ*y)VNBTtcgr_)R4_pa9*uZt!#FHqQI8&WNy zo$!}5f|5s0CA-kpGT*ZfFdWFYz&yko%ml7NQ>^2WXSg8TY#4{0*gOF#L`PCEHHa0> zS;l$Jogq@#LbCDFzx4wXAos`YE;uIKYIDMFvt710g13h4#l0k+Yv1Fv&Uup4 zSI1!Io36{;LS0_l{ot;lOd$I(8GKNbE6H;s$*@;1H}D`L{x-1%KMte=+3;cL1mZ+QsGal% z#uav@Fwp*}^G=6L5?`T-JBo9eL*SfdK4iGD{;*SdjW*-$103w^-^zB{?UN*lb_x>& zI6)f^VZ*d3q%yn@ZWH{~FtvAkC$-~lOJjXot){NNE~@rdEveSKGN?Eq-zWD>wk&IN z=G}}{nFn%K6%*vE>#0r2t%UA}DuMcGFRR`o6;xGJv8>9rZe3GJ z>mJ3Yu2)?IdNkmFxB z*eliRk&9CDllzwbj9S2~@0WJ}=J>|smOqLcUAH^GbS0|H#xV5F=zeRA@r`Lc^b0&r{>aEd?f!@@ z652}(WQQE6G7s@-BeAraHYgV|%7C z(4WiXH=j|Rl&2j7XX!d;KCG`e<%Dsx+ zAbWS4VD5K%B6S(eN}m^np|qjtD9@MsNJSFY-xPdOl*(t+^*cz5@hr5d1 z4!Rt2=x=Kht>vv}X=%4fB_ISXGh1{sReQP)wu<0;r9X+OM}EcpuFAZg zpH`-;-r6vrHLPo~s!g**w^{c^{YwdV7AuB#R&*J<*LA<|ggRDi1#))CHE&I;CJS}FN9aR*4Vjxzq%v(Yzv4W>L(xk+il8Dq6MD!9A8 z?N!5(noaWea<5u(!}zAEW^K#ZwvvvXE_P3JuU;LbziJ)>M3W9Pc-(ycMuEHFoK90h2YH zaex)W9nNR+j_0px|y1*Jspb4Emd{T ztFOyv$g}078sFNJbx6a`mXMBpUAw!zyI1s#*R8W2!7rnwutWIogu6v$!Z_hc;c&hK z$D74v#xZAdHw!i5VNyFgg)PZ8!1k!^BHLoA+GdJ)w!|#k>9oeB&{gTma6RYp*tyjq z(Y8lq!*gbl=)cIx_(AX){VQcc`_QI~)lFr*VoPpwI{6ndxg}}+uTdF(IVt&e#f!?W zS8Z-kb|_S{43P$!#-L;=!Ja)TC*45<-WXsUX|QUYb#IN1mSrZQZn(;$7gj~-ZkaoQ zyCi>F0P`?6T2w6cvil?rm(Xl)JM41v@t)H^%zui%$q)3t?cwIO!ijJDp08kzWSnI& zcmm;Su~@u^cZ*(3l;C8@4f9OR-A>Q8p>0 zGfU!2msNz;>}=fJdR#GCxxB}-=ZVUs54W}eIYbge&a<`ID9x3=k^Yo~h?V@2+y(3f z%v!pR5zJjER@hx|fbGA?#>otJzIN%-W*Y~aRLKRqO%DBB_#QX<$=$EJ>~&l&%d;ux zEoZ)?+`?amN#;-5F6DZ~*A{aPz9c#O+wY#_H3=iWKaV@`{X&vM+O2FTzqur#YG%XS zwv?_Im7n&3`mJ(f*Jb4m?QTmp67}zkuaC$T_z64}FaaE7mF2!+q<*TY9+^*$U{2uN zc3-)`w>Zf|K`Q$M>#Sbb6MU8OFME?ZN+ ztn!*XvbLhpsr_^JcJ)W?EM2)_C{&L-P9DNI%-t=Dl1!GmOJ_<~OQJ*<`P;dl*}s^N z=n?40aB-ZMqTRM4*>hVjDOsCW9G$rUk~4E7@)$xp_}=!f8`Kg&7_J-fY{bOCDgEcTACf%~MsXMM9EA79Dnrcy9X1%N-z9FM=L&LS|{pBA@Miq}Nx?S|6q_P|@PpwI) zuWat>*xs{GTc+Qx#~bp^_keWr3-%}B1xdDDsQpaY8@oiiJ<@z3lk3DhOJB&G$0^}u z3xC^emM*h>XuC@K$7X=|j)2MEDQuJMk|jD0ah>a)?>^T3fNQ+dI{WPsXWkN83gH=e z8+J6!R7JMC)rreI^Pw#DZ$aY6&*R=Uy&MxW|HH9(hhG!Zf$ZYkHO1+2q=nhDQQNLd z(59&&^Z9`DDno@+xv9YMzOGx>T-!FW zbG2`&pvt z#POQ!Cc3&g*!&bRJa(HUL*51vb z*RjJ@??v{H9Fh{aIq=pHVDQR;Wq!H+ZaCeP1_^$$R?#2O4a{q-NA$y_0|5FqQQg@I zH8oFlT6>_d0SL#3HQ7p9uf1SWuqzzuk`rC0Ywscv~z zeX}GeZ)#@Pug%~8d$;*T!P9`}Ltp27D*n-!qD@fe>qvsXP|b4K%6 z9}17AT;X1_Nw=MDyI5Lld&psy%Xzm|u6rGtY>H7kjuFkby=Gr$e@}MFZUZ_$p2;>l z+PUrV7Szl?1)RXjOj2Lu3CnxZbW_?q4S_`q> zBwt&;q^L0OMQ&c+;lkKrPDw#gM?N8kk>!zDpOu^EQ2MlTS@nN)0ZmbDce^<{59>GZ zAu))eN8hZph~h0#*CD{(LU11ku&$1`l z_7ks1eV)V#V_E6fXmZ+F^zGM0Rx$cMc8_2X-=0027ED5LJRk}hYxT8EGwkhI(%MkF zu<}^Ru)N$fRs89Xo8H#E8ufBx%;$G8Uw|JG$swsLGKS_quUOikX>aZMqTQ)GstqyR zM=sK81W)ZAIU-IOF0gxsSDs(3zk~k+?@E^mvYFDewqgf?bBZ(Kct`eJ@=5eY6erm( z^K+c+eA4BvORQ_IN44j*e$j3wr%qd{U?1}qwU&H}!lp+tYG_YL*?`$7>3!XPtSPA$ zJ#Q>r|94DgTgJ7l(!Y&4b8`x^KW2FTPD=TcIy0jrr>c0Qd{jeJ>zuA4wUZ^Akjl8h zog~l;n{Bo`lzGJZwGGk+&KWjz=vhO|S!&L$sB023bk>`J%ETTn`?ncUK%+-XX}&tmd~p!9~! z-f5TXGS8d-Uc=LZr;Ym@5*;#ioHCd*B5W}Fdd@xE;j5%uDCcMMJb5KtG4BP>hxdhD zMrTqgiE~LysmqzE94G!S!BgQoAwyWl&)_<;MpG{nrUQ#DXY@u5f<7}WYT8+undki* zj+cHN{4w&)(&%H4Z665lS3JD>{LO3I5B=gwlD?+b7x>o1DsJc}AWY&B$_3g*W-cEu zOLQ;uiyi!B=z@_pV@6JRKWW5-O~D}nUcSTK17(Q0YDJ0R!^} zZ5Vtd;Mj3ekaq(Hz|8)?`ipz z(ZmtpLf8hH0IA?>;7P(R%1P#5?r_0l;Z@-W^oxm`6gocE3hRL0ZJlS^yc!d#b{D

l7mlO`x87hVw}jC|mBf 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 literal 0 HcmV?d00001 diff --git a/mods/audio_mod/src/mod.cpp b/mods/audio_mod/src/mod.cpp new file mode 100644 index 0000000000..a68e6bb98e --- /dev/null +++ b/mods/audio_mod/src/mod.cpp @@ -0,0 +1,39 @@ +#include "mods/service.hpp" +#include "mods/svc/audio_res.h" +#include "mods/svc/log.h" + +DEFINE_MOD(); +IMPORT_SERVICE(LogService, svc_log); +IMPORT_SERVICE(AudioResService, svc_audio_res); + +extern "C" { + +MOD_EXPORT ModResult mod_initialize(ModError*) { + svc_log->info(mod_ctx, "template_mod initialized"); + AudioWaveHandle handle; + svc_audio_res->replace_wave( + mod_ctx, + SoundEffects, + 4238, + "res/go.opus", + nullptr, + &handle); + svc_audio_res->replace_wave( + mod_ctx, + SoundEffects, + 4237, + "res/go.opus", + nullptr, + &handle); + return MOD_OK; +} + +MOD_EXPORT ModResult mod_update(ModError*) { + return MOD_OK; +} + +MOD_EXPORT ModResult mod_shutdown(ModError*) { + svc_log->info(mod_ctx, "template_mod unloaded"); + return MOD_OK; +} +}