Sound is now paused when displaying menu dialogs

svn-id: r29272
This commit is contained in:
Paul Gilbert 2007-10-28 03:34:10 +00:00
parent 5f1ef91820
commit 641ff5e9b7
2 changed files with 12 additions and 2 deletions

View file

@ -839,6 +839,7 @@ void Game::doShowCredits() {
Mouse &mouse = Mouse::getReference();
Screen &screen = Screen::getReference();
Sound.pause();
mouse.cursorOff();
Palette p(CREDITS_RESOURCE_ID - 1);
Surface *s = Surface::getScreen(CREDITS_RESOURCE_ID);
@ -851,16 +852,21 @@ void Game::doShowCredits() {
screen.resetPalette();
screen.update();
mouse.cursorOn();
Sound.resume();
}
void Game::doQuit() {
Sound.pause();
if (getYN())
Events::getReference().quitFlag = true;
Sound.resume();
}
void Game::doRestart() {
Sound.pause();
if (getYN())
setState(GS_RESTART);
Sound.resume();
}
void Game::doTextSpeed() {
@ -878,6 +884,7 @@ void Game::doSound() {
_soundFlag = !_soundFlag;
menu.getMenu(2).entries()[2] = sl.getString(_soundFlag ? S_SOUND_ON : S_SOUND_OFF);
if (!_soundFlag)
// Stop all currently playing sounds
Sound.killSounds();
}

View file

@ -719,6 +719,7 @@ bool SaveRestoreDialog::show(bool saveDialog) {
s->copyTo(&screen.screen(), SAVE_DIALOG_X, SAVE_DIALOG_Y);
screen.update();
mouse.pushCursorNum(CURSOR_ARROW);
Sound.pause();
bool abortFlag = false;
bool doneFlag = false;
@ -801,6 +802,8 @@ bool SaveRestoreDialog::show(bool saveDialog) {
doneFlag = true;
}
Sound.resume();
if (doneFlag) {
// Handle save or restore
if (saveDialog)