[Scummvm-cvs-logs] SF.net SVN: scummvm:[33798] residual/trunk/engine
aquadran at users.sourceforge.net
aquadran at users.sourceforge.net
Tue Aug 12 16:55:17 CEST 2008
Revision: 33798
http://scummvm.svn.sourceforge.net/scummvm/?rev=33798&view=rev
Author: aquadran
Date: 2008-08-12 14:55:16 +0000 (Tue, 12 Aug 2008)
Log Message:
-----------
release last smush frame in gl driver
Modified Paths:
--------------
residual/trunk/engine/backend/platform/driver.h
residual/trunk/engine/backend/platform/sdl/driver_gl.cpp
residual/trunk/engine/backend/platform/sdl/driver_gl.h
residual/trunk/engine/backend/platform/sdl/driver_tinygl.cpp
residual/trunk/engine/backend/platform/sdl/driver_tinygl.h
residual/trunk/engine/engine.cpp
Modified: residual/trunk/engine/backend/platform/driver.h
===================================================================
--- residual/trunk/engine/backend/platform/driver.h 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/backend/platform/driver.h 2008-08-12 14:55:16 UTC (rev 33798)
@@ -128,6 +128,7 @@
virtual void prepareSmushFrame(int width, int height, byte *bitmap) = 0;
virtual void drawSmushFrame(int offsetX, int offsetY) = 0;
+ virtual void releaseSmushFrame() = 0;
virtual const char *getVideoDeviceName() = 0;
Modified: residual/trunk/engine/backend/platform/sdl/driver_gl.cpp
===================================================================
--- residual/trunk/engine/backend/platform/sdl/driver_gl.cpp 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/backend/platform/sdl/driver_gl.cpp 2008-08-12 14:55:16 UTC (rev 33798)
@@ -713,6 +713,14 @@
glEnable(GL_LIGHTING);
}
+void DriverGL::releaseSmushFrame() {
+ if (_smushNumTex > 0) {
+ glDeleteTextures(_smushNumTex, _smushTexIds);
+ delete[] _smushTexIds;
+ _smushNumTex = 0;
+ }
+}
+
void DriverGL::loadEmergFont() {
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
Modified: residual/trunk/engine/backend/platform/sdl/driver_gl.h
===================================================================
--- residual/trunk/engine/backend/platform/sdl/driver_gl.h 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/backend/platform/sdl/driver_gl.h 2008-08-12 14:55:16 UTC (rev 33798)
@@ -103,6 +103,7 @@
void prepareSmushFrame(int width, int height, byte *bitmap);
void drawSmushFrame(int offsetX, int offsetY);
+ void releaseSmushFrame();
protected:
Modified: residual/trunk/engine/backend/platform/sdl/driver_tinygl.cpp
===================================================================
--- residual/trunk/engine/backend/platform/sdl/driver_tinygl.cpp 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/backend/platform/sdl/driver_tinygl.cpp 2008-08-12 14:55:16 UTC (rev 33798)
@@ -579,6 +579,9 @@
}
}
+void DriverTinyGL::releaseSmushFrame() {
+}
+
void DriverTinyGL::loadEmergFont() {
}
Modified: residual/trunk/engine/backend/platform/sdl/driver_tinygl.h
===================================================================
--- residual/trunk/engine/backend/platform/sdl/driver_tinygl.h 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/backend/platform/sdl/driver_tinygl.h 2008-08-12 14:55:16 UTC (rev 33798)
@@ -103,6 +103,7 @@
void prepareSmushFrame(int width, int height, byte *bitmap);
void drawSmushFrame(int offsetX, int offsetY);
+ void releaseSmushFrame();
protected:
Modified: residual/trunk/engine/engine.cpp
===================================================================
--- residual/trunk/engine/engine.cpp 2008-08-12 14:52:44 UTC (rev 33797)
+++ residual/trunk/engine/engine.cpp 2008-08-12 14:55:16 UTC (rev 33798)
@@ -283,7 +283,8 @@
g_driver->drawEmergString(550, 25, _fps, Color(255, 255, 255));
} else
_doFlip = false;
- }
+ } else
+ g_driver->releaseSmushFrame();
}
drawPrimitives();
} else if (_mode == ENGINE_MODE_NORMAL) {
@@ -332,6 +333,8 @@
}
if (g_smush->getFrame() > 0)
g_driver->drawSmushFrame(g_smush->getX(), g_smush->getY());
+ else
+ g_driver->releaseSmushFrame();
}
// Underlay objects are just above the background
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