diff options
| -rw-r--r-- | engines/kyra/lol.cpp | 12 | ||||
| -rw-r--r-- | engines/kyra/script_lol.cpp | 2 | 
2 files changed, 10 insertions, 4 deletions
| diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index efa17305e7..18d24569f6 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -1548,15 +1548,21 @@ void LoLEngine::snd_playSoundEffect(int track, int volume) {  	if (volIndex > 0)  		volume = (volIndex * volume) >> 8; -	else +	else if (volIndex < 0)  		volume = -volIndex;  	// volume TODO  	volume = 254 - volume;  	int16 vocIndex = (int16)READ_LE_UINT16(&_ingameSoundIndex[track * 2]); -	if (vocIndex != -1 -) { + +	bool hasVocFile = false; +	if (vocIndex != -1) { +		if (scumm_stricmp(_ingameSoundList[vocIndex], "EMPTY")) +			hasVocFile = true; +	} + +	if (hasVocFile) {  		_sound->voicePlay(_ingameSoundList[vocIndex], volume & 0xff, true);  	} else if (_flags.platform == Common::kPlatformPC) {  		if (_sound->getSfxType() == Sound::kMidiMT32) diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp index 582e99d4b0..94ccef3909 100644 --- a/engines/kyra/script_lol.cpp +++ b/engines/kyra/script_lol.cpp @@ -1023,7 +1023,7 @@ int LoLEngine::olol_loadLangFile(EMCState *script) {  int LoLEngine::olol_playSoundEffect(EMCState *script) {  	debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_playSoundEffect(%p) (%d)", (const void *)script, stackPos(0)); -	snd_playSoundEffect(stackPos(0), 255); +	snd_playSoundEffect(stackPos(0), -1);  	return 1;  } | 
