aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2003-09-11 13:43:30 +0000
committerMax Horn2003-09-11 13:43:30 +0000
commit41a8905519b421efb0eb5b0776d139322625a2f9 (patch)
treeda083a9767ee2f3f74195c7141644af5d375ad0a /scumm
parente94a0683aacd2baac7faf76ec99630d04f53ada5 (diff)
downloadscummvm-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.cpp27
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)