[Scummvm-cvs-logs] CVS: residual driver_gl.cpp,1.5,1.6 engine.cpp,1.16,1.17
James Brown
ender at users.sourceforge.net
Tue Feb 24 22:08:02 CET 2004
Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896
Modified Files:
driver_gl.cpp engine.cpp
Log Message:
Fix flickering, remove duplicated code, optimised for full screen animations
Index: driver_gl.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/driver_gl.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- driver_gl.cpp 24 Feb 2004 21:09:53 -0000 1.5
+++ driver_gl.cpp 25 Feb 2004 05:52:47 -0000 1.6
@@ -207,7 +207,7 @@
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+// glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// prepare view
glMatrixMode(GL_PROJECTION);
Index: engine.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/engine.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- engine.cpp 24 Feb 2004 21:09:53 -0000 1.16
+++ engine.cpp 25 Feb 2004 05:52:47 -0000 1.17
@@ -85,64 +85,45 @@
if (SCREENBLOCKS_GLOBAL == 1)
screenBlocksReset();
- // Draw the screen
- g_driver->clearScreen();
-
- Bitmap::prepareDraw();
- if (currScene_ != NULL)
- currScene_->drawBackground();
-
- glEnable(GL_DEPTH_TEST);
- if (currScene_ != NULL)
- currScene_->setupCamera();
-
- glMatrixMode(GL_MODELVIEW);
// Update actor costumes
for (actor_list_type::iterator i = actors_.begin(); i != actors_.end(); i++) {
Actor *a = *i;
assert(currScene_);
if (a->inSet(currScene_->name()) && a->visible())
a->update();
- }
-
- // Draw actors
- glEnable(GL_TEXTURE_2D);
- for (actor_list_type::iterator i = actors_.begin(); i != actors_.end(); i++) {
- Actor *a = *i;
- if (a->inSet(currScene_->name()) && a->visible())
- a->draw();
- }
- glDisable(GL_TEXTURE_2D);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- if (SCREENBLOCKS_GLOBAL == 1)
- screenBlocksBlitDirtyBlocks();
+ }
if (g_smush->isPlaying()) {
if (g_smush->isUpdateNeeded()) {
+ g_driver->clearScreen();
g_driver->drawSMUSHframe(g_smush->getX(), g_smush->getY(), g_smush->getWidth(), g_smush->getHeight(), g_smush->getDstPtr());
g_smush->clearUpdateNeeded();
}
} else {
+ glMatrixMode(GL_MODELVIEW);
+ g_driver->clearScreen();
+
+ if (SCREENBLOCKS_GLOBAL == 1)
+ screenBlocksBlitDirtyBlocks();
+
Bitmap::prepareDraw();
if (currScene_ != NULL)
currScene_->drawBackground();
- }
- glEnable(GL_DEPTH_TEST);
- if (currScene_ != NULL)
- currScene_->setupCamera();
+ glEnable(GL_DEPTH_TEST);
+ if (currScene_ != NULL)
+ currScene_->setupCamera();
- // Draw actors
- glEnable(GL_TEXTURE_2D);
- for (actor_list_type::iterator i = actors_.begin(); i != actors_.end(); i++) {
- Actor *a = *i;
- if (a->inSet(currScene_->name()) && a->visible())
- a->draw();
+ // Draw actors
+ glEnable(GL_TEXTURE_2D);
+ for (actor_list_type::iterator i = actors_.begin(); i != actors_.end(); i++) {
+ Actor *a = *i;
+ if (a->inSet(currScene_->name()) && a->visible())
+ a->draw();
+ }
+ glDisable(GL_TEXTURE_2D);
+ //screenBlocksDrawDebug();
}
- glDisable(GL_TEXTURE_2D);
-
- //screenBlocksDrawDebug();
// Draw text
for (text_list_type::iterator i = textObjects_.begin();
More information about the Scummvm-git-logs
mailing list