Skip to content

Commit 95cdfd4

Browse files
committed
internetradio: addendum to buffer added in 254700c
now localPlayer can change speaker volume without any delay (locally, the effect is instant on client, but it still needs to be processed by server for others), also more to stylistic/consistency improvements
1 parent 5361b70 commit 95cdfd4

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

[gameplay]/internetradio/logic/handle_radio/CHandleRadio.lua

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ end
5757
local function syncSpeakerVolume()
5858
local speakerVolume = getLocalSpeakerVolume()
5959

60-
triggerServerEvent("onServerEditVolume", localPlayer, speakerVolume)
60+
triggerServerEvent("onServerSetSpeakerVolume", localPlayer, speakerVolume)
6161
speakerVolumeSyncTimer = false
6262

6363
return true
@@ -72,6 +72,10 @@ local function requestSpeakerVolumeSync()
7272
speakerVolumeSyncTimer = setTimer(syncSpeakerVolume, speakerTimerInterval, 1)
7373
end
7474

75+
local speakerVolume = getLocalSpeakerVolume()
76+
77+
setPlayerSpeakerVolume(localPlayer, speakerVolume) -- set volume locally so localPlayer could adjust it without any delay (this will be sanity corrected by server later on)
78+
7579
return true
7680
end
7781

@@ -160,7 +164,7 @@ end
160164

161165
function onClientGUIClickCreateSpeaker()
162166
local streamURL, errorCode = getStreamURLFromEdit()
163-
local volume = guiScrollBarGetScrollPosition(RADIO_GUI["Volume"]) / 100
167+
local speakerVolume = getLocalSpeakerVolume()
164168

165169
if (not streamURL) then
166170
local textToDisplay = errorCode or "SPEAKER: Invalid URL, please check your input!"
@@ -176,7 +180,7 @@ function onClientGUIClickCreateSpeaker()
176180
return false
177181
end
178182

179-
triggerServerEvent("onServerCreateSpeaker", localPlayer, streamURL, volume)
183+
triggerServerEvent("onServerCreateSpeaker", localPlayer, streamURL, speakerVolume)
180184
end
181185

182186
function onClientGUIScrollVolume()
@@ -244,15 +248,15 @@ function setPlayerSpeakerData(playerElement, speakerData)
244248
return true
245249
end
246250

247-
function setPlayerSpeakerVolume(playerElement, volume)
251+
function setPlayerSpeakerVolume(playerElement, speakerVolume)
248252
local validElement = isElement(playerElement)
249253
local speakerSound = speakerSounds[playerElement]
250254

251255
if (not validElement or not speakerSound) then
252256
return false
253257
end
254258

255-
setSoundVolume(speakerSound, volume)
259+
setSoundVolume(speakerSound, speakerVolume)
256260

257261
return true
258262
end
@@ -368,11 +372,11 @@ end
368372
addEvent("onClientCreateSpeaker", true)
369373
addEventHandler("onClientCreateSpeaker", root, onClientCreateSpeaker)
370374

371-
function onClientUpdateVolume(speakerVolume)
375+
function onClientSetSpeakerVolume(speakerVolume)
372376
setPlayerSpeakerVolume(source, speakerVolume)
373377
end
374-
addEvent("onClientUpdateVolume", true)
375-
addEventHandler("onClientUpdateVolume", root, onClientUpdateVolume)
378+
addEvent("onClientSetSpeakerVolume", true)
379+
addEventHandler("onClientSetSpeakerVolume", root, onClientSetSpeakerVolume)
376380

377381
function onClientToggleSpeaker(pauseState)
378382
setPlayerSpeakerPaused(source, pauseState)

[gameplay]/internetradio/logic/handle_radio/SHandleRadio.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function updateSpeakerVolume(playerElement, speakerVolume)
2727
end
2828

2929
playerSpeakerData.speakerVolume = speakerVolume
30-
triggerClientEvent(root, "onClientUpdateVolume", playerElement, speakerVolume)
30+
triggerClientEvent(root, "onClientSetSpeakerVolume", playerElement, speakerVolume)
3131

3232
return true
3333
end
@@ -144,7 +144,7 @@ end
144144
addEvent("onServerCreateSpeaker", true)
145145
addEventHandler("onServerCreateSpeaker", root, onServerCreateSpeaker)
146146

147-
function onServerEditVolume(speakerVolume)
147+
function onServerSetSpeakerVolume(speakerVolume)
148148
if (not client or client ~= source) then
149149
return false
150150
end
@@ -169,8 +169,8 @@ function onServerEditVolume(speakerVolume)
169169

170170
updateSpeakerVolume(client, speakerVolume)
171171
end
172-
addEvent("onServerEditVolume", true)
173-
addEventHandler("onServerEditVolume", root, onServerEditVolume)
172+
addEvent("onServerSetSpeakerVolume", true)
173+
addEventHandler("onServerSetSpeakerVolume", root, onServerSetSpeakerVolume)
174174

175175
function onServerToggleSpeaker()
176176
if (not client) then

0 commit comments

Comments
 (0)