[Scummvm-cvs-logs] SF.net SVN: scummvm: [22623] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Thu May 25 01:08:01 CEST 2006


Revision: 22623
Author:   lordhoto
Date:     2006-05-25 01:07:20 -0700 (Thu, 25 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22623&view=rev

Log Message:
-----------
Some more _quitFlag checks, makes quitting while end sequence faster.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/screen.cpp
    scummvm/trunk/engines/kyra/sequences_v1.cpp
Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp	2006-05-25 08:02:17 UTC (rev 22622)
+++ scummvm/trunk/engines/kyra/screen.cpp	2006-05-25 08:07:20 UTC (rev 22623)
@@ -218,7 +218,7 @@
 		delayInc += delay;
 	}
 	int delayAcc = 0;
-	while (1) {
+	while (!_vm->quit()) {
 		delayAcc += delayInc;
 		bool needRefresh = false;
 		for (int i = 0; i < 768; ++i) {
@@ -250,6 +250,11 @@
 		_vm->delay((delayAcc >> 8) * 1000 / 60);
 		delayAcc &= 0xFF;
 	}
+
+	if (_vm->quit()) {
+		setScreenPalette(palData);
+		_system->updateScreen();
+	}
 }
 
 void Screen::setPaletteIndex(uint8 index, uint8 red, uint8 green, uint8 blue) {
@@ -448,7 +453,7 @@
 
 	int32 start, now;
 	int wait;
-	for (y = 0; y < h; ++y) {
+	for (y = 0; y < h && !_vm->quit(); ++y) {
 		start = (int32)_system->getMillis();
 		int y_cur = y;
 		for (x = 0; x < w; ++x) {
@@ -470,6 +475,10 @@
 			_vm->delay(wait);
 		}
 	}
+	if (_vm->quit()) {
+		copyRegion(sx, sy, sx, sy, w, h, srcPage, dstPage);
+		_system->updateScreen();
+	}
 }
 
 void Screen::fillRect(int x1, int y1, int x2, int y2, uint8 color, int pageNum) {

Modified: scummvm/trunk/engines/kyra/sequences_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_v1.cpp	2006-05-25 08:02:17 UTC (rev 22622)
+++ scummvm/trunk/engines/kyra/sequences_v1.cpp	2006-05-25 08:07:20 UTC (rev 22623)
@@ -993,6 +993,8 @@
 
 void KyraEngine::seq_playEnding() {
 	debugC(9, kDebugLevelMain, "KyraEngine::seq_playEnding()");
+	if (_quitFlag)
+		return;
 	_screen->hideMouse();
 	_screen->_curPage = 0;
 	_screen->fadeToBlack();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list