diff -r 404ddce27b23 -r c13ebed437cb hedgewars/uGame.pas --- a/hedgewars/uGame.pas Wed Feb 20 02:21:58 2013 +0100 +++ b/hedgewars/uGame.pas Tue Apr 02 21:00:57 2013 +0200 @@ -27,20 +27,24 @@ implementation //////////////////// uses uInputHandler, uTeams, uIO, uAI, uGears, uSound, + uLocale, uCaptions, uVisualGears, uTypes, uVariables, uCommands, uConsts {$IFDEF USE_TOUCH_INTERFACE}, uTouch{$ENDIF}; procedure DoGameTick(Lag: LongInt); -var i: LongInt; +var i,j : LongInt; + s: shortstring; begin if isPaused then exit; + if (not CurrentTeam^.ExtDriven) then begin NetGetNextCmd; // its for the case of receiving "/say" message isInLag:= false; - SendKeepAliveMessage(Lag) + FlushMessages(Lag) end; + if GameType <> gmtRecord then begin if Lag > 100 then @@ -61,6 +65,23 @@ else if cOnlyStats then Lag:= High(LongInt) end; +inc(SoundTimerTicks, Lag); +if SoundTimerTicks >= 50 then + begin + SoundTimerTicks:= 0; + if cVolumeDelta <> 0 then + begin + j:= Volume; + i:= ChangeVolume(cVolumeDelta); + if isAudioMuted and (j<>i) then + AddCaption(trmsg[sidMute], cWhiteColor, capgrpVolume) + else if not isAudioMuted then + begin + str(i, s); + AddCaption(Format(trmsg[sidVolume], s), cWhiteColor, capgrpVolume) + end + end; + end; PlayNextVoice; i:= 1; while (GameState <> gsExit) and (i <= Lag) do