[Scummvm-cvs-logs] SF.net SVN: scummvm:[49911] scummvm/trunk/engines/sci

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Jun 17 01:28:20 CEST 2010


Revision: 49911
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49911&view=rev
Author:   thebluegr
Date:     2010-06-16 23:28:20 +0000 (Wed, 16 Jun 2010)

Log Message:
-----------
Added back the functionality to skip videos

Modified Paths:
--------------
    scummvm/trunk/engines/sci/console.cpp
    scummvm/trunk/engines/sci/engine/kgraphics.cpp

Modified: scummvm/trunk/engines/sci/console.cpp
===================================================================
--- scummvm/trunk/engines/sci/console.cpp	2010-06-16 21:59:21 UTC (rev 49910)
+++ scummvm/trunk/engines/sci/console.cpp	2010-06-16 23:28:20 UTC (rev 49911)
@@ -244,8 +244,9 @@
 		if (videoDecoder && videoDecoder->loadFile(_videoFile)) {
 			uint16 x = (g_system->getWidth() - videoDecoder->getWidth()) / 2;
 			uint16 y = (g_system->getHeight() - videoDecoder->getHeight()) / 2;
+			bool skipVideo = false;
 
-			while (!g_engine->shouldQuit() && !videoDecoder->endOfVideo()) {			
+			while (!g_engine->shouldQuit() && !videoDecoder->endOfVideo() && !skipVideo) {
 				if (videoDecoder->needsUpdate()) {
 					Graphics::Surface *frame = videoDecoder->decodeNextFrame();
 					if (frame) {
@@ -259,8 +260,10 @@
 				}
 
 				Common::Event event;
-				while (g_system->getEventManager()->pollEvent(event))
-					;
+				while (g_system->getEventManager()->pollEvent(event)) {
+					if ((event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE) || event.type == Common::EVENT_LBUTTONUP)
+						skipVideo = true;
+				}
 
 				g_system->delayMillis(10);
 			}

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-06-16 21:59:21 UTC (rev 49910)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-06-16 23:28:20 UTC (rev 49911)
@@ -1160,8 +1160,9 @@
 	if (videoDecoder) {
 		uint16 x = (screenWidth - videoDecoder->getWidth()) / 2;
 		uint16 y = (screenHeight - videoDecoder->getHeight()) / 2;
+		bool skipVideo = false;
 
-		while (!g_engine->shouldQuit() && !videoDecoder->endOfVideo()) {
+		while (!g_engine->shouldQuit() && !videoDecoder->endOfVideo() && !skipVideo) {
 			if (videoDecoder->needsUpdate()) {
 				Graphics::Surface *frame = videoDecoder->decodeNextFrame();
 				if (frame) {
@@ -1175,8 +1176,10 @@
 			}
 
 			Common::Event event;
-			while (g_system->getEventManager()->pollEvent(event))
-				;
+			while (g_system->getEventManager()->pollEvent(event)) {
+				if ((event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE) || event.type == Common::EVENT_LBUTTONUP)
+					skipVideo = true;
+			}
 
 			g_system->delayMillis(10);
 		}


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