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

svn-id: r35195
This commit is contained in:
Henry Bush 2008-11-30 21:17:58 +00:00
parent ffaa47fb44
commit f10f151ff7
2 changed files with 13 additions and 5 deletions

View File

@ -456,10 +456,13 @@ bool Script::playvideofromref(uint16 fileref) {
// 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) {

View File

@ -53,13 +53,13 @@ uint16 VDXPlayer::loadInternal() {
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 @@ bool VDXPlayer::playFrameInternal() {
// 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[] = {