[Scummvm-cvs-logs] CVS: residual smush.h,1.17,1.18 engine.cpp,1.25,1.26
Daniel Schepler
dschepler at users.sourceforge.net
Thu Mar 25 17:00:15 CET 2004
Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18797
Modified Files:
smush.h engine.cpp
Log Message:
Actually fix the SMUSH crashes: don't start displaying frames until
they're actually available.
Index: smush.h
===================================================================
RCS file: /cvsroot/scummvm/residual/smush.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- smush.h 25 Mar 2004 21:14:29 -0000 1.17
+++ smush.h 26 Mar 2004 00:48:07 -0000 1.18
@@ -85,6 +85,7 @@
int getY() { return _y; }
int getWidth() {return _width; }
int getHeight() { return _height; }
+ int getFrame() { return _frame; }
void clearUpdateNeeded() { _updateNeeded = false; }
int32 getMovieTime() { return _movieTime; }
Index: engine.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/engine.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- engine.cpp 24 Mar 2004 12:20:46 -0000 1.25
+++ engine.cpp 26 Mar 2004 00:48:07 -0000 1.26
@@ -92,7 +92,8 @@
g_driver->prepareSmushFrame(g_smush->getWidth(), g_smush->getHeight(), g_smush->getDstPtr());
g_smush->clearUpdateNeeded();
}
- g_driver->drawSmushFrame(g_smush->getX(), g_smush->getY());
+ if (g_smush->getFrame() > 0)
+ g_driver->drawSmushFrame(g_smush->getX(), g_smush->getY());
}
g_driver->flipBuffer();
} else if (_mode == ENGINE_MODE_NORMAL) {
@@ -124,7 +125,8 @@
g_driver->prepareSmushFrame(g_smush->getWidth(), g_smush->getHeight(), g_smush->getDstPtr());
g_smush->clearUpdateNeeded();
}
- g_driver->drawSmushFrame(g_smush->getX(), g_smush->getY());
+ if (g_smush->getFrame() > 0)
+ g_driver->drawSmushFrame(g_smush->getX(), g_smush->getY());
}
glMatrixMode(GL_MODELVIEW);
More information about the Scummvm-git-logs
mailing list