diff options
Diffstat (limited to 'engines/simon/window.cpp')
-rw-r--r-- | engines/simon/window.cpp | 23 |
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); |