Explorar o código

always sound at chat message

Laserlicht %!s(int64=2) %!d(string=hai) anos
pai
achega
bcf32984ce
Modificáronse 1 ficheiros con 7 adicións e 1 borrados
  1. 7 1
      client/adventureMap/CInGameConsole.cpp

+ 7 - 1
client/adventureMap/CInGameConsole.cpp

@@ -105,7 +105,13 @@ void CInGameConsole::print(const std::string & txt)
 	}
 
 	GH.windows().totalRedraw(); // FIXME: ingame console has no parent widget set
-	CCS->soundh->playSound(AudioPath::builtin("CHAT"));
+
+	int volume = CCS->soundh->getVolume();
+	if(volume == 0)
+		CCS->soundh->setVolume(settings["general"]["sound"].Integer());
+	int handle = CCS->soundh->playSound(AudioPath::builtin("CHAT"));
+	if(volume == 0)
+		CCS->soundh->setCallback(handle, [&]() { CCS->soundh->setVolume(0); });
 }
 
 bool CInGameConsole::captureThisKey(EShortcut key)