diff -ur ScummVM-cvs20020924/scummvm/scumm/scummvm.cpp ScummVM-cvs20020924+hack/scummvm/scumm/scummvm.cpp
old
|
new
|
|
1016 | 1016 | runScript(_vars[VAR_UNK_SCRIPT_2], 0, 0, 0); |
1017 | 1017 | } else if (_lastKeyHit == _vars[VAR_TALKSTOP_KEY]) { |
1018 | 1018 | _talkDelay = 0; |
1019 | | if (_sound->_sfxMode == 2) |
| 1019 | if (_sound->_sfxMode & 2) |
1020 | 1020 | stopTalk(); |
1021 | 1021 | return; |
1022 | 1022 | } else if (_lastKeyHit == '[') { // [, eg volume down |
diff -ur ScummVM-cvs20020924/scummvm/scumm/sound.cpp ScummVM-cvs20020924+hack/scummvm/scumm/sound.cpp
old
|
new
|
|
393 | 393 | _talk_sound_mode = 0; |
394 | 394 | } |
395 | 395 | |
396 | | if (_scumm->_vars[_scumm->VAR_TALK_ACTOR]) { //_sfxMode == 2) { |
| 396 | if (_scumm->_vars[_scumm->VAR_TALK_ACTOR]) { //_sfxMode & 2) { |
397 | 397 | act = _scumm->_vars[_scumm->VAR_TALK_ACTOR]; |
398 | 398 | if (_talkChannel < 0) |
399 | 399 | finished = false; |
… |
… |
|
422 | 422 | |
423 | 423 | if (finished && _scumm->_talkDelay == 0) { |
424 | 424 | _scumm->stopTalk(); |
425 | | _sfxMode = 0; |
| 425 | _sfxMode &= ~2; |
426 | 426 | _talkChannel = -1; |
427 | 427 | } |
428 | 428 | } |
429 | 429 | |
430 | | if (_sfxMode == 1) { |
| 430 | if (_sfxMode & 1) { |
431 | 431 | if (isSfxFinished()) { |
432 | | _sfxMode = 0; |
| 432 | _sfxMode &= ~1; |
433 | 433 | } |
434 | 434 | } |
435 | 435 | } |
… |
… |
|
490 | 490 | num--; |
491 | 491 | } |
492 | 492 | _mouthSyncTimes[i] = 0xFFFF; |
493 | | _sfxMode = mode; |
| 493 | _sfxMode |= mode; |
494 | 494 | _curSoundPos = 0; |
495 | 495 | _mouthSyncMode = true; |
496 | 496 | |
… |
… |
|
498 | 498 | } |
499 | 499 | |
500 | 500 | void Sound::stopTalkSound() { |
501 | | if (_sfxMode == 2) { |
| 501 | if (_sfxMode & 2) { |
502 | 502 | stopSfxSound(); |
503 | | _sfxMode = 0; |
| 503 | _sfxMode &= ~2; |
504 | 504 | } |
505 | 505 | } |
506 | 506 | |