aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/screen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/screen.cpp')
-rw-r--r--engines/neverhood/screen.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/neverhood/screen.cpp b/engines/neverhood/screen.cpp
index 352e59e9b2..3e57422cea 100644
--- a/engines/neverhood/screen.cpp
+++ b/engines/neverhood/screen.cpp
@@ -114,6 +114,18 @@ uint32 Screen::getNextFrameTime() {
return _vm->_system->getMillis() + waitTicks;
}
+void Screen::saveParams() {
+ _savedSmackerDecoder = _smackerDecoder;
+ _savedFrameDelay = _frameDelay;
+ _savedYOffset = _yOffset;
+}
+
+void Screen::restoreParams() {
+ _smackerDecoder = _savedSmackerDecoder;
+ _frameDelay = _savedFrameDelay;
+ _yOffset = _savedYOffset;
+}
+
void Screen::setFps(int fps) {
_frameDelay = 1000 / fps;
}
@@ -270,16 +282,14 @@ void Screen::drawUnk(const Graphics::Surface *surface, NDrawRect &drawRect, NDra
NDrawRect newDrawRect;
x = sysRect.x;
- if (sysRect.width <= x || -sysRect.width >= x) {
+ if (sysRect.width <= x || -sysRect.width >= x)
x = x % sysRect.width;
- }
if (x < 0)
x += sysRect.width;
y = sysRect.y;
- if (y >= sysRect.height || -sysRect.height >= y) {
+ if (y >= sysRect.height || -sysRect.height >= y)
y = y % sysRect.height;
- }
if (y < 0)
y += sysRect.height;