[Scummvm-cvs-logs] SF.net SVN: scummvm: [29070] scummvm/trunk/engines/lure

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Mon Sep 24 00:14:45 CEST 2007


Revision: 29070
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29070&view=rev
Author:   dreammaster
Date:     2007-09-23 15:14:45 -0700 (Sun, 23 Sep 2007)

Log Message:
-----------
Split up the interruptableDelay method into two methods, making the version in events.cpp more generic

Modified Paths:
--------------
    scummvm/trunk/engines/lure/events.cpp
    scummvm/trunk/engines/lure/intro.cpp
    scummvm/trunk/engines/lure/intro.h

Modified: scummvm/trunk/engines/lure/events.cpp
===================================================================
--- scummvm/trunk/engines/lure/events.cpp	2007-09-23 22:13:41 UTC (rev 29069)
+++ scummvm/trunk/engines/lure/events.cpp	2007-09-23 22:14:45 UTC (rev 29070)
@@ -205,10 +205,9 @@
 		if (events.quitFlag) return true;
 
 		if (events.pollEvent()) {
-			if (events.type() == Common::EVENT_KEYDOWN)
-				return events.event().kbd.keycode == 27;
-			else if (events.type() == Common::EVENT_LBUTTONDOWN)
-				return false;
+			if ((events.type() == Common::EVENT_KEYDOWN) ||
+				(events.type() == Common::EVENT_LBUTTONDOWN))
+				return true;
 		}
 
 		uint32 delayAmount = delayCtr - g_system->getMillis();

Modified: scummvm/trunk/engines/lure/intro.cpp
===================================================================
--- scummvm/trunk/engines/lure/intro.cpp	2007-09-23 22:13:41 UTC (rev 29069)
+++ scummvm/trunk/engines/lure/intro.cpp	2007-09-23 22:14:45 UTC (rev 29070)
@@ -59,18 +59,34 @@
 	Palette p(paletteId);
 	_screen.paletteFadeIn(&p);
 	
-	bool result = events.interruptableDelay(delaySize);
+	bool result = interruptableDelay(delaySize);
 	if (events.quitFlag) return true;
 
 	_screen.paletteFadeOut();
 	return result;
 }
 
+// interruptableDelay
+// Delays for a given number of milliseconds. If it returns true, it indicates that
+// the Escape has been pressed to abort whatever sequence is being displayed
+
+bool Introduction::interruptableDelay(uint32 milliseconds) {
+	Events &events = Events::getReference();
+
+	if (events.interruptableDelay(milliseconds)) {
+		if (events.type() == Common::EVENT_KEYDOWN) 
+			return events.event().kbd.keycode == 27;
+		else if (events.type() == Common::EVENT_LBUTTONDOWN)
+			return false;
+	}
+
+	return false;
+}
+
 // show
 // Main method for the introduction sequence
 
 bool Introduction::show() {
-	Events &events = Events::getReference();
 	_screen.setPaletteEmpty();
 
 	// Initial game company and then game screen
@@ -104,13 +120,13 @@
 		anim = new AnimationSequence(_screen, _system, curr_anim->resourceId, 
 			coll.getPalette(curr_anim->paletteIndex), fadeIn);
 		if (curr_anim->initialPause != 0)  
-			if (events.interruptableDelay(curr_anim->initialPause * 1000 / 50)) return true;
+			if (interruptableDelay(curr_anim->initialPause * 1000 / 50)) return true;
 
 		result = false;
 		switch (anim->show()) {
 		case ABORT_NONE:
 			if (curr_anim->endingPause != 0) {
-				result = events.interruptableDelay(curr_anim->endingPause * 1000 / 50);
+				result = interruptableDelay(curr_anim->endingPause * 1000 / 50);
 			}
 			break;
 
@@ -134,9 +150,9 @@
 	result = false;
 	anim = new AnimationSequence(_screen, _system, 0x48, coll.getPalette(4), false);
 	do {
-		result = events.interruptableDelay(2000);
+		result = interruptableDelay(2000);
 		_screen.paletteFadeOut();
-		if (!result) result = events.interruptableDelay(500);
+		if (!result) result = interruptableDelay(500);
 		if (result) break;
 	} while (anim->step());
 	delete anim;

Modified: scummvm/trunk/engines/lure/intro.h
===================================================================
--- scummvm/trunk/engines/lure/intro.h	2007-09-23 22:13:41 UTC (rev 29069)
+++ scummvm/trunk/engines/lure/intro.h	2007-09-23 22:14:45 UTC (rev 29070)
@@ -36,6 +36,7 @@
 	OSystem &_system;
 
 	bool showScreen(uint16 screenId, uint16 paletteId, uint16 delaySize);
+	bool interruptableDelay(uint32 milliseconds);
 public:
 	Introduction(Screen &screen, OSystem &system): _screen(screen), _system(system) {}
 


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