[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