[Scummvm-cvs-logs] SF.net SVN: scummvm:[35195] scummvm/trunk/engines/groovie

spookypeanut at users.sourceforge.net spookypeanut at users.sourceforge.net
Sun Nov 30 22:17:59 CET 2008


Revision: 35195
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35195&view=rev
Author:   spookypeanut
Date:     2008-11-30 21:17:58 +0000 (Sun, 30 Nov 2008)

Log Message:
-----------
T7G: Reset origin at end of video: should fix seg fault after losing the microscope puzzle. Plus cleanup bitflag debugging.

Modified Paths:
--------------
    scummvm/trunk/engines/groovie/script.cpp
    scummvm/trunk/engines/groovie/vdx.cpp

Modified: scummvm/trunk/engines/groovie/script.cpp
===================================================================
--- scummvm/trunk/engines/groovie/script.cpp	2008-11-30 21:16:04 UTC (rev 35194)
+++ scummvm/trunk/engines/groovie/script.cpp	2008-11-30 21:17:58 UTC (rev 35195)
@@ -456,10 +456,13 @@
 
 		// Debug bitflags
 		debugScript(1, false, "Play video 0x%04X (bitflags:", fileref);
-		for (int i = 10; i >= 0; i--) {
+		for (int i = 15; i >= 0; i--) {
 			debugScript(1, false, "%d", _bitflags & (1 << i)? 1 : 0);
+			if (i % 4 == 0) {
+				debugScript(1, false, " ");
+			}
 		}
-		debugScript(1, true, ")");
+		debugScript(1, true, " <- 0)");
 
 		// Close the previous video file
 		if (_videoFile) {

Modified: scummvm/trunk/engines/groovie/vdx.cpp
===================================================================
--- scummvm/trunk/engines/groovie/vdx.cpp	2008-11-30 21:16:04 UTC (rev 35194)
+++ scummvm/trunk/engines/groovie/vdx.cpp	2008-11-30 21:17:58 UTC (rev 35195)
@@ -53,13 +53,13 @@
 	if ((gDebugLevel == 11) || (Common::getEnabledSpecialDebugLevels() & engine_level)) {
 		int8 i;
 		debugN(1, "Groovie::VDX: New VDX: bitflags are ");
-		for (i = 11; i >= 0; i--) {
+		for (i = 15; i >= 0; i--) {
 			debugN(1, "%d", _flags & (1 << i)? 1 : 0);
 			if (i % 4 == 0) {
 				debugN(1, " ");
 			}
 		}
-		debug(1, " ");
+		debug(1, " <- 0 ");
 	}
 	// Flags:
 	// - 1 Puzzle piece? Skip palette, don't redraw full screen, draw still to b/ack buffer
@@ -176,7 +176,12 @@
 
 	// Report the end of the video if we reached the end of the file or if we
 	// just wanted to play one frame.
-	return _file->eos() || _flagFirstFrame;
+	if (_file->eos() || _flagFirstFrame) {
+		_origX = _origY = 0;
+		return 1;
+	} else {
+		return 0;
+	}
 }
 
 static const uint16 vdxBlockMapLookup[] = {


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