[Scummvm-cvs-logs] scummvm master -> 9a719851712845acaa6096bcb1c9ca2df2d46444
lordhoto
lordhoto at gmail.com
Sun Nov 13 21:07:49 CET 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7600751525 DRASCULA: Allow faster quit when in the mid of a conversation.
9a71985171 DRASCULA: Improve confirm quit screen.
Commit: 7600751525441a1f68ebe89ec5d3756b55a17c3f
https://github.com/scummvm/scummvm/commit/7600751525441a1f68ebe89ec5d3756b55a17c3f
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-11-13T11:57:41-08:00
Commit Message:
DRASCULA: Allow faster quit when in the mid of a conversation.
This allows quitting ScummVM in only a minimal time when a converstion is
running instead of waiting for it to finish. It is still not instant but much
better.
Changed paths:
engines/drascula/converse.cpp
engines/drascula/drascula.cpp
engines/drascula/talk.cpp
diff --git a/engines/drascula/converse.cpp b/engines/drascula/converse.cpp
index 6f028e6..7abbb32 100644
--- a/engines/drascula/converse.cpp
+++ b/engines/drascula/converse.cpp
@@ -197,7 +197,7 @@ void DrasculaEngine::converse(int index) {
// from 1(top) to 31
color_abc(kColorLightGreen);
- while (breakOut == 0) {
+ while (breakOut == 0 && !shouldQuit()) {
updateRoom();
if (musicStatus() == 0 && roomMusic != 0) {
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 5f4e5c5..1b3c403 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -789,7 +789,7 @@ void DrasculaEngine::delay(int ms) {
_system->delayMillis(10);
updateEvents();
_system->updateScreen();
- } while (_system->getMillis() < end);
+ } while (_system->getMillis() < end && !shouldQuit());
}
void DrasculaEngine::pause(int duration) {
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index 6d1509f..c97191f 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -34,6 +34,11 @@ void DrasculaEngine::talkInit(const char *filename) {
}
bool DrasculaEngine::isTalkFinished() {
+ if (shouldQuit()) {
+ stopSound();
+ return true;
+ }
+
if (getScan() != 0)
stopSound();
if (soundIsActive())
Commit: 9a719851712845acaa6096bcb1c9ca2df2d46444
https://github.com/scummvm/scummvm/commit/9a719851712845acaa6096bcb1c9ca2df2d46444
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-11-13T12:05:01-08:00
Commit Message:
DRASCULA: Improve confirm quit screen.
Now the confirm quit screen still updates the room and allows mouse movement.
For me that removes the feeling that ScummVM locked up when I pressed escape.
Changed paths:
engines/drascula/interface.cpp
diff --git a/engines/drascula/interface.cpp b/engines/drascula/interface.cpp
index e3a9708..5e4f7a1 100644
--- a/engines/drascula/interface.cpp
+++ b/engines/drascula/interface.cpp
@@ -100,9 +100,18 @@ bool DrasculaEngine::confirmExit() {
key = getScan();
if (key != 0)
break;
+
+ // This gives a better feedback to the user when he is asked to
+ // confirm whether he wants to quit. It now still updates the room and
+ // shows mouse cursor movement. Hopefully it will work in all
+ // locations of the game.
+ updateRoom();
+ color_abc(kColorRed);
+ centerText(_textsys[1], 160, 87);
+ updateScreen();
}
- if (key == Common::KEYCODE_ESCAPE) {
+ if (key == Common::KEYCODE_ESCAPE || shouldQuit()) {
stopMusic();
return false;
}
More information about the Scummvm-git-logs
mailing list