diff options
Diffstat (limited to 'engines/simon/draw.cpp')
-rw-r--r-- | engines/simon/draw.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/simon/draw.cpp b/engines/simon/draw.cpp index da918a2695..b34b09b18f 100644 --- a/engines/simon/draw.cpp +++ b/engines/simon/draw.cpp @@ -344,6 +344,9 @@ void SimonEngine::scrollScreen() { _scrollY += _scrollFlag; vcWriteVar(250, _scrollY); + + memcpy(_backBuf, _frontBuf, _screenWidth * _screenHeight); + memcpy(_backGroundBuf, _backBuf, _screenHeight * _scrollWidth); } else { if (_scrollFlag < 0) { memmove(dst + 8, dst, _screenWidth * _scrollHeight - 8); @@ -367,10 +370,10 @@ void SimonEngine::scrollScreen() { _scrollX += _scrollFlag; vcWriteVar(251, _scrollX); - } - memcpy(_backBuf, _frontBuf, _screenWidth * _screenHeight); - memcpy(_backGroundBuf, _backBuf, _scrollHeight * _screenWidth); + memcpy(_backBuf, _frontBuf, _screenWidth * _screenHeight); + memcpy(_backGroundBuf, _backBuf, _scrollHeight * _screenWidth); + } _scrollFlag = 0; } |