From c755aec1b37358f1a3df24bce67f7152795326d1 Mon Sep 17 00:00:00 2001 From: darkrose Date: Tue, 19 Aug 2014 19:09:02 +1000 Subject: [PATCH] dig, place, and jump sounds --- data/sounds/dig_dirt.1.ogg | Bin 0 -> 6628 bytes data/sounds/dig_liquid.1.ogg | Bin 0 -> 5429 bytes data/sounds/dig_plant.1.ogg | Bin 0 -> 7567 bytes data/sounds/dig_stone.1.ogg | Bin 0 -> 6940 bytes data/sounds/dig_wood.1.ogg | Bin 0 -> 6794 bytes data/sounds/place_node.1.ogg | Bin 0 -> 8584 bytes data/sounds/place_node.2.ogg | Bin 0 -> 8644 bytes data/sounds/place_node.3.ogg | Bin 0 -> 8846 bytes src/client.cpp | 59 ++++++++++++++++++++++++++++++----- src/client.h | 4 +++ src/defaultsettings.cpp | 1 + src/environment.cpp | 9 ++++-- src/environment.h | 5 ++- src/game.cpp | 2 ++ src/sound.cpp | 8 +++++ voxelands.conf.example | 2 ++ 16 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 data/sounds/dig_dirt.1.ogg create mode 100644 data/sounds/dig_liquid.1.ogg create mode 100644 data/sounds/dig_plant.1.ogg create mode 100644 data/sounds/dig_stone.1.ogg create mode 100644 data/sounds/dig_wood.1.ogg create mode 100644 data/sounds/place_node.1.ogg create mode 100644 data/sounds/place_node.2.ogg create mode 100644 data/sounds/place_node.3.ogg diff --git a/data/sounds/dig_dirt.1.ogg b/data/sounds/dig_dirt.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da1167916197f789d30afba2616269d41f6633e9 GIT binary patch literal 6628 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 ~Iz5Z@@f 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 literal 0 HcmV?d00001 diff --git a/data/sounds/dig_plant.1.ogg b/data/sounds/dig_plant.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a0b2a1f9f5426fdcb60e7a3142ccc52644666923 GIT binary patch literal 7567 zcmaiX2UwHK(*GN3r~(28i5diiASi(V21U9;Xc7p$7wI6~0!lx?0YnH$mllu`gh;4j zK@;h{sVE={QmiO)^r-(0oOAE_-|u_wx6fv?@6PVb&dhJ-o!89E%K~D7{%RRDK}hDb zSEaKLwjUM|6yoL+%3Ofy)ieJ!iqLdUdiWtyQvKH>%uHk1r1H-+%Jj2k;d+h>057#hH4JAcI z6$M3A1&ku|iu$IyW_tPr4Q-DgH&0mt8l@fX;S=T)6bR-p_8oa>9bGFJ1P8k@#wdEs zNG1`21R%&o3eBH=)(}l5mC0VnBN;Gfbj6fBQVJd6o`zxkJ)p22A`rv|#mI7HR4f_# z4&l5IG8rMII3Lqv)hNzX^LZRs_m@NNfmO{_et|=1X*i!PI|PiWWgw9#OkfUf$r4Ej zF#LuL>5-@|3gMQ!SsKT!)PssQR$8gdHdSA_S&^Z>D%(7w!=unVhBwAcTDdoLaX3bW z4&j!I{u;Qp^+18U=x~U62?32+|c_Dz+j#?-v2B-<0z9wwgB;4PG92}K0`y_9^ zTV+&P-@?*_2wJ$Kb%f`1MEG<>v~6CZeOt6`TcZ6;qT|;@S47fZeJgtIE3Y5s4L*e}-gPYj{Z#pWD)06d2nMz= zTd7Y$)&J;cZF4>U@2=(DBL`^#TRsj(J`R@BCrCXGk>}jDa1R80szs2ehhR^KVjqW| z0R42BUN6ab@U!u*zn#EzI|ONAkn~_=FR%tdVLU{|I#gpi)MOf%f@zWe-eR}$0u+%b zKAY+fXb ze@JW*_!8ZhPcO|MDF_`hz?#@{5kEuB73}jFE8whoVgt_Fjub52 zY!?Qz6jGrKt=)2m-(Rq(aVi>mfLj13Ql1w2wR1Uw*&iN7?*_S;YySx!E#NoT83dy^ z4i%lj;U+9mC6T>9>?(hDDW(Tqxj#MQ6uu_@3_(nW92U2&ISPUj1h!H9_plA+9TZn) zrONfm-X2iumuC+34~Nv(8XpSi@?rprIe>(1i)Ue>b(SP*ek4SSNY0yWN6fBfAh?Yd_hydH`;m=wV z9cRMlrlaSk)1CJu{U@;g6*&+HnuP6`B)O$w9v8)%>TvBi`0vOG7JhsU*?UdOh$>|= zCO`NIYqo(M-K}qqHL(zJ92E&47xlDIbsSgm94C5CMtDAH@w9J^wr%+-x{bPzfEAyWT{ockE0E{G$sUevYQ zWDY?wm>$d{M97d~Z>io8hO3y=gOed=j~SvBauLdC=_(=j#iEKa!`?~~!YH-4Qpi1p z0uDi(;Kx%ok|_ey5{4i*UII5dkwh3mFJ%(?Ft3pWJg&OPVh9J{m(YjdD2^9ElaUrf z=*P%}0qxgC@gv%@5QMr913w*EtcN}%AOp>xlN!#(8VO4q?baU__MF~rGM$4R#HyHE z68m=(CoPH3L`{e-(k8o2Og>u@ck2^Hh~v2?L|VWw*7J!a@wq5*vc>b6=w<8N@Hu4@ zTktpqsNvJO(auu=j(LBvG7;WprAnM`Q85oAniD;3Es3@fp0;0!)>F|&fNEj#M1)9e zAwKyMK+KI^2qQXLdp`L}v=zNxn<+XiOuiA$CKI*Ny2LClcZMa!Wm9MRpucOv~ua#eGxmnvm>7zCl zHq@=Pyytl+zt(ZCwxOYpy3V9_P}Ug1YaNPFRp|bzy48-Fj*h^!j^Kfo0Axk&>Rq}1 z?#4dq`?Zdv&EXQ}#PH`N$3<(PM}Tu=iT&3^YQXV(l<$3j!PpjVI0)Gej@=Fv2WyOt z!E*Sn9diA5fgsE* zBM8~4h;)3W3JAqi3Qx3q&sVNtzh{i#@9K-2;T5-dxgK8y*nlyyvAa*JOyV$0%rO|m zA+aoMAs|Obg$WQ=QI(b$4vA1xJRM0ogZGsnO~^4&mKlaUMcG1lZ!~F)z*$BV zO%eQ>swUjtqAEr4J_@8UJKq|{gk74TyMWSirN@vV7rB{90IZfvEBSTsvSIR)AF&-d}-XXKzdk z7qH{mz7>UL<>yOb0O8VPgb}`pCh8Z6S=x*Dp)iHl&_(StfN%>xm8vOUCc!>HW2zt& zPnnt^qyvI`K-Xl!rT2ep?&hn&m~x{qh08VNWC7tzPwmohq%k+ZDvOW?PT2dmSLONw zLIL4-+S1cdf0fM%yLzS!Bk+a@z1sf83S^xaR!A#`%d?c3LYQHzolF=q^brUdz{zpx z4B%vHLX36LXySl2T$(n7L!;?aIJh)f)JRT&ZsmtY11&(6S-Ksz940Ar7&o6S7o-QG zn1KR$heM2vh#x^z3cCv&BqM-d$inWxwun%E9XT=gA#GW7!Wq0AI#B>`C`|^{CpRcH zS^P&xHb`)xojl^g>&A;oLWNl>$q6PH<7H}Mfki3d019OKfSoU;c}5FPNt{wLk_J#X zOL>%McNl`!!G+eh^N2K*$q8v8Du7&^mw?*wi(A2Gm)CR^V;TK#0S4s`67p+mG)4e--I@JCFaU z+5cU=|F@aF9|b_}p97?IkDC+v#VKxe`WSjIk33UH0e(>EJr0*Ft9dp!ssJ3nxBKLs>x$}Nos><==;l-utrQ+7Pi zeBe1K#-K4cDW~#w_vrk#uO&dSt+Q=y=7#|R_@b1F770B(Kot`s5(&T!J8KD<|5_7J zU*3Th0Mzo%KGGSTZD_&Ez#4iV0GaIeOd8C%b_%#{FeV6rQjP>T@2ru8fQ;?(jznN0 z5}1Zb*oNx%j7x%PuItk@lod00=f!pmNZ8w;tY zMGSz?P!t?e6p&Dk)q)8ldVrt=HZ)Y)cz*=rz{d7UNQs-5`*A|(m=7x?kkG?>E!l=w zXm@RFxtls<Rc~jiT5< zov&sXv>$@9_)rHA7T_}YukOkexF(n-l)ak-;0r}aF@?3J|2+| zregVZzbhv~Sktxjl8CK)#qrnOtO zLd6(Y%GEsDS=4cSd$kl#a43ns+XZR)>`Nn7>~3nFvfEJ0-z(qc7He|!#lAoCov)fs zMpZ3o-I{a#*n8SP;-1~5@w$Ml^j~k_<<^G+Qx#MT6z*~Bb91k*uMFfH>t9v3eUS3K zSZ#}^=8Xx@XPF}@G?}oyp**`xGn^W~PgsbyNIJhU6?#^sKlnZ{thof#Xy9O zT1ot^?qp-_jiJi;g3ZC$Rz;Q{(yubV9XXK9>bF|g`8G85dUz0Hb@+N$op)H~4c*H^ zzuIDmtX7Nqc>4J)2`)iK$PGQ~pD!e9e`M(m-@r;P8jcz~`K0?JOK$FIp!uiDsKQ{1 zt|6{vMF6^MC#}wbSw94IsVx{}B9T&xo0EB4MDsO7ckVSU-tdUAtf7-<%}P$6jDEZS zkE$y(OK&c@7nVt`YtGcGMB6-2&xs@V7x&l<6cOTQO9FfcH?U*A_x#=qMNY=E>`}HP z62ye``5HVz;33s}$ZT(wt5j)s8l1n7P?oILL)>qs5-htFxPX)JkJ8kmq+f-Q9h}cIQ^Ya z(>`OFyQb7Zmu45t@WRimhFI)+G5a-9sl8B34=*yMXS}Hi`uZcwP$WNICc~zHgAu0G zLghbSGDk+%ke4-`zs<2aA1=Cdxi%Vm;~q6g?0ko(k#;qubJqW-#}c|Km(64T>U zK{=(s716Z!`jci;Y}}_VZ~N@zb=9oadYLMf#CnBF{+KLo zFUhSOGvTtc2Ifv@YnEJDL)a^iO+Ja6b){A@GPZ6sWiXyJ^+b-~T}9H_MoZfDx57gz?wwxcz%UN!SBv!LJ?%A4)fjJc@A4%_Mvsp9yP>moL_8G_#~OmDZ>lX2ho!(w7BOw|%|ux1~ZK)(<~;q0-o3LI7^TkDPvb z>-mAl#<-D$=08SaUlmd~7R$e2`lK$oq-=23PoD2Ex;r&p82*m_+F4Ug`rLW`R)*8{ z-Sxgrt7i2{vG3%g`vd6d9aiVY2cD5$WRtxy?L2xdD-M$DUxmjS>iB-)4~sWG^@@NC zh?6;Hl|TEEtUAt$4AH(swrx$YSF6Wabj@Xb&Aq8ITY(smtBH1@$QRv>jh?r>i8vnT za-PS%bJP*>^JY-~tzAEQN$gQw=}P;)Y4?2J<-lLBy}GoD*|LxNzA`9s_vOhK>0CL> z{`di`3|B22UNP$I1ikQ)5{ebp&4Z%UUUv4fF$`(s3Rm0S93%0g`<~ADzi7Yk<6ZR+ znZ+nyxAQ(myNn+XwktpMqKUn{RAnOmlyQEK1J9cwU*X^LQ$=Ur4jEL6)V~N(=a=m- zI6ALUJa6;u`jMR0im{7d+H=eH>U*U(rW(YR)8zFe!)IE=?v!`92SwegyK*$@?kTgo zIbAO-%|ldv;H;qreWiz!Hczmt0kYTOLERS0y6wMB$1?%}<^}J;yDJ~|O*?k|JP#2ZtKG5BkdhEd2IS>QsQ;{O4M9i zYY+O#sf7-w<@6so1bk+%6enxw|ch~&g&|R`<*g?GL(T8P)*G?*7{aKG~7_%`HcH?{bowH4x9_44U@;NJ0 zMipj{llO)|sT;mEDe~pcG@4MUbLYmc{0zH@pf>1A%_q~~YU!p-yQxA`rPj*M+;D_Z ze&8NchG=9~Hg{y(v$!~_q)*7zI|t)ZJ~egD9}@iV%;a2N*X4&zbr&sHj^dv4$0`!8 z)N6^-GX{za`I!{x+r~DB7m9y_XJ$~U2*5F=KD;43< zlHDoaOR~lKQ>of4Za!Pf4WsayRtK5HVRM6azVq)h@{JC3N4bPoJAWzhu04H@N>O;2 ze?*Wgalv9bcOHG(SCuE?dwu#(qaWA&484Zf-_Te{hdSqiLbXzajk>sA_EQhIC=1;4 z5Z+@TdHs-g5>5t(lV>}+v`hoV{dYY9p$ILe~1qF4CGjg<4xs1w@%KrV< z>`%vec#Xc}bkcWYPab1qXMGZgio1E~ma^hA8z{{^NWR)rnq>7^F~EyViPoS{=nWH$ z-!_)TZySpnkzf797>r(sO2+tY)VB|&2{+`bR3H5&q}0>0**qb(*WsFv7Hq~V!`nhI zuXI1FB_ew&6y-kMD6XlvNXWf+<2pTAMDz>) zV8BQQ*DrWnZ07S-8CadFd_3EyKQG`-E+qzwlQ8hrVZ$<-gY~h*hz_?~_K0`F0htTM zY94G;QOVsm=uN%u3U?Y?%M>oJGIEp(Os{mcogaGMsdi1ln~QG( zvERbhkCJFUAC!UGb5fP3@auuDJ0(f1Z>`VQ#g^nht0LoM#houAJzXxMwp`G6xM@{J zuZ(`2yZt$n|se36v%;o6f0TFRR%tqtKt?^SB)YmRT#>zsIcAK8|u8g;hN zvp`kXb|WqI#aNbs^X0yM)JU#bDz5N_`tZ?2khqYfg4H$09xaR*=)roGEa$ksywO>$f0LqhX@Ssm zMZjYyF`_AYWK;Dy{O3&R9Xa>N`@8hV(^#TpyS^Enpt+za*XF+_UXq$MXt@{|BOcFd zGJ2o&#M`9kv$s38W_(UaDp^wpbq*a1+9Ze)t=y~WTveHi27y6VR~6z~H~#!)l1IJ# z;{Dmy$uCpp)y1Y7aLDOweW*$QAp>@O+s5W^Dd9A^mF$X9c`SQd^lQ3xP54626({AB z_dX3zAGSSk@8_JaXU0>_p&pXvarW`@=IH41_&SB9@##9}^&)`>%AZBhJw_!IVaVo$ zs}q6x>-2Fb9R~IMn079vEOwi=3EH&>YFw|0D1lf)uObjU6%c6(N)H`9T2Mj} z5Ks^S6+-V2MD$P*P_YXFg6FphclX}+e&6qXpWkM)&(7}5&dh)2nLX<6ZVj!2{(Ssy z-<0DGRVnUTu&(Q#Pw2vpyrLu{Nd5y0+8V2R9s&2f6S}f)-2JiA^aqEq3#&@XV?6D6RADu2$);mgFyiU|H-A zH$9II9Ha+q*?wBC{j`D+S)n~ZMTBqR4hZ;EkF3%bpmiirt3B`lXh(t$cQVa;=gl|# z(nZx&>PoL}*@Flh@t1T~U zAUm+nR5F{jHad&Q5h*Vj0&}vnxl$b2lVF|aP_{_PxINhGFpxcSvmOaXvCJIB+IpKc zet*KEeHR8d;~X?!~+zoXaf|-*UnrItRR?pvue3iWfqf6#In{R3OE(*lB6#z%MX&6%z!TJ z4G*k}IUaF0GUIMsj+?!lpcI?#8Jo?nFYxKA zm}~g2?eEAr5}*JYh#aE;g?~g&3tr9;L{qg2>Fb(~2M2*cgN!!+(*Y3Fk|b%y&m&f3 z)lstcC|Q+abMQY$44{r`k%qN^VbdT;7J_yGCr82K0+I~;4%&<2XB33;3BviUsHhuo zO-aJ~ok2eNI-AK5QNtkJ*=iUjMMz$#hyr6r?>t$O?kO@g4Y9R6w6; zXWrpHyx28n2SJgQI%JAfO-E^BF~tbysocUL)6OC$$}H|$5yCmP9BhI_z)vE7AW0gg zhlC)yBv~9A%_R3>XOhTW_-Q#Zk#Hl|x{n~bEvgGId@T}=Wyx9hVcX@Rdi1ArBM0=A zAPC(813v>LEf*sQt_VH%SLjdGGDBj_HW~FJUB@<&#?rKUwY05lDBYVVqc)TY84{%q zL)t_l&D&5m8BwGu!|5bSt#7}U>$nZ&nG9vL&UHd2%r2cVsY!AGuUtT7jHQPj=laqz z|71l%@>%VrjMZsd1yQUht`0U7hhSHSMT#9a)C^FqN#oKKN*!fZn%X8SJ zbJc#zkILo@tSF(hG}p;}G>6T8llu}J$KngvZyRvkO+XO-Dd&{jJ#{(S#9lzSR$VR; z>fEs?*6%&RIlZDg^^H+@OH!;o5nuzx!^WmAy?lA)b>TWNNLYRrX${AyVCqc&;4SQG{?b#d46=zN(z;T^uxE)yWgimoc5m1gx?mQ;5X!v=nkrZYqye zWCGC?TbDvK2d5$utD?zNA3Qgg?4u1%1z4pJeN;JANAp?+oGQUTRe7zgw^um_2*=n~Y-u5N_?QUCj035gdIFa0YWFF1?&599NZ=0))>zpHIJ7BQ`<+t zV%xX`Q4CAQ45!*=>y5<%EkH?`#}8X!QfwPce7%DhbQnZ22MzL$uq+D|Ie;ocI>UFe zP{1!Nq%*KBDp1M*C+pm&uY`@VB;v5qaH1)O1xjFXP-?F88DQGWfdj4OkrR@1Nqh`C z$VLOVG0L2%SaK0qw44E;z-sHEdX?8a))Os{=4zN>02JKHTQjN35cCcl=p8?gV4x%s zNDoyA|Gac5Svi z0+ad<4WQwp9SjGs;!q8VpyDte^u}QY2@f#4j}i>4$^BD z7lD3?Y_&b2gWV#b!qX8h1q!`Knc&32+oEEyuZyC9d-4s51SJeW2^I_B10tG9C1wSZ z$v6xvotHXBs6x0M)&l#348f&e(dJSmpyz)6P`F9u>6o;l+Ybky^L;H3 zifseFwRsl}M?CH*}I*PUI1768=j+B&AC0UuhT`Ctya z4S-CEKf-{K*jfR{2V)chlyXeKd2Nn~05bUH9h1yMBrpw+z=tY-Bqq-@7k{z*+Fo8Q z2p}rJ%fh=}D-?F^^wE0pP{7iog9wF7LeS~QUUOJ(2f8gcD%~t9DF9C2vymJ}I8x4e3qt~2?_(x?-TcT2O#85z4ZEz2`BBDhhb-29dMLif2)d2)W z31XqV%9a7Vlc3-$goe1Jczaafkf#6ykLr+2zHBdv*u=hAK-Y!rolbO!giFT9*Ibc! zt(M)RW)l*m5;r8l zlQ*UyQa3RHd?DyLEPMkLt{`;z@@2P#!bejA3Wr^yidtU@V)$fUCn~yjRT1Qm`B!Mc zD2+8T?+VQma|H1=0i~|K8-r0*#3=R9o$zFZo$>xAe@ycj<GQ(u+bD*VSljCJvUq`kf)_Fb1oEy%&rd)4{xWd8j4NQuAVhGL;fC z@%(GhzP&__Y2f&{*L2Jj%tvE!D?Fe{Jw8wux`rsE6q$&1BSyyFoPqUc4Sb*(R;arm z*99Hwzq0Mh=bZg@1QoKb-Q;bpFS8boIFtijSbOW3#7>6%1D%cv%P} zNlnRBeV`T19$)<_|4sK$^Zf4QsxQytYNm&4tbGT>wyefX+(Aqnda8cNLXRCCS+8E0 zDZR{Y%AQ851W(fDW$3!pD-vkLYTWzd=C$5oEq8k=Kye$I$Y z?>uWH0F?zyHP@{xxsbJgxkp;hCNg6mK4-n}Bd>n;y6@k9J@z2ss=WbX`G%q}Y+KE- zjLE#h)fc%J;vm<&Zeyj%_{gP^&bKiQpJ};ITdz6TyHrovYS|ed9*Jn*tb8{0(*FBI zLI3r~Dx!iOB0k`JzuJ3#C%h}&R5}w^CZ=}kXWbShp~kQazrSk@YiBl4)g<%^T5?Vr z^p~Vfjb&U?busKvgXxXON88P#e1sa_IK4QdB~)w)-?k!o=cNC=oXXqZB3D}vmrIw( zcAU>BKNmRHYp6P?IWvEp5x1lC_pqBY17Xyd`Wn`m2+=)r#3Ori`%u_kTMe&(cW+ zv4=!8Hxl}!Q@07fNin4Jt|5Po4_EVaE{(f5)-eP}c&yN0CVNaMtoIXpIjbpD zv|HTDEJ*)GQN94wWa9Kg^+S);Oy0wwjLPp~maa~ek%Za;ljZ|Ymp;a||GM}$gYw^_(Js`qItqx#N_<|53JyS>1P&V{z}rp}y3>~GbTHiNfG%V(1to{8=~ zz9&Nv#-92*ycB9UN1B#RIzB!!SSglmt+gPaBI#LbSdbl&*>HH|P5BaLM+{dMm;B&f zT@z957ZHiYG6nq*@7+>UqQB2+3l$%YBJKG@>uCJB$#KHtaL3{F9fHWQ8(rF&EhcI8 zVZo;|q2EnbCvP#s-^0kxciV7&>t3IuQ1B-UPM&!C!~5!#%eIVXxMQYeVUow_-;Zlb zsXazzbupW8^!v%C3m<}o7NY0DLl z*IufVuY`4luG_7iZ4;D)zE0etKu^}G*SX>b4IJ8$KZZjRN;~PYy3xMJ8a%sMz5N<7 z=U3`R!Y*ed&Mn(yuzu5f3=Qo5bz@Yh8Lu*8)!wPS0unctJ;@+nT_|9U%tGZ zUDi^#Y_yY*iJ45E8-3PZyexJri;$PNm2^P!3fJiKyi~gm*DdkbZue8(@wXc+G<;Xc z89og}4^-WiTkdOq;Siw@a+I?d52*P8p>oY&LVX?985)rfbx#00+HNE9b5_H{u zb&)(F1#1ae(T$KYG23&i;PiFpxW-FvKQ3q=N!-z7G2XcB^h;=%(nTqE+3xQJj5Dv~ zw^prRSt^cprDwH>_{*RcZ^LarMZ2mHd3?A=*y7&P|G`N8=F3f-w$FLox@v-Zoa8J&3L z>EOgSf*}i|xr!oD%R+T0zQbQWk-p)nM|ySa!s}3Tc2@6 zR`$9u`_)nJ^Af_a)~}=Nb99l8Gflbaw%O&Zj>&g!uOg-w(ne{^yM}iJ`oH*bfcA~+ zQI~(o`nsO;xPf$S6-pedR7lph)bc1L5-1tlrF72c~RJ!$!taH4yhHDY^bdi0jL2hg2sXDLkKZNBrt_y;; z+pjiowcMq!8x`=A4a*OGoP#)-U1!Vfb=r{K@)IQEw|+m*52u=cyCMAH&?iM_G=s`* z3cFt~nPb1%C^ToUf8dvQ2d$#Ll5;Le9d<{QcilX@_wK8q6~r-(TaAUx>x!OgI~w;Z zE70qF7L_KvrO#+~-XhKp+q$t$t3Q!{YrEZCyWqCpQ>RAf;B8ei*)CLgD~6lctr7K& zEk!%jyK5mg%}rKjAku3 zG#-3>_xQ7Fg+Vwgbc^ys`HclF%*vz<)9c<)KNrkvWp8%Ln%6N8NKB*drT<`@`5?^_ zs`P}e+l4f85U!inXJ&LqMtDtRrgO7xdXnO=oG`v;ry`-Yr};PCpNn(Ra=-P5ktWDO zc|lH(E|A>(BsNdb7_QFu+#S?ssb*OfXU9*+L?lM&4+MUuT~1E=;Ur)gu!Ul6$sJ~W zquPzj2g8DkrL+CRroAa!K7|zTxBR5)r0l}I!cE7k+-^M8*IqbqY@wJH+rrx7KfiJ2 z;?jg#m>-0j^dBc3DQg`|+x5==xU+zng+=Ai+vDA)aZ|QE6Fy#(cF{|$nSGxGp+mM$ zX=>@>mxRr4IkmWnKpfj|>>6$ZvT~s8uzA&3#6ni&(+2fTn~(L$d<}8!Ki75MFV@6K z=C;ze2aV%N7~Q3)eYA51WzmRpp)Xl?sTPety93{@B5n_sUEi|5ZmaX=pC-$N!Oicv zL94wzOMddW?E&?7tWB`$Pp)^JcbdUC?Ea*j`fx*fxmskWPUiRr3)eb}m&BieR|UG? z?&PMo8Ki}}Jb2Q)C5GXaG3nLnLl^UfomvU{uq1)2ip$r{Yf(_#cOu6&2tT|9(P=QZ zh=8tBoT#KD(1~+tTk~Q$FiuJ-j#?gvt$8U|^hSU2?u83~5Ounm1D6XdcBs_fYi^BF zp1*(nJifP6^Tfl|gHH2)ma?_GD-M#gS~G4+G&*RrI?xDQUKl-_HxH^Kqv?t(JOEWt6!8Y^*EMCM+%3 z-DY4?v+U_#hw8;Y9Gbjz^_FGTt6|jj-YtrfmS$Y*3+)C~MX$!ql#WNR>fe-(4kJIE z3zIVQAbTkGXh2i%KmY9OKuOOs4yo4NVjWczGOTJ9th_EF8@amrZu@HHmko1StBcRo z9%bEmoYmd^!(14;a#MANadQ1F_vgYsVY`3*_27mT%})KKj-;H&WMTvTnYas0S>wmQlj!j0Y zfNtw~-ebR6fIGs+)5V(29)U%utD)3Tpd*wlT|JzG&yxIt-Q7t+NESnB@H0ATU}k7U z(9v@{=R#5?JO2a zqZBBGW>Sn(z^KhbtxrBfP3T0bIQF)9*KO&Z=kjKsRV>8N&ozuJtxSoa1v}b= zkVZm+M?%8vGGiR>h1uPUaTtwpT#a#t$Nt&Bg-x!qI$L!F49eew$(TkK%Izq8jVa`a zj;+`Nxv@-w;3dl;$wk@5%sY+<#0Pio2k>1XXSNdLX- zdbBG;y1)PCx64@QvsHor_fd$2j)DqFFkEHj(!L7!f!Y2Zs_XI4voRzEec z7b`%eZO%ePv$+{%17J;RHb<~k${FnQ9H4TSjoE^;cKy_uTMgo17Ej4mtZT5^He;s1iTLqs?*?8+F#GP7^Pz{Awf67u(FJ~U9)-8&Mk2zJxm?6$OJvhzg02gu z<)hk>#WG3B$8lv*<^(B4T2Lfga|8rM3$s!D*T9DICW?#63Cf*Hce>TPR9HjB(_Za` z>Zig60w{oD6*NF`Qr%2mU?s-bn^woP-$$bma7fx_L;j{+)lF8avVgH28pEM5YkvZ$>DC8UHzW{vl%v%Bff9q^o(e4gK~Rz~G>J-5IGBvs_N3$#_U$1akoGts3kZrpwWFTF1A4I?`G&nH z-dsvMMv;~_fJLfiz%`HxC8Dm=IYk55j$#TNpO9ND>Ke}ghahh7<1gq>k$~xnLy(IA zfe#r&A@m|=QV5->x6%Y0rZmU07sInFx)a5f8zqdSNn7?J+oYqr_1@-0_3J4?5aKZm z{PdMH-Hae%Md*+7@_lKVcyR^1m{FfNX++F)Bwe#d6K!Ed>=GjmTM=JuHzn39n2MR2 zez78o84)FjgBhm8I^RA`(wG(T<#yt5J?X{v%QhLolNzRW;E@Ta!6O-APE23N%s*L~ zinCd15l8CL7C}S{BFWB*Xct1VTP4~s!|;G=X*woBB-RthR(y#WVN*dwM;p@ED$#EH zWrvZNsjp#Ea2Ds0;b1^@W|Exm22Uz^Qa!y2Z_%krbb1-R-j`mvl-E?O(Nz}eZ_yhWoi)|jmE{ZdOZ-n&78=jfD=W)u7FpCr z#zL$ALZjNH5@c6N`Mbul#zwz|M*r@5U+E(HyNAkMPpUg>mKGWh)CS915QAS*9H(u7 z9==Y$Z&qV=5geKl#v7g~UjTf^WFb8TPc z?el)o>c6Hv{WZ9#N`SZRI=}{ug$=Pz-2&NtTOtm@ATHTiaZ6$47DSLR;T@vb3dJQG zcoNqlO)QJe>oGC<%ipqb;m3n)y2_wAA)m-mR`?Kn?W%7DFB zS?iE}qKK=o`fRaVFP4{9%OU_)v-!n>`Z!v#I3A~J-3@?TG@xf(RxE0XEvo~pXvN#{ zI8?p3gCB}14Neq`I$)8l;+DRut<*iO2*9d?C7dneZ6*b<%8DZ6aEx>^p*tsy#VRTp zheg(taVFqaINa?Rg1rxlnM3eFgIfVsWSoy`tG$CsU9hk{Kl@gUI%{t)Mk^4mK!f9P zx9hfh`=Mrb;5->D;bkq`9g=}?OK)@u(~CuL@YP{b191%I5FrT=Tz#8{sTY_2(%i*M zwUz0@UnR-2jZx;+@5U&W1(@g~k;HC29)-GI3=-MG z#PBH4w&RsmTdcj2NT3BMDf8K3%Viqh0^{3e#|s&PC~if7yu&3$gGcqli^W}ql~3SAazs!2k-hmTr45M(wCB4FYHxsJwAgxA%F>uF73dKF;<_2CHx3ZIdm12UVk0%lg4HRJ>)|En(f=z*TOB8Y5zz=v*|-*%cuGW+nBRrh+sy7Y^J*K>1UEmCVUP?2k+&h_OdKP^4o1fO{ zH)SIAuN2}=pSid|AYZQQaq1kn&Xr@`QwaY)vs(#S_nI>TeMwelhp9!M{85Ei%dnSK zv%?(${9zUQQ!x{A6W>?YY>>QfBER=UEWJL)Io)?qk1O(^R;!k`D9v_hFlbc#oo&$F z*9mlo7Fhqmjvmg&LqzVMQgW~eccq1jCBY~MGM(<-UYQUHM_)97HU41amd$z-XTN<~ zkab@fyD`%f{`Fv$@4BaC{WGR|2dYX%O6#gjqsp6WzFQjJNcEkb{V}BQWqta2xCFHu zhmBIEMxs|2(eBF4X|>qWN8yFxzvi0#52|HRsRGlS?jvFKIGwldCXJVwG{V>^6=Y}} znM`&c3dLsn#Vobm8!w+2n;x`@z$;ZxNM3ECUq{2uHtb>j5nhniz7HX5FW=@8cfp{C z9z#<$4}>MGNIFadD=}yoXVidOFx;20yk~ZD>DQ@WcN44baKzSi|I*UouP^U5__QA# zpDy*BCVG5&@|@n4;pCtc7bcm>wYGS*w!s4PIGE|@cWvu+O(}}LO3<==2w2sg6Ki(Dk1XWtDS|du^qJuKetZSq4nnn z+EH*^67v-k$~&RiaAFG&w2W->(O~kbeU-9sO&m8myPmi4W_YCjSK8O*sL;iF-?18> z!%KIB%#_#i!}brXM{ZF}RzJ}6CiKde^|fBCh-2xFrL=8_k4N|99Ju&C>ZA}zcl?$Ek2m>${3#~-%NY&wD{{{_3&%^JnJv;=oc;J8^^1jnZJ{N z!~4)n!$tBrf6aul1I8ME_`*@kd05H}Cv@7TVoJt_(-F4t{asS;C?}ntqT*dzM-b2M zx)g4-G4J(ZP+j`y+tyUyN>4es$4yVu1<6E(~_}R58thH$T7kn!+=IVYsX9w zv2)Ly7(~~a^uc3Ks^AX4JbxdE7$Ke62=?FG6ne!vt50pWoW^0}&v}7kXUsjjjMM1# zMwg`WhnkF-r*vMXK>TbtIe$A?}E(+HB2+^r#|cy9Z%ceu5mXCJr-*~C7nelK2XxQx)? z->dU*1x7V8$I2=h?v-94DcCkQjNYnIIGk4jOZ3w@S*w`(?uXM^dV!+ct>2aLPO$=C z#0DEip6T|bd@sMJ|JwBYBTk&d;dnEK%9L09{ecUOEep7xQ%fEA=Bv*>m5e`mud|UP zJN+Q%N^+6t%5`}yq0a7Vjl)GIcUsi($5gkxOZbX;M9Omg7RY^U4ti)^(MeU};j2E- zH_%1h0)KG}UwNy}HP-Y(ZIhTx$C_WsZ zU({Vl!^kKaKRjInCHVi+A7y^oC4VjDQFXofE{llq7*Bl0jivOF2bbH!Bo|g&6mQ;W zTYH}9SoQF(VkW|nckgZY-g&99B(b*T)1TT`8XP$KueM&28=9UxTZDbJZ%lpY{x#9& zmpS*e-+o)MdHo|-!bCGPyz9n%`EN@d$$U(q_<>X<`pPSh-bU zfJ&s9`YDf=IUFM>mMu?p*KTEKJ$i@uzU*GM|LY!8Ct7w|#TY(9>W9h-{u3W|oiF!- zRpp{hNZES$fiL65=}L~aIOCmF+8L4$!_nxKNg1R;<`s92 z(qBS9^JL8KE^A#jD=jhUA;-_=pf(20RJT~6boZ%0nZJmNw#nvw>i)%yEVb|28n?RF zG!GPh*Fh+MQs;f`n;gIMYd<81S5kW&QzHx9zAaoPEoD#{h_t@ajRe~rR`}|Z#kdE3VP53YrGtt>hZ*(>_36fU>DcqZAMf%bMO0I&rVWsSfp&@E&GyS2 zb@7U-TLteq{Pz9sgaaL4j4yCLP`nE|ZG9?=%(dn5?{;pxZ)NEcvFY*0clIRu2R!`o zhm)giUv&7a-vg*HeoTMo&5*oOWBFrY0aN~-BNkO1iU!4vD`_WHmqXe=8At9u z5H_W)(UW>ar{+}H)>nPcdE3+1$>XkLf@Hx{rMI;*w|njw_c>g!ckp6Ua!Rd_8JA5k z%%I~GCR_Wt=7HnOSy~Yh5L4b-i$$Bo_7Gd)_2 zVr8$Qq{6uM^`=wf^mu-)D#r`&nP-@HSKD05T+)Y+=A-AAJkTUYw9?o$yEoOj`Xv(G zxl^Qy6N`3zI+E8Mn4-1kc(=&bX)*7`gee=5BhBXh&TSOz5!m=379~(~E$VRy|Iuf1 ziF2-R_7RQf;z+M>-n{^F!8k;JB+^Fe>-jNDro0m1rNDs%wgr=)Xc>v17eH1 zi!&l@Od=Jg#`ui)W+a_Wa0?F!vy~iN>MAhod@;O!XCu96K%??#50`{>e8{$bjG!~Z z!fmL*;6~3GMv>`|2|jz2a@R3F3twx#yH)%1I1DAnns3P5M{l$}eY856?3hHoSakWg-QjrtUoy(E9|%dm2bj&S z4(FPbkNsvSb@BoK?6T0M)zgWF0>*Nu2a3J!8+wa4f;haNV zIpZ&W8cmR}&5)WjdSO~LlTsECuWn)exNSXaA*xnzn$6df1#tY zrrcyisQLD}#?(G%si-fq4GrJ!J|4Rnb7U|^#@u0BNr#fw*U&Q;sy^HDHCNAhEDqwY z81LsJ6eEw7n8vLHI4Ti(UOlbev4_eRGap)M*Z*W=F_iznO1}>G2Bf`?dvoNl5)^j5 zOxf>P$djQ E0d&OH{r~^~ literal 0 HcmV?d00001 diff --git a/data/sounds/place_node.1.ogg b/data/sounds/place_node.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..46b9756de3ecbd38d07d1c4dac5aa59ce23faa10 GIT binary patch literal 8584 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�ExX{xV{!^& zF3=%{GaR`XvBE$X!=XSps{ca0-ZT4c=erQ!$6@n*e;)ehx?CNZlmC6?l5E#klZLlQ zudSNo*+cM?UM2Wzt}}g@=SphM-4QBJ5*3~Yzk2mM;*3_F&vE^m>3l{>0m2GJ!}y0w zi*G+|u};n#ES)s+=Jwy^XM)a!_l$q91F*k4Ri%swnUp;&w2ND@ISEF4!M-Y2} z`&vK`no?Tsk>A_6MvJgV+3j5UfkJq-Ai3P!rl}HU8KEEYt~z8 z3OV4S)#+4519dRyS8`r)6|f_pvT)iXxMb|B(_a?nD~*pI$!#CL6ZRp;=mn$5l{6ix z_#w014hNhCHU(YQmHhD671~Dst^C-}&G?`&DZR|f<_l;U_}D^xO%fr5j8AA1{vG_J z1LxMoIUSU3z;W43RLA?W4b66HudF)Wx4)}rh(&XY9Hm*nrLH_qFWm5Q$PPcpM2a9k zHs|_smF2_ivCOMCna0pYxu-ebks~fXRX<8dks5K5zHt9wVXdWhuuDy^C(Ha-SL3UM zuYaw9{4^qL9(D!<5W}T#j=EQJRaja}w<`8jT)I!9%m9yWqexzU*p^zu;kk^Zr4HKQ z8OyGeFs_wyYsyIO59ij!S%rtr@w3mxEmYhiU&TB;sUyyC{#I%iFY&C2rrWJ_TFD2? z27fWlZFFsOfn+D)=*jaxwW|V|bvW|H-<$RcaNss^{cBR&EzDy+Ey8bv9Gi=9=j#gA zRve#l3ew7N4KX$J?YfNd5+x`6Bflz(0@?3PJ zkzrwT2JzsM(@ApqZt?{tfpSt6+EvYi`G?8Xd$>>E-?C+tuiqEX&VWCXUKN~lNN87@ zK5JYn8H7&|74?#;xh0H$qxZNMzidZVTd{N9`1!E*z0exFdD5*Oj(edIpDsMK9i5t5 zb~7~NAF8i)*ctrug?RDHMw+a?zyo1>#pa8&W!iURi|eEwdI59}`9Q#h`p!(Wy0Lke zd!BdeGGyUwxaFL^Ne4RQb5{>c{w!?%v(fX_@^ZzdL+GE5&Gu^#_!lmI#%6sUS{IK! zSr>k~5&xc}BY(5k7618&bjDzD)z`~WH`O~WO($n5CJtB{qwVhI)=nXH3d@cPL+C}D z!MCnEi=Vk}mxtT+Ed*W`Ev&R`SgDPfd>+i literal 0 HcmV?d00001 diff --git a/data/sounds/place_node.2.ogg b/data/sounds/place_node.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d34c01a4329a28a8a4c54f54d004abbe688b8ffd GIT binary patch literal 8644 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%0Ac5{y^&ASwSk*bM_0^-l@Ok z>%sXtDRMcME&1!mYW@+@>cuFy*nEgl!RL(^Z#8bg7bKIPBdD9c=}(YYn@H~7Bf;mR z&5NL7iPgR#>mh6{tz)u!aCmL|8vh?QC6P0?QMXUl+DY-5B0Y{FOToe?Yy3(_PD}0X!Y*F*w5fvnXGWpL&Btz z-i>FokCGVBvDTAJ2NL~$Mg`T3(t#x8LKdXgEtnE&UNvuf6s+I2GAJ!`#Y^=J@=f%+ zsO;eAYgqguLB~mOUS;Dz@g|Bo4LO|hbGhL(p~{%{;8Z<6#`QA$vO?4JRpI;nyrw>#km( z{5^IOWMp;SrF%)6t95@X)II=8{P0@3idE)l+~sL$-3hMb7@i8UY}LWuKca?BM7ly1 z`;Fb1OL3w|o9edMtWoE6%qa1bUqLCm&Uyt*yCatUNMJa=pwb&-_;hafP<-_d((ry= v^zA8Wp#R!agYkgetSceneManager()->getRootSceneNode(), device->getSceneManager(), 666), @@ -199,6 +200,7 @@ Client::Client( m_device(device), m_server_ser_ver(SER_FMT_VER_INVALID), m_inventory_updated(false), + m_pointed_node(-32768,-32768,-32768), m_time_of_day(0), m_map_seed(0), m_password(password), @@ -1573,6 +1575,8 @@ void Client::groundAction(u8 action, v3s16 nodepos_undersurface, writeV3S16(&data[9], nodepos_oversurface); writeU16(&data[15], item); Send(0, data, true); + if (action == 3) + playDigSound(); } void Client::clickActiveObject(u8 button, u16 id, u16 item_i) @@ -2256,6 +2260,13 @@ void Client::playStepSound() if (!m_sound) return; + f32 volume = g_settings->getFloat("sound_volume"); + if (volume < 1.0) + return; + if (volume > 100.0) + volume = 100.0; + volume /= 100.0; + v3f pf = m_env.getLocalPlayer()->getPosition(); v3s16 pp = floatToInt(pf + v3f(0, BS*0.1, 0), BS); MapNode n = m_env.getMap().getNodeNoEx(pp); @@ -2265,19 +2276,19 @@ void Client::playStepSound() } switch (content_features(n).type) { case CMT_PLANT: - m_sound->playSound("plant-walk",false,1.0); + m_sound->playSound("plant-walk",false,volume); break; case CMT_DIRT: - m_sound->playSound("dirt-walk",false,1.0); + m_sound->playSound("dirt-walk",false,volume); break; case CMT_STONE: - m_sound->playSound("stone-walk",false,1.0); + m_sound->playSound("stone-walk",false,volume); break; case CMT_LIQUID: - m_sound->playSound("liquid-walk",false,1.0); + m_sound->playSound("liquid-walk",false,volume); break; case CMT_WOOD: - m_sound->playSound("wood-walk",false,1.0); + m_sound->playSound("wood-walk",false,volume); break; default:; } @@ -2287,13 +2298,45 @@ void Client::playDigSound() { if (!m_sound) return; - printf("dig\n"); + + f32 volume = g_settings->getFloat("sound_volume"); + if (volume < 1.0) + return; + if (volume > 100.0) + volume = 100.0; + volume /= 100.0; + v3s16 p = getPointedNode(); + MapNode n = m_env.getMap().getNodeNoEx(p); + switch (content_features(n).type) { + case CMT_PLANT: + m_sound->playSound("plant-dig",false,volume); + break; + case CMT_DIRT: + m_sound->playSound("dirt-dig",false,volume); + break; + case CMT_STONE: + m_sound->playSound("stone-dig",false,volume); + break; + case CMT_LIQUID: + m_sound->playSound("liquid-dig",false,volume); + break; + case CMT_WOOD: + m_sound->playSound("wood-dig",false,volume); + break; + default:; + } } void Client::playPlaceSound() { if (!m_sound) return; - printf("place\n"); -} + f32 volume = g_settings->getFloat("sound_volume"); + if (volume < 1.0) + return; + if (volume > 100.0) + volume = 100.0; + volume /= 100.0; + m_sound->playSound("place",false,volume); +} diff --git a/src/client.h b/src/client.h index e7c9885..bfa7e77 100644 --- a/src/client.h +++ b/src/client.h @@ -325,6 +325,9 @@ public: void playDigSound(); void playPlaceSound(); + void setPointedNode(v3s16 p) {m_pointed_node = p;} + v3s16 getPointedNode() {return m_pointed_node;} + private: // Virtual methods from con::PeerHandler @@ -364,6 +367,7 @@ private: bool m_inventory_updated; core::map m_active_blocks; + v3s16 m_pointed_node; PacketCounter m_packetcounter; diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 2f3ee5c..329039f 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -96,6 +96,7 @@ void set_default_settings(Settings *settings) settings->setDefault("anisotropic_filter", "true"); settings->setDefault("bilinear_filter", "false"); settings->setDefault("trilinear_filter", "false"); + settings->setDefault("sound_volume", "50"); // Server stuff // "map-dir" doesn't exist by default. diff --git a/src/environment.cpp b/src/environment.cpp index 95604d8..5c69190 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -32,6 +32,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "log.h" #include "profiler.h" #include "server.h" +#include "client.h" #define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" @@ -3775,7 +3776,8 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete) ClientEnvironment */ -ClientEnvironment::ClientEnvironment(ClientMap *map, scene::ISceneManager *smgr): +ClientEnvironment::ClientEnvironment(Client *client, ClientMap *map, scene::ISceneManager *smgr): + m_client(client), m_map(map), m_smgr(smgr) { @@ -3938,11 +3940,12 @@ void ClientEnvironment::step(float dtime) i != player_collisions.end(); i++) { CollisionInfo &info = *i; - if(info.t == COLLISION_FALL) - { + if (info.t == COLLISION_FALL) { //f32 tolerance = BS*10; // 2 without damage f32 tolerance = BS*12; // 3 without damage f32 factor = 1; + if (info.speed > tolerance/2.0) + m_client->playStepSound(); if(info.speed > tolerance) { f32 damage_f = (info.speed - tolerance)/BS*factor; diff --git a/src/environment.h b/src/environment.h index 813dab8..639b01f 100644 --- a/src/environment.h +++ b/src/environment.h @@ -349,10 +349,12 @@ struct ClientEnvEvent }; }; +class Client; + class ClientEnvironment : public Environment { public: - ClientEnvironment(ClientMap *map, scene::ISceneManager *smgr); + ClientEnvironment(Client *client, ClientMap *map, scene::ISceneManager *smgr); ~ClientEnvironment(); Map & getMap() @@ -428,6 +430,7 @@ public: ClientEnvEvent getClientEvent(); private: + Client *m_client; ClientMap *m_map; scene::ISceneManager *m_smgr; core::map m_active_objects; diff --git a/src/game.cpp b/src/game.cpp index 3d402e3..7d19237 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -611,6 +611,8 @@ void getPointedNode(Client *client, v3f player_position, } // for dirs } // regular block } // for coords + if (nodefound) + client->setPointedNode(nodepos); } void update_skybox(video::IVideoDriver* driver, diff --git a/src/sound.cpp b/src/sound.cpp index 9c51469..3038bbf 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -53,12 +53,20 @@ void init_sounds(ISoundManager *sound) // digging // CMT_DIRT + sound->loadSound("dirt-dig","dig_dirt.1.ogg"); // CMT_STONE + sound->loadSound("stone-dig","dig_stone.1.ogg"); // CMT_PLANT + sound->loadSound("plant-dig","dig_plant.1.ogg"); // CMT_LIQUID + sound->loadSound("liquid-dig","dig_liquid.1.ogg"); // CMT_WOOD + sound->loadSound("wood-dig","dig_wood.1.ogg"); // placing + sound->loadSound("place","place_node.1.ogg"); + sound->loadSound("place","place_node.2.ogg"); + sound->loadSound("place","place_node.3.ogg"); // CMT_DIRT // CMT_STONE // CMT_PLANT diff --git a/voxelands.conf.example b/voxelands.conf.example index c0430d6..472773e 100644 --- a/voxelands.conf.example +++ b/voxelands.conf.example @@ -118,6 +118,8 @@ #trilinear_filter = false # How to show the node being pointed at (outline or hilight) #selected_node = hilight +# Volume for sound effects (0-100) +#sound_volume = 50 # # Server stuff