From 6fb74791096cefe70f9a37edcd8b229703fcf916 Mon Sep 17 00:00:00 2001 From: Imarok Date: Fri, 15 Feb 2019 18:55:38 +0000 Subject: [PATCH] Acoustic notification when people join a hosted game Patch by Polakrity. Sound by Samulis. Reviewed by: Imarok Fixes: #4101 Differential Revision: https://code.wildfiregames.com/D932 This was SVN commit r22088. --- binaries/data/config/default.cfg | 1 + .../data/mods/public/audio/interface/ui/gamesetup_join.ogg | 3 +++ binaries/data/mods/public/gui/common/functions_utility.js | 3 ++- binaries/data/mods/public/gui/gamesetup/gamesetup.js | 3 +++ binaries/data/mods/public/gui/options/options.json | 6 ++++++ 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 binaries/data/mods/public/audio/interface/ui/gamesetup_join.ogg diff --git a/binaries/data/config/default.cfg b/binaries/data/config/default.cfg index 704da329d6..4fbf5e7b9b 100644 --- a/binaries/data/config/default.cfg +++ b/binaries/data/config/default.cfg @@ -473,6 +473,7 @@ uigain = 0.7 [sound.notify] nick = true ; Play a sound when someone mentions your name in the lobby or game +gamesetup.join = false ; Play a sound when a new client joins the game setup [tinygettext] debug = false ; Print error messages each time a translation for an English string is not found. diff --git a/binaries/data/mods/public/audio/interface/ui/gamesetup_join.ogg b/binaries/data/mods/public/audio/interface/ui/gamesetup_join.ogg new file mode 100644 index 0000000000..30dacda7ec --- /dev/null +++ b/binaries/data/mods/public/audio/interface/ui/gamesetup_join.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cb0e63079dbe87016894365215581fc21e4c24b1577c247c1a794a07453f383 +size 49582 diff --git a/binaries/data/mods/public/gui/common/functions_utility.js b/binaries/data/mods/public/gui/common/functions_utility.js index d86666cb85..fbf58297f4 100644 --- a/binaries/data/mods/public/gui/common/functions_utility.js +++ b/binaries/data/mods/public/gui/common/functions_utility.js @@ -4,7 +4,8 @@ * And store the timestamp of last interaction for each notification. */ var g_SoundNotifications = { - "nick": { "soundfile": "audio/interface/ui/chat_alert.ogg", "threshold": 3000 } + "nick": { "soundfile": "audio/interface/ui/chat_alert.ogg", "threshold": 3000 }, + "gamesetup.join": { "soundfile": "audio/interface/ui/gamesetup_join.ogg", "threshold": 0 } }; /** diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js index 839764a5b6..d0b0814b29 100644 --- a/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1617,6 +1617,9 @@ function onClientJoin(newGUID, newAssignments) "username": playername }); + if (newGUID != Engine.GetPlayerGUID() && Object.keys(g_PlayerAssignments).length) + soundNotification("gamesetup.join"); + let isRejoiningPlayer = newAssignments[newGUID].player != -1; // Assign the client (or only buddies if prefered) to an unused playerslot and rejoining players to their old slot diff --git a/binaries/data/mods/public/gui/options/options.json b/binaries/data/mods/public/gui/options/options.json index 90d68e1e18..a80cc73e57 100644 --- a/binaries/data/mods/public/gui/options/options.json +++ b/binaries/data/mods/public/gui/options/options.json @@ -308,6 +308,12 @@ "label": "Nick Notification", "tooltip": "Receive audio notification when someone types your nick.", "config": "sound.notify.nick" + }, + { + "type": "boolean", + "label": "Game Setup - New Player Notification", + "tooltip": "Receive audio notification when a new client joins the game setup.", + "config": "sound.notify.gamesetup.join" } ] },