aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/draw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/draw.cpp')
-rw-r--r--engines/simon/draw.cpp9
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;
}