diff options
author | Paul Gilbert | 2014-11-03 21:51:11 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-12-12 22:22:30 -0500 |
commit | fb686191a813c633d215f06ca2aadbf3ad9c64ac (patch) | |
tree | 9962fe02bf580c6429edc277bad14f74c3c8b00f /engines | |
parent | a7d88af24d0a2c1e37b91f716ad85c8e7eb000c6 (diff) | |
download | scummvm-rg350-fb686191a813c633d215f06ca2aadbf3ad9c64ac.tar.gz scummvm-rg350-fb686191a813c633d215f06ca2aadbf3ad9c64ac.tar.bz2 scummvm-rg350-fb686191a813c633d215f06ca2aadbf3ad9c64ac.zip |
ACCESS: Fix initialisation of Y positioning in rooms with vertical scrolling
Diffstat (limited to 'engines')
-rw-r--r-- | engines/access/room.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/engines/access/room.cpp b/engines/access/room.cpp index 9b830770af..76ad29e21a 100644 --- a/engines/access/room.cpp +++ b/engines/access/room.cpp @@ -267,14 +267,15 @@ void Room::setupRoom() { screen._scrollRow = 0; } else { screen._scrollY = _vm->_player->_rawPlayer.y - - (_vm->_player->_rawPlayer.y >> 4); - int yp = MAX((_vm->_player->_rawPlayer.y >> 4) - + (_vm->_player->_rawPlayer.y / 16) * 16; + int yc = MAX((_vm->_player->_rawPlayer.y >> 4) - (screen._vWindowHeight / 2), 0); - screen._scrollRow = yp; + screen._scrollRow = yc; - yp = yp + screen._vWindowHeight - _playFieldHeight; - if (yp >= 0) { - screen._scrollRow = yp + 1; + yc = yc + screen._vWindowHeight - _playFieldHeight; + if (yc >= 0) { + screen._scrollRow = _playFieldHeight - screen._vWindowHeight; + screen._scrollY = 0; } } } |