From f314a39e4316fe4ad7e6cffe94e7f020a4dc1f33 Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Wed, 20 Jul 2016 15:24:31 -0400 Subject: [PATCH] Add better sound muted status UI icon and background Icon contributed by Tugodoomer and AlexAFlorov. See https://github.com/DayZMod/DayZ/issues/625 for details --- CHANGE LOG 1.0.6.txt | 2 +- .../Configs/RscDisplay/RscPlayerUI.hpp | 22 ++++++++++++++++-- SQF/dayz_code/compile/keyboard.sqf | 2 +- ...teSound.sqf => player_toggleSoundMute.sqf} | 11 +++++---- SQF/dayz_code/compile/player_updateGui.sqf | 6 +++-- .../compile/player_updateGuiDark.sqf | 6 +++-- .../compile/player_updateGuiEpoch.sqf | 6 +++-- SQF/dayz_code/compile/vehicle_getOut.sqf | 2 +- .../gui/status/status_sound_muted.paa | Bin 0 -> 5655 bytes .../gui/status_epoch/status_audio_muted.paa | Bin 5625 -> 0 bytes SQF/dayz_code/init/compiles.sqf | 2 +- 11 files changed, 43 insertions(+), 16 deletions(-) rename SQF/dayz_code/compile/{player_muteSound.sqf => player_toggleSoundMute.sqf} (51%) create mode 100644 SQF/dayz_code/gui/status/status_sound_muted.paa delete mode 100644 SQF/dayz_code/gui/status_epoch/status_audio_muted.paa diff --git a/CHANGE LOG 1.0.6.txt b/CHANGE LOG 1.0.6.txt index c0fa00645..ee7a84d43 100644 --- a/CHANGE LOG 1.0.6.txt +++ b/CHANGE LOG 1.0.6.txt @@ -12,7 +12,7 @@ [NEW] Added "RedRyder" and "350Rnd_BB_Magazine" to loot pile. #1456 #1457 @Namindu [NEW] Added action to lock and unlock vehicles from inside #1103 @pj999 @ebaydayz [NEW] Autorun hotkey (0 = Toggle auto run) @ebaydayz -[NEW] Earplugs hotkey and status UI icon (F1 = Lower volume). Automatically disabled when exiting a vehicle. @ebaydayz +[NEW] Mute sound hotkey and status UI icon (F1 = Lower sound effects volume). Automatically disabled when exiting a vehicle. @ebaydayz [NEW] Snap building, use DZE_modularBuild = true; in init.sqf to enable. @raymix [NEW] Auto login when a player joins the server, default 10 seconds, requires description.ext update in the mission (disable in description.ext by setting defValueParam1 = 31;) @icomrade [NEW] Many new configuration options are available for admins. See dayz_code\configVariables.sqf and mission\init.sqf for descriptions. @ebaydayz diff --git a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp index 10fa25ee5..0f0a65557 100644 --- a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp +++ b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp @@ -216,10 +216,19 @@ class RscTitles h = 0.10; colorText[] = {1,1,1,1}; }; + class RscPicture_1904: RscPictureGUI + { + idc = 1904; + text = "\z\addons\dayz_code\gui\status\status_bg.paa"; + x = 0.955313 * safezoneW + safezoneX; + y = 0.51 * safezoneH + safezoneY; + w = 0.075; + h = 0.10; + }; class RscPicture_1204: RscPictureGUI { idc = 1204; - text = "\z\addons\dayz_code\gui\status_epoch\status_audio_muted.paa"; // was previously status_connection_ca, not used + text = "\z\addons\dayz_code\gui\status\status_sound_muted.paa"; // previously status_connection_ca which is not used x = 0.955313 * safezoneW + safezoneX; y = 0.51 * safezoneH + safezoneY; w = 0.075; @@ -427,10 +436,19 @@ class RscTitles h = 0.10; colorText[] = {1,1,1,1}; }; + class RscPicture_1904: RscPictureGUI + { + idc = 1904; + //text = "\z\addons\dayz_code\gui\status\status_bg.paa"; + x = 0.955313 * safezoneW + safezoneX; + y = 0.51 * safezoneH + safezoneY; + w = 0.075; + h = 0.10; + }; class RscPicture_1204: RscPictureGUI { idc = 1204; - text = "\z\addons\dayz_code\gui\status_epoch\status_audio_muted.paa"; // was previously status_connection_ca, not used + text = "\z\addons\dayz_code\gui\status\status_sound_muted.paa"; // previously status_connection_ca which is not used x = 0.955313 * safezoneW + safezoneX; y = 0.51 * safezoneH + safezoneY; w = 0.075; diff --git a/SQF/dayz_code/compile/keyboard.sqf b/SQF/dayz_code/compile/keyboard.sqf index 52d431e1b..f1624709d 100644 --- a/SQF/dayz_code/compile/keyboard.sqf +++ b/SQF/dayz_code/compile/keyboard.sqf @@ -56,7 +56,7 @@ if (isNil "keyboard_keys") then { _handled = true; }; _muteSound = { - call player_muteSound; + call player_toggleSoundMute; _handled = true; }; _rifle = { diff --git a/SQF/dayz_code/compile/player_muteSound.sqf b/SQF/dayz_code/compile/player_toggleSoundMute.sqf similarity index 51% rename from SQF/dayz_code/compile/player_muteSound.sqf rename to SQF/dayz_code/compile/player_toggleSoundMute.sqf index 1fe52401e..99c395f51 100644 --- a/SQF/dayz_code/compile/player_muteSound.sqf +++ b/SQF/dayz_code/compile/player_toggleSoundMute.sqf @@ -1,18 +1,21 @@ -private ["_control","_display"]; +private ["_background","_icon","_display"]; disableSerialization; _display = uiNamespace getVariable "DAYZ_GUI_display"; if (!isNil "_display") then { - _control = _display displayCtrl 1204; + _background = _display displayCtrl 1904; + _icon = _display displayCtrl 1204; if (dayz_soundMuted) then { dayz_soundMuted = false; 1 fadeSound 1; - _control ctrlShow false; + _background ctrlShow false; + _icon ctrlShow false; } else { dayz_soundMuted = true; 1 fadeSound 0.25; - _control ctrlShow true; + _background ctrlShow true; + _icon ctrlShow true; }; }; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_updateGui.sqf b/SQF/dayz_code/compile/player_updateGui.sqf index b0c5dca0b..6b329177e 100644 --- a/SQF/dayz_code/compile/player_updateGui.sqf +++ b/SQF/dayz_code/compile/player_updateGui.sqf @@ -45,10 +45,12 @@ _ctrlTemp = _display displayCtrl 1306; _ctrlEar = _display displayCtrl 1304; _ctrlEye = _display displayCtrl 1305; _ctrlFracture = _display displayCtrl 1203; +_ctrlMuteBackground = _display displayCtrl 1904; +_ctrlMuteIcon = _display displayCtrl 1204; if (!dayz_soundMuted) then { - _control = _display displayCtrl 1204; //muted speaker icon - _control ctrlShow false; + _ctrlMuteBackground ctrlShow false; + _ctrlMuteIcon ctrlShow false; }; //Food/Water/Blood diff --git a/SQF/dayz_code/compile/player_updateGuiDark.sqf b/SQF/dayz_code/compile/player_updateGuiDark.sqf index 83df6db19..3c2a66adc 100644 --- a/SQF/dayz_code/compile/player_updateGuiDark.sqf +++ b/SQF/dayz_code/compile/player_updateGuiDark.sqf @@ -45,10 +45,12 @@ _ctrlEye = _display displayCtrl 1305; //_ctrlHumanity = _display displayCtrl 1207; _ctrlCombat = _display displayCtrl 1307; _ctrlFracture = _display displayCtrl 1203; +_ctrlMuteBackground = _display displayCtrl 1904; +_ctrlMuteIcon = _display displayCtrl 1204; if (!dayz_soundMuted) then { - _control = _display displayCtrl 1204; //muted speaker icon - _control ctrlShow false; + _ctrlMuteBackground ctrlShow false; + _ctrlMuteIcon ctrlShow false; }; //Food/Water/Blood diff --git a/SQF/dayz_code/compile/player_updateGuiEpoch.sqf b/SQF/dayz_code/compile/player_updateGuiEpoch.sqf index 6171a3c70..3b2e2fcfd 100644 --- a/SQF/dayz_code/compile/player_updateGuiEpoch.sqf +++ b/SQF/dayz_code/compile/player_updateGuiEpoch.sqf @@ -36,10 +36,12 @@ _ctrlEye = _display displayCtrl 1305; //_ctrlHumanity = _display displayCtrl 1207; _ctrlCombat = _display displayCtrl 1307; _ctrlFracture = _display displayCtrl 1203; +_ctrlMuteBackground = _display displayCtrl 1904; +_ctrlMuteIcon = _display displayCtrl 1204; if (!dayz_soundMuted) then { - _control = _display displayCtrl 1204; //muted speaker icon - _control ctrlShow false; + _ctrlMuteBackground ctrlShow false; + _ctrlMuteIcon ctrlShow false; }; //Food/Water/Blood diff --git a/SQF/dayz_code/compile/vehicle_getOut.sqf b/SQF/dayz_code/compile/vehicle_getOut.sqf index 52f0ed293..7a00d8684 100644 --- a/SQF/dayz_code/compile/vehicle_getOut.sqf +++ b/SQF/dayz_code/compile/vehicle_getOut.sqf @@ -7,7 +7,7 @@ _position = _this select 1; _unit = _this select 2; if (_unit == player) then { - if (dayz_soundMuted) then {call player_muteSound;}; // Automatically disable sound mute on vehicle exit + if (dayz_soundMuted) then {call player_toggleSoundMute;}; // Automatically disable sound mute on vehicle exit _buildables = count ((getposATL _vehicle) nearObjects ["DZ_buildables", 3]); if (_buildables > 0) then { diff --git a/SQF/dayz_code/gui/status/status_sound_muted.paa b/SQF/dayz_code/gui/status/status_sound_muted.paa new file mode 100644 index 0000000000000000000000000000000000000000..598a27d05f1a43ccee15f52dc1321eb19df848d2 GIT binary patch literal 5655 zcmeI0dr(tX8o1|KqfL4tvX;Lf~7689g48S0tIP0 z*ntofC|C&EU3|1WG_A9A8w)CN6|0Ocf?Zy|c<4f461o~X-#XiND&Or=9{k}&1j-Jyk2rf$L`MD?EXnqqX_Ptp%R{pD;zv z!5{GRA9fLB*DduP0r{U%x;%uD)4&TmEH10qAK=;MZ>3Pa>!3`;{vEoP-o90~U_aO! zL%EcDEQ#YK(MEQ?$)3C3&LPLb76bVZlB@|BEp-HYy-4-PYOCr!z^EIU#!}V<@H0BZ zFH!Eo08e;bj8rY=WBGZ4IV6docYu6R|J)|k+>yxzLW6pzqtdix_N zEr-7`=ehYBoA1?#DKwlf&73HaPnqpMApTJlBMewr>$$e+-k-Lwg# zF9LssLPh*w-%>2l(e2ik8tv>g@5Bj}`rW4xq_Mf7Exn+O$_Ct^hCY6?5 ze8+vjyjjjSHy$pJ6Y8>XpF&(;C+P^$71R;}{-y}Fm`CK``Je{hi|3D!YeDXy2{m7J z+AaZjbkV2=a$yxP~?>!u{Ad$tVJ{!f?GGq!!D0>TB5l5OKTr z%(K4_gTCt*jZR(Jm7T!cd}hlw6Yt%lBYUtvrwuyOtf{E?Xl#4!eP z-f(SEhh@`ckPo2*g?scaJ}`YIRYHd*wEzb{4t=mY{_YmwQInk06->n);P0ulo-}pe)2)OX9mdck-;f}L3Y2|ehHb3j5XaU$pib``MZY957sJ6pCI+p>%AFUI}lgm!;LD)9Vw6Ku1^wjAJ}A7AIx zRllPP*y(=Ta4YX5?$>URMZtj~`t#VNMk&rv#^Ld|sJ5zHvF#r~zmLptwcJ;X{k5Ys zO$$>R1@eW>L0jJnMk&A#5bYPZP2Z2rHec@e9|`6s{n`YHbS~kA8mIjP##ef3s!Zk)5%t{rBSdhk0hczFCD+5YMAI>hZWNIgXzi5;ljP zvcTi5W*J`^+FxYYFWaAC2*dg_+xUMUuY1pj=jDoA5n^u`j9dc{x?>t2OFGt(0ha;mQ>Nm)s5Nz zxfhr5^F(-q=LxruLEn+n=4@x%Mu|b$NJKFTcS*xK7|)H@7+)cnvN6whl0d(~j6Qsv zIgj%zC(@UAjSc@FrM1R%eHMjil2uZ4Xqd~U5VS=B-C4YLR!)SzRX24aX5z%FmNMiNQX*AAj;1O-1faP#Nf(7%98fx~ssgGs~(1 zZ`%y^c870Q_Z_&&qL?F+|JE-6mJw>P?=s4FdivSS{b4a7EpcQ@@iZSm5!du1u?>8FtD!#uMJ{C1UY-rT2d?EDJGr&`yJ1RaP^2Bwp8E6;gX zsK9>=VOAc^9Ac+MXD<^y?ohNpW2arm?-Sjn^Q4tnP9}M6zm=tZyVuEih^M_4jUd!6 zVL^6-;N~5A-<4|bX}p`Mn1sJJxX#5d9kCSc_uz&MKV6!wsO;5hxV6{)n+wt(gBcRB lS78YGc-XKtS9|5Eb!uTju#18H_wp6mfByd_mZB&f{SQmwW*Gng literal 0 HcmV?d00001 diff --git a/SQF/dayz_code/gui/status_epoch/status_audio_muted.paa b/SQF/dayz_code/gui/status_epoch/status_audio_muted.paa deleted file mode 100644 index b7d1eeb403399d68550ee953f9bf974d0e05afd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5625 zcmd5=4Qx|Y6h60oZ8u?~MHlA=aft;M-I9S}@eg@#F8jkVz*d<*$rLcotPG>ECQzNz zY{nmoHEL8~5fl805r0Ty)Q!oEOwnZt1dDStF+=AKVR z?z!hX=R4oM_gQ3lx#qf|{ANudqG&XFyQR#WH(9>7^gYFw73VWSG9JEf)E}oV9@&O`W_`dy9kU!@08m_-kH1Hqf z2L;$xLGZJ!FI~_?!ldNCb3f7DFKtgR>I>dEc(hG+M2OmKg5+^-Wp40}h#B7tt6PUd z{^5{*h-heC@4Bhri!;t=1qncZZ^{D&jQ&LeCe7y^MGe_S4OeYIJ-z+j+4(1n?;1WO z zI#+%#Z$Cm5@tK8K-y+PFzsWm*uOFDidfb3)$di5d zKJ-`6^I0suZ!|M`4iwZrxzng`T(45;Uxwq)HhD4(Ja4ZMxRT@jzwIS8ulquNU&yFG z5@4bCR<$mDc5cslqWYKT)~5ebwo#9AJbQ1=K*Na5{$qROaoFICip6ht&~xpB8%MSx zKi=6ElDoxp=9NT+K4pIGv(C!(`*OA*U%tlMxO>pGi6 z*D3fv0Rll^QtDr(L*FG&wgLZFw@yXc)noOw3HfnC zPke*?Uo!p|H@6Ot=7-pf{sjfNU-~0HtS?ynQ|MoY9pFKMsp5aK{wb7sq4nuYt}R%F z^`mxfz4fQzHrYL6K*~2)5ScTCQC~efhFk4@bWeBVk>IL6<~La`^?v>(LYHlqGXL?5 zCgiJIau(Kga{iX}p723mQtID59V3lSNC-bK#4Xs&@A8P;B@Z-S7DoP%!FgxKKUV)Hz5f2E{prN|ced-VnAT!8 zV@t>Ty=Nl6@D+X0!I3}K=5}yCAYk$Y=Y{nv_RH1P*!-~mPoRI3t;fH}UrPNu9be97 ze~$}`xp5;=kcB6 z^VVtfFEEGqN17d5_t^QZfNdNP_f0%N?} zZD}{=Gf~{8i%t~Zdl*Y=SXNfefv;p)-!3qDe11&t5{ubglYJ}4<92HcWAUf?1`XSi zn7^{hR)Y0f7p>~r0X1_VEb~h&xRU*!$sRNRewS;(uMcfn+}${EC{j^{K*ao^vTeFN zZVStbDo(|Iv9#G)6L4~T2-l7IGY884r}^P<{?EK^f6T`7^L+D;Ju9&+&+Z zlt=UP$jA@pE8Gb_)EW76_T*{2Tr`C|u=LX(b~lK%yQK@gMv%#@oTaERIjt{fC><=n%&zEN)}| zr2&I~Mn2>IC-OILKBK=<^xtItP4am=dY?rgc~~%Rrholo8?uY*x+Cn`(f+|A^Zg43xvVZlQF1;EdO{!TA*Q{1xmqW> zy8U`~I@&A01jF6azsAt09~HU|=W!D0-N&z=cV$r@k5`n(T{)ll+xND33|m!~V@i&9 zlq@x?nRT%F`3%%;g{b(=patRw>&HExMrouH&D<9Byt1qZ-Hx#EW;HDs%;+<{tr)Of xDrIfcXB-aJ_wjwAEcZ@fJ!*6l+>+{YEBxw|Xx5J{?G;b04srH0e%)wXe*r{gcQ60| diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 04716b5d9..8050a5a95 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -120,7 +120,7 @@ if (!isDedicated) then { player_sharpen = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sharpen.sqf"; //ui - player_muteSound = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_muteSound.sqf"; + player_toggleSoundMute = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleSoundMute.sqf"; player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf"; player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf"; ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf";