aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/window.cpp')
-rw-r--r--engines/simon/window.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/engines/simon/window.cpp b/engines/simon/window.cpp
index ce4f989a6e..23443eb7f0 100644
--- a/engines/simon/window.cpp
+++ b/engines/simon/window.cpp
@@ -15,8 +15,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * $URL: https://svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/engines/simon/string.cpp $
- * $Id: string.cpp 22062 2006-04-21 00:18:23Z kirben $
+ * $URL$
+ * $Id$
*
*/
@@ -157,6 +157,25 @@ void SimonEngine::restoreWindow(WindowBlock *window) {
_lockWord &= ~0x8000;
}
+void SimonEngine::restoreBlock(uint h, uint w, uint y, uint x) {
+ byte *dst, *src;
+ uint i;
+
+ dst = getFrontBuf();
+ src = _backGroundBuf;
+
+ dst += y * _dxSurfacePitch;
+ src += y * _dxSurfacePitch;
+
+ while (y < h) {
+ for (i = x; i < w; i++)
+ dst[i] = src[i];
+ y++;
+ dst += _dxSurfacePitch;
+ src += _dxSurfacePitch;
+ }
+}
+
void SimonEngine::windowPutChar(uint a) {
if (_textWindow != _windowArray[0])
windowPutChar(_textWindow, a);