diff options
author | Max Horn | 2003-09-11 13:43:30 +0000 |
---|---|---|
committer | Max Horn | 2003-09-11 13:43:30 +0000 |
commit | 41a8905519b421efb0eb5b0776d139322625a2f9 (patch) | |
tree | da083a9767ee2f3f74195c7141644af5d375ad0a /scumm | |
parent | e94a0683aacd2baac7faf76ec99630d04f53ada5 (diff) | |
download | scummvm-rg350-41a8905519b421efb0eb5b0776d139322625a2f9.tar.gz scummvm-rg350-41a8905519b421efb0eb5b0776d139322625a2f9.tar.bz2 scummvm-rg350-41a8905519b421efb0eb5b0776d139322625a2f9.zip |
fix for room-scroll regression in V1/V2 (essentially, we never init the camera y-values, except here, for these games)
svn-id: r10174
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/scummvm.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index c88ff46eca..991fde6f45 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -1948,22 +1948,21 @@ void Scumm::startScene(int room, Actor *a, int objectNr) { else loadRoomObjects(); - if (_version > 2) { - - if (VAR_V6_SCREEN_WIDTH != 0xFF && VAR_V6_SCREEN_HEIGHT != 0xFF) { - VAR(VAR_V6_SCREEN_WIDTH) = _roomWidth; - VAR(VAR_V6_SCREEN_HEIGHT) = _roomHeight; - } - if (_features & GF_NEW_CAMERA) { - VAR(VAR_CAMERA_MIN_Y) = _screenHeight / 2; - VAR(VAR_CAMERA_MAX_Y) = _roomHeight - (_screenHeight / 2); - setCameraAt(_screenWidth / 2, _screenHeight / 2); - } else { - camera._mode = CM_NORMAL; + if (VAR_V6_SCREEN_WIDTH != 0xFF && VAR_V6_SCREEN_HEIGHT != 0xFF) { + VAR(VAR_V6_SCREEN_WIDTH) = _roomWidth; + VAR(VAR_V6_SCREEN_HEIGHT) = _roomHeight; + } + + if (_features & GF_NEW_CAMERA) { + VAR(VAR_CAMERA_MIN_Y) = _screenHeight / 2; + VAR(VAR_CAMERA_MAX_Y) = _roomHeight - (_screenHeight / 2); + setCameraAt(_screenWidth / 2, _screenHeight / 2); + } else { + camera._mode = CM_NORMAL; + if (_version > 2) camera._cur.x = camera._dest.x = _screenWidth / 2; - camera._cur.y = camera._dest.y = _screenHeight / 2; - } + camera._cur.y = camera._dest.y = _screenHeight / 2; } if (_roomResource == 0) |